Guía de usuario — Shell Sentinel
Introducción
Shell Sentinel es una aplicación de terminal que mantiene una sesión SSH/SFTP persistente contra un servidor remoto y ofrece un asistente conversacional que traduce tus instrucciones en acciones seguras y trazables.
Requisitos
- Terminal compatible con color (ideal
xterm-256color). - Python 3.10 o superior.
- Acceso a un servidor con SSH/SFTP habilitado.
Instalación
- Crear entorno virtual:
python3 -m venv .venv
source .venv/bin/activate
- Instalar dependencias:
make install
Configuración de idioma
La aplicación detecta el idioma con SMART_AI_SYS_ADMIN_LOCALE. Si no está
definida, usa el locale del sistema (por defecto inglés).
export SMART_AI_SYS_ADMIN_LOCALE=es # Español
export SMART_AI_SYS_ADMIN_LOCALE=en # Inglés
export SMART_AI_SYS_ADMIN_LOCALE=de # Alemán
Inicio de la aplicación
make run
Aparece una pantalla de bienvenida retro que se cierra sola a los 5 segundos o cuando presionas cualquier tecla.
Interfaz
- Panel principal: muestra la conversación en Markdown.
- Área de entrada: editor multilínea; por defecto envías con
Ctrl+S. - Footer: indica estado SSH, proveedor/modelo activo y si el agente está pensando.
Comandos básicos
Los comandos están disponibles en inglés, español y alemán.
/connect <host> <user> <password|key_path> [puerto]— abre la sesión (puerto 22 por defecto)./disconnect— cierra la conexión activa./help— muestra el resumen de comandos./status— expone el estado del agente, proveedor y modelo./exit— abre el diálogo de confirmación antes de salir.
Uso del asistente IA
Escribe instrucciones en lenguaje natural. Si no es un comando slash, el agente Strands la interpretará. Ejemplos:
Listar los procesos que consumen más CPUSubir /tmp/script.sh a /home/ubuntu/bin/script.sh
El asistente reutiliza la sesión SSH/SFTP para ejecutar comandos o transferir archivos y deja rastro en los logs.
Configuración adicional
-
conf/app_config.jsondefine estilos, mensajes y atajos mediante claves como{{ui.output_panel.title}}, resueltas según el locale. -
Las traducciones viven en
conf/locales/<idioma>/strings.json. Añade nuevas cadenas con_("clave")y crea entradas para cada idioma soportado. -
conf/agent.confcontrola el proveedor LLM, herramientas y timeouts.
Copiaconf/agent.conf.exampleantes de modificarlo.
Si usas LM Studio, arranca el servidor conlms server start; para Cerebras exportaCEREBRAS_API_KEYo defineapi_key_envy aprovecha el SDK oficial con streaming SSE.
Ajustaremote_command.max_output_charspara limitar la salida que verá el agente.
Solución de problemas
- Colores incorrectos: revisa
TERMy cambia axterm-256color. - El asistente no responde: comprueba
conf/agent.conf, credenciales ylogs/app.log. - Mensaje "No hay una conexión SSH activa": ejecuta
/connectantes de pedir acciones remotas.
Recursos adicionales
- Manual de colaboración: políticas clave sobre documentación, localización y ciclos de lanzamiento.
- Visión del producto: arquitectura, stack principal y responsabilidades operativas.