Ciclo de vida
Versionado y restart-to-load
DeskSSH versiona cinco cosas de forma independiente: el Desk, el Contract, el app-runtime, cada app y cada adaptador. Los plugins declaran los rangos que necesitan; el Desk los resuelve al cargar.
Bajo 0.x, un salto minor se trata como potencialmente incompatible — un rango caret como ^0.1.0 no admite 0.2.0. Así que una app fija un rango contract y un rango desk; un adaptador fija un rango contract. Si un empalme no resuelve, el plugin se rechaza con una razón legible en vez de cargar roto.
Los plugins viven en ~/.deskssh/plugins/. Añades o actualizas uno desde Ajustes → Importar y se carga en el siguiente reinicio — un ciclo predecible y auditable, nunca inyección de código en caliente en una sesión en marcha.
~/.deskssh/plugins/
├── adapters/ # .json — OS adapters (declarative)
└── apps/ # .zip — app plugins (bundled)