CLI / TUI / Web
Responsabilité
La couche interfaces est un autre groupe d'entrées vers l'agent (en plus des plateformes de messagerie de la passerelle) : CLI (hermes_cli/, système de sous-commandes en ligne de commande), TUI (ui-tui/, terminal UI en TypeScript + pont Python tui_gateway/), Web (web/, interface navigateur). Les trois envoient l'entrée utilisateur dans le run_conversation de l'agent et restituent la sortie. Ils sont en parallèle de la couche passerelle — la passerelle branche les plateformes externes, la couche interfaces branche l'utilisateur local.
Fichiers clés
CLI
hermes_cli/__init__.py— entrée du package_parser.py— parsing des arguments CLIauth.py/auth_commands.py— authentification (Nous Portal, etc.)active_sessions.py— gestion des sessions activesbackup.py/checkpoints.py— sauvegarde et points de contrôleblueprint_cmd.py— commande blueprintbrowser_connect.py/bundles.py/callbacks.pybanner.py/build_info.py— bannière et infos de build
TUI
ui-tui/README— terminal UI (TypeScript, contient packages/src)ui-tui/package.json— dépendances et scriptstui_gateway/entry.py— entrée de la passerelle TUIserver.py— serveur TUItransport.py/ws.py— transport et WebSocketevent_publisher.py— publication d'événementshost_supervisor.py/compute_host.py— supervision de l'hôteslash_worker.py/synthetic_turn.py/render.py/project_tree.py_stdin_recovery.py— récupération de stdin
Web
web/README— interface navigateurweb/index.html/vite.config.ts— entrée Viteweb/src/— source frontend
Flux de données
- CLI :
hermes <subcommand>→ parsing viahermes_cli/_parser.py→ module de sous-commande (auth/backup/blueprint/…) exécuté ; les commandes de conversation appellent en fin de compteAIAgent.run_conversation:6350. - TUI :
ui-tui/(frontend TS) se connecte par WebSocket àtui_gateway/ws.py,tui_gatewayfait le pont entre les événements du terminal et l'agent (tui_gateway/server.pydétient l'agent), la sortie est repoussée vers le frontend viatui_gateway/event_publisher.py. - Web :
web/(frontend Vite) relie de même l'agent via un backend, rend la conversation et les résultats d'outils. - Les instances d'agent des trois sont assemblées via
init_agent:276, et partagent la même couche capacités.
Résumé
La couche interfaces = trois coquilles (CLI/TUI/Web) + un pont tui_gateway. Elle ne porte pas de logique métier, seulement la forme d'entrée/sortie. En parallèle de la couche passerelle : la passerelle branche les plateformes de messagerie externes, la couche interfaces branche le terminal / navigateur local. ACP (voir ici) branche l'IDE, ce qui complète la « surface de contact ».