CLI / TUI / Web
Responsabilidad
La capa de interfaces es otro grupo de entradas para que el usuario alcance al agent (además de las plataformas de mensajes del gateway): CLI (hermes_cli/, sistema de subcomandos), TUI (ui-tui/, UI de terminal en TypeScript + tui_gateway/ puente en Python), Web (web/, interfaz en navegador). Los tres terminan entregando la entrada del usuario al run_conversation del agent y renderizando su salida de vuelta. Son paralelos a la capa de gateway: el gateway conecta plataformas externas; la capa de interfaces, al usuario local.
Archivos clave
CLI
hermes_cli/__init__.py— entrada del paquete_parser.py— parsing de argumentosauth.py/auth_commands.py— autenticación (Nous Portal, etc.)active_sessions.py— gestión de sesiones activasbackup.py/checkpoints.py— backups y checkpointsblueprint_cmd.py— comando de blueprintsbrowser_connect.py/bundles.py/callbacks.pybanner.py/build_info.py— banner e información de build
TUI
ui-tui/README— UI de terminal (TypeScript, con packages/src)ui-tui/package.json— dependencias y scriptstui_gateway/entry.py— entrada del gateway TUIserver.py— servidor del TUItransport.py/ws.py— transporte y WebSocketevent_publisher.py— publicación de eventoshost_supervisor.py/compute_host.py— supervisión del hostslash_worker.py/synthetic_turn.py/render.py/project_tree.py_stdin_recovery.py— recuperación de stdin
Web
web/README— interfaz en navegadorweb/index.html/vite.config.ts— entrada de Viteweb/src/— código fuente del frontend
Flujo de datos
- CLI:
hermes <subcommand>→hermes_cli/_parser.pyparsea → el módulo del subcomando (auth/backup/blueprint/…) ejecuta; los subcomandos de conversación terminan llamando aAIAgent.run_conversation:6350. - TUI:
ui-tui/(frontend TS) se conecta por WebSocket atui_gateway/ws.py;tui_gatewaypuentea los eventos del terminal al agent (tui_gateway/server.pymantiene el agent) y publica la salida víatui_gateway/event_publisher.pyal frontend. - Web:
web/(frontend Vite) se conecta igualmente al agent por un backend y renderiza la conversación y los resultados de herramientas. - La instancia de agent en los tres casos se ensambla vía
init_agent:276y comparte la misma capa de capacidades.
Resumen
La capa de interfaces = tres carcasas (CLI/TUI/Web) + un puente tui_gateway. No albergan lógica de negocio; solo se ocupan de la forma de entrada/salida. Son paralelas a la capa de gateway: el gateway conecta plataformas externas de mensajes; la capa de interfaces conecta al terminal/navegador local. ACP (ver aquí) conecta el IDE, completando la «superficie de contacto».