Tipo de plugin · .json
Adaptadores — enseña a DeskSSH un nuevo OS
Un adaptador mapea el catálogo de capacidades de DeskSSH a los comandos de una familia de sistema operativo concreta. Es cómo el escritorio llega más allá de los OS que ya conoce.
Un adaptador es un único manifiesto JSON — sin código en el host. Al ser datos puros, cada capacidad es una plantilla de comando declarativa más una regla para parsear la salida en registros. Nunca se ejecuta nada arbitrario en el remoto.
El campo osSupport lista los IDs de os-release que el adaptador soporta (por ejemplo fedora, rhel, centos). Al conectar, DeskSSH elige el adaptador cuyo osSupport coincide con el host y ejecuta tus plantillas por cada capacidad que el usuario dispara.
Deja el archivo en ~/.deskssh/plugins/adapters/, o impórtalo desde Ajustes → Importar. Esa es toda la distribución: un único archivo revisable.
{
"schema": 1,
"kind": "adapter",
"id": "fedora",
"name": "Fedora / RHEL",
"version": "0.1.0",
"author": { "name": "you", "github": "you" },
"license": "AGPL-3.0-or-later",
"contract": "^0.1.0",
"osSupport": ["fedora", "rhel", "centos"],
"capabilities": {
"listServices": {
"template": "systemctl list-units --type=service --all --plain --no-pager",
"normalize": {
"kind": "records",
"columnDelimiter": "\\s+",
"columns": ["unit", "load", "active", "sub", "description"]
}
}
}
} - osSupport
- IDs / familias de os-release que soporta el adaptador, p. ej. ["fedora","rhel"].
- contract
- Rango del Contract (catálogo de capacidades) que implementa, p. ej. ^0.1.0.
- capabilities
- Un mapa capacidad → { template, normalize }. Solo declarativo — nunca una función.
- normalize
- Una spec de records: columnDelimiter + columns que convierten la salida en filas.
Así crece DeskSSH más allá de Debian
El core trae hoy un adaptador para la familia Debian, pero el modelo es abierto: escribe un adaptador para tu distro y DeskSSH la habla — sin tocar el core.