Tipo de plugin · .zip
Apps — añade una ventana al escritorio
Una app es una aplicación empaquetada que aparece en el escritorio como los Archivos, la Terminal o el Monitor integrados. Es un .zip: un manifiesto más un punto de entrada empaquetado.
El manifiesto declara qué es la app y los rangos de versión a los que apunta: un rango contract (qué capacidades necesita) y un rango desk (contra qué app-runtime compila). DeskSSH resuelve ambos al cargar y degrada con elegancia si el adaptador del host carece de una capacidad.
Una app nunca inventa comandos del host. Llama a capacidades del Contract a través del SDK, así que cada acción se mantiene dentro del mismo camino auditado y transparente que el resto del escritorio.
El build empaqueta tu entrada en un solo archivo y arma el .zip; lo importas desde Ajustes → Importar.
{
"schema": 1,
"kind": "app",
"id": "services",
"name": "Services",
"version": "0.1.0",
"author": { "name": "you", "github": "you" },
"license": "AGPL-3.0-or-later",
"contract": "^0.1.0",
"desk": "^0.2.0",
"capabilities": ["listServices", "serviceAction"],
"entry": "index.js",
"icon": "ServerCog",
"category": "system"
} - capabilities
- Capacidades del Contract que usa la app, para degradar en hosts que no las tengan.
- contract
- Rango del Contract que requiere la app, p. ej. ^0.1.0.
- desk
- Rango del app-runtime (SDK) contra el que compila, p. ej. ^0.2.0.
- entry
- El archivo de entrada empaquetado dentro del .zip, p. ej. index.js.