コンテンツにスキップ

Hermes Agent のアーキテクチャ

設定リファレンスは「どの項目をどう設定するか」を引く場所です。この章はその一段下、「なぜそういう作りになっているか」を扱います。アーキテクチャ、つまり全体の骨組みが頭に入ると、個々の設定が「なぜそこにあるのか」が見え、迷ったときに自分で見当をつけられるようになります。

最初に結論を言うと、Hermes Desktopは独立した一個のアプリというより、Hermes Agentという共通のコアに付いた「入り口」のひとつです。この見方を持つだけで、後の章で出てくるセッション共有・ゲートウェイ・実行バックエンドといった話が一本の線でつながります。

中央のHermes Agentコアを囲むように、Desktop App・CLI・TUI・Web Dashboardの4つの入り口が配置され、それぞれが双方向にコアと接続している図

同じコア、四つの入り口

Hermes Agentには、操作するための画面(入り口)が複数あります。Desktop App、CLI、TUI、そしてWeb Dashboardです。見た目も操作感も違うので別々のアプリだと思いがちですが、これらは別のエージェントではありません。設定、APIキー、セッション、スキル、メモリを、同じHermes Agentコアと共有します。

Desktopやリモートクライアントがつなぐバックエンドプロセスそのもの(hermes serve)はWeb UIを持たない純ヘッドレスです(ブラウザー用のWeb Dashboardはhermes dashboardが別途配信します)。コア自体は画面を持たず、DashboardもDesktopと同じ「外付けの入り口」だという図の構造が、実装の上でも明確になっています。

建物にたとえると、正面玄関・通用口・搬入口があっても、入った先は同じ建物です。Desktopは「チャット画面という玄関」、CLIやTUIは「ターミナルという通用口」にあたります。どこから入っても、同じ設定と同じ記憶を持つ同じエージェントに行き着きます。

この「コアを共有する」という一点が、Hermesの設計でいちばん重要な性質です。たとえば次のことが、すべてこの性質から導かれます。

  • ある画面で開始したセッションを、別の画面から再開できる。
  • Desktopで設定したプロバイダーやモデルが、同じ環境のCLIでも効く。
  • スキルやメモリを画面ごとに二重管理しなくてよい。

逆に言えば、設定が画面をまたいで効くのは「親切な同期機能」があるからではなく、そもそも設定の置き場所がコア側に一つしかないからです。同期しているのではなく、共有しているのです。

なぜ入り口を分けてあるのか

同じコアを使うなら入り口は一つでよさそうに見えます。それでも分けてあるのは、向いている用途が違うからです。

入り口向いている用途
Desktop Appチャット、ファイル確認、設定、複数セッションの日常利用
CLI / TUIターミナル中心の操作、自動化、リモート環境
Web Dashboardブラウザーからの管理、リモートバックエンドの管理

Desktopは「応答とツール実行の様子を目で追いながら、複数の会話を行き来する」用途に向きます。一方、決まった処理を定期実行したい、サーバー上で動かしたい、といった自動化・リモート用途ではCLIやTUIのほうが軽快です。

ここで大事なのは、どれか一つを選んで他を捨てる必要がない点です。コアが共通なので、「普段はDesktop、自動化はCLI」のように併用しても、セッションや設定はそのまま引き継がれます。入り口を増やしても管理対象が増えないのは、共有設計の恩恵です。

三つの層 ─ 入り口・接続先・実行場所

ここからがこの章の山場です。Hermesを設定していると「ローカル」という言葉が二か所に出てきて混乱しがちですが、それは別々の層の話だからです。Hermesは大きく三つの層に分けて考えると、設定の地図がはっきりします。

入り口・接続先バックエンド(ゲートウェイ)・実行バックエンドの3層を縦に積み重ねた図。上の層ほど利用者に近く、下の層ほど実際の処理に近い

  • 層1 ─ 入り口: あなたがどの画面で操作するか。Desktop、CLI、TUI、Dashboardのどれか。
  • 層2 ─ 接続先バックエンド(ゲートウェイ): エージェントのコアが「どこで動くか」。自分のMac上か、別マシンか。
  • 層3 ─ 実行バックエンド: エージェントがツール(コマンド実行など)を「どこで走らせるか」。この同じMac上か、コンテナやリモートホストか。

層1は操作する人に近く、層3は実際にコマンドが動く現場に近い。間の層2が、入り口とコアをつなぐ接続の層です。

「ローカル」が指すもの、二つ

三層に分けると、紛らわしい二つの「ローカル」をきれいに区別できます。

ひとつめは、層2のゲートウェイ設定にある「ローカルゲートウェイ」です。これは「Hermesのコア(バックエンド)を自分のMac上で起動する」という意味で、製品の既定です。オフラインでも使えます。デスクトップの接続モードは4種あります。「ローカルゲートウェイ」のほかに、サインインしてアカウント上のエージェントを選ぶだけでつながる「Hermes Cloud」、URLを指定して別マシンやホスト型のバックエンドに接続する「リモートゲートウェイ」、SSH経由でリモートホスト上にHermesを起動してこのアプリにトンネルする「SSH で接続」を選べます。名前は違っても、ゲートウェイの選択はどれも、コアそのものがどこで動くかの選択です。

ふたつめは、層3の実行バックエンドにある「Local」です。これは「エージェントがターミナルコマンドなどを、この実行環境で直接走らせる」という意味で、こちらも既定値です。対になる選択肢にはDocker(コンテナ分離)、Singularity、Modal、Daytona、SSH(リモートホスト)があります。実行バックエンドの選択は、ツールを安全に隔離したいか、どこで動かしたいかの選択です。

整理すると、こうなります。

設定の場所「ローカル」の意味既定
層2 接続先ゲートウェイコアを自分のMacで動かす(オフライン可)ローカルゲートウェイ
層3 実行場所詳細 → 実行バックエンドツールをこの実行環境で直接走らせるLocal

この二つは独立しています。たとえば「コアはローカルで動かしつつ、危険なコマンドだけはDockerコンテナの中で実行する」という組み合わせが成り立ちます。接続はローカルのまま、実行場所だけを隔離するわけです。二つの「ローカル」が別の層の話だと分かっていれば、こうした設定も迷わず読み解けます。

実行バックエンドを変えただけで安全が保証されるわけではありません。ネットワーク、マウント、資格情報、破棄方針もあわせて確認します。隔離の考え方はMCPの概念入門: 安全に使う設定とも地続きです。

セッションを画面でまたげる理由

「Desktopで始めた会話をCLIで続けられる」という挙動は、便利機能のように見えて、実はアーキテクチャの自然な帰結です。

セッションとメモリは、入り口(層1)ではなくコア側に保持されます。だから入り口を変えても、参照する記憶とセッションは同じものです。画面はあくまで窓であって、データの本体はコアにあります。窓を変えても部屋の中身は変わらない、というわけです。

この「データはコアにある」という感覚は、次章のセッション・メモリ・コンテキストでさらに具体的になります。セッション・メモリ・コンテキストがそれぞれ何を保持し、どう流れるかを追うと、共有設計の意味がもう一段はっきりします。

委譲(サブエージェント)もコア側で動く

Hermesは大きな作業を子エージェント(サブエージェント)に分担させる「委譲」の仕組み(delegate_task)を持っています。これも入り口の機能ではなくコア側の機能で、上限やモデルの指定は詳細設定のサブエージェントで行います。この委譲には「見える化」と「耐久化」という二つの工夫があります。

  • ライブトランスクリプト: delegate_taskを起動した直後から、子エージェント1体につき1本の追記専用ログファイルが作られ、そのパスが起動時の応答に含まれて返ります。ツールコール・その結果・ストリーミング返信・思考が1行ずつ記録される人間可読の形式なので、tail -fで「どの子が今なにをしているか」をリアルタイムに観察できます(#67479)。ファイルはcache/delegation/live/<委譲ID>/task-<番号>.logに置かれ、長い内容は行内で省略され、資格情報は書き込み前にマスクされます。保持は7日で、新しい委譲の起動時に古いものが自動削除されます。
  • 耐久バックグラウンド委譲: バックグラウンドで走らせた委譲の完了結果は、コア側のデータベースに「未配送/配送済み」の状態付きで記録され、所有権チェックを通ったセッションにだけ配送されます。実行中にプロセスが再起動しても、未配送の結果は次回起動時に復元されて配送されるため、結果が黙って消えることがありません(#63494)。

どちらも「データの本体はコアにある」という前節の話の延長です。子エージェントの動きは画面ではなくファイルに流れ、完了結果は画面ではなくコア側の台帳に残る。だから入り口を閉じても、プロセスが落ちても、委譲の記録と結果は生き残ります。

このガイドの守備範囲

Hermes Agentは広い世界ですが、このサイトが主に扱うのはDesktop Appの導入・基本操作・画面設定・安全な利用です。CLI固有の高度な運用やサーバー構築は、公式リンク集から公式ドキュメントを参照してください。

アーキテクチャを「同じコアの複数の入り口」「接続先と実行場所という別の層」という二つの軸で押さえておけば、設定画面のどの項目を見ても、それがどの層の話なのかを見分けられます。それがこの章の持ち帰りです。

関連

© 2026 Hermes Desktop ガイド(非公式)。引用・部分転載は、出典として本ページへのリンクを添えていただければ歓迎します。記事全文の無断複製・転載はご遠慮ください。