Skip to content

CLI / TUI / Web

源码版本v2026.7.20

職務

UI 層はユーザーが agent に触れるもう一組の入口(ゲートウェイのメッセージプラットフォーム以外):CLI(hermes_cli/、コマンドラインのサブコマンド体系)、TUI(ui-tui/、TypeScript 端末 UI + tui_gateway/ Python 橋渡し)、Web(web/、ブラウザ UI)。三者とも最終的にユーザー入力を agent の run_conversation に送り、出力を描画し戻す。ゲートウェイ層とは並列——ゲートウェイが外部プラットフォームを、UI 層がローカルユーザーを受け持つ。

主要ファイル

CLI

TUI

Web

データフロー

  1. CLI:hermes <subcommand>hermes_cli/_parser.py が解析 → サブコマンドモジュール(auth/backup/blueprint/...)が実行。対話系コマンドは最終的に AIAgent.run_conversation:6350 を呼ぶ。
  2. TUI:ui-tui/(TS フロントエンド)が WebSocket で tui_gateway/ws.py に接続、tui_gateway が端末イベントを agent に橋渡し(tui_gateway/server.py が agent を保持)。出力は tui_gateway/event_publisher.py でフロントに送られる。
  3. Web:web/(Vite フロントエンド)も同様にバックエンド経由で agent に接続し、対話とツール結果を描画する。
  4. 三者の agent インスタンスはすべて init_agent:276 で組み立てられ、同じ機能層を共有する。

まとめ

UI 層 = 三つの殻(CLI/TUI/Web)+ 一つの tui_gateway 橋渡し。業務を持たず、入出力の形だけを担う。ゲートウェイ層と並列:ゲートウェイは外部メッセージプラットフォーム、UI 層はローカル端末/ブラウザを受け持つ。ACP(参照)は IDE を受け持ち、完全な「触達面」を構成する。

非公式コミュニティ学習サイト。MIT ライセンスの NousResearch/hermes-agent ソースに基づく。