Hermes Agent:実践者向けリファレンス(2026年版)
# Nous Researchが開発するオープンソースの自己改善型AIエージェント「Hermes Agent」の実践者向けリファレンスです。プロバイダー認証、設定ファイル、スキルシステム、マルチプラットフォーム対応メッセージングゲートウェイとしての運用方法を解説します。
要点: Hermes Agentは、Nous Researchが開発したオープンソースの自己改善型AIエージェントです。CLIおよびマルチプラットフォーム対応のメッセージングgatewayとして動作し、永続的なアイデンティティとメモリをディスクに保存します。使用を重ねるほど改善されるskillを集約し、Nous Portal、OpenRouter、Anthropic、GitHub Copilot、z.ai、Kimi、MiniMax、DeepSeek、Qwen Cloud、Hugging Face、Google、xAI/SuperGrok、独自のセルフホスト型エンドポイントなど、OpenAI互換のあらゆるLLMプロバイダーに対応しています。1219 現在のリリースはv0.21.5(タグ
v2026.9.24、2026年9月24日)で、v0.21系の変更をまとめたパッチです。変更内容は「v0.21.5の新機能」で説明しており、それ以降のリリースセクションは新しいものから順に並んでいます。52 多くの新規ユーザーにとって最も難しいのは、プロバイダー認証です。タグv2026.9.24時点で、Hermesの静的な選択リストには39のプロバイダーが含まれています。さらに、同梱されている38個のプロバイダープラグインとカスタムエンドポイントによって、このリストが自動的に拡張されます。認証経路は3種類あり、.env内のAPIキー、hermes modelによるOAuth、またはconfig.yaml内のカスタムエンドポイントです。53 まず理解すべきなのは認証モデルです。それ以外のすべては、どのプロバイダーが解決されるかによって決まります。
Hermes Agentはチャットラッパーではなく、完全なエージェントランタイムとして動作します。 ファイルシステムの読み取り、サンドボックス化されたバックエンドでのコマンド実行、Webスクレイピング、サブエージェントの起動、スケジュールされたcronジョブの実行に対応しています。また、単一のgatewayプロセスからTelegram/Discord/Slack/WhatsApp/Signal/Emailと通信し、経験をもとに独自のskillを作成します。1 CLIは、run_agent.pyの会話ループ上に構築されたターミナルUIです。gatewayは、メッセージングプラットフォームからのメッセージを同じ会話ループへ振り分ける常駐プロセスです。3
Hermesを使いこなせるかどうかは、次の5つのシステムを理解しているかで決まります。 これらを習得すれば、Hermesは大きな力を発揮します。
- プロバイダーの解決:認証フローがAPI呼び出しにどのように対応するか
- 設定の階層:
config.yaml+.env+auth.json+SOUL.md+AGENTS.md - ツールとtoolsetのシステム:エージェントに何ができるか、プラットフォームごとにどう制限されるか
- Skillsシステム:エージェントが作成し、進化させる手続き的メモリ
- Gateway、cron、profile:その場限りではなく、普段使っている環境でHermesを動かす仕組み
重要なポイント
- プロバイダー認証には、1つではなく3つの経路があります。
.env内のAPIキー、hermes model/hermes authによるOAuth、またはconfig.yaml内のカスタムエンドポイントです。慣れ親しんだ方法ではなく、プロバイダーに合った経路を選びましょう。 - プロバイダーの切り替えは、1つのコマンドで完了します。
hermes modelでは、OAuthログインを含む対応済みの全プロバイダーを対話形式で設定できます。また、/model provider:modelを使えば、履歴を失わずにセッション途中で切り替えられます。2 - ユーザーが編集する設定ファイルは2つです。
~/.hermes/config.yamlには設定、~/.hermes/.envにはシークレットを保存します。auth.json、SOUL.md、MEMORY.md、skills/はHermesが直接管理します。SOUL.mdは手作業でも編集できますが、それ以外はエージェント自身が操作します。4 - HermesはOpenClawの後継です。 移行する場合は、
hermes claw migrateによって30以上のカテゴリの状態を自動的にインポートできます。5 - 補助タスクには、デフォルトでメインモデルが使われます。 ビジョン、承認の分類、圧縮、セッションタイトルは、それぞれ独立した「補助」LLM呼び出しとして実行されます。このタグでは、
autoによってすべてがメインのチャットモデルに振り分けられます。設定は不要ですが、高価な推論モデルでは、こうした副次的なタスクにも無視できないコストがかかります。必要に応じて、個々のauxiliary.<task>スロットに安価で高速なモデルを指定しましょう。434
以下の各セクションは、hermes-agent.nousresearch.com/docsの公式ドキュメントと、github.com/NousResearch/hermes-agentのソースツリーに基づいています。すべての事実には、出典となる具体的な公式ページを示す脚注が付いています。
目的別ガイド
| やりたいこと | 参照先 |
|---|---|
| Hermesをインストールする | インストール — 1行のインストーラーまたは手動の手順 |
| プロバイダーにサインインする | 認証とプロバイダー — このガイドの中心となるセクション |
| セッション途中でモデルを切り替える | /modelの構文については、hermes authコマンドとカスタムおよびセルフホスト型エンドポイントをご覧ください |
| ローカルのLLMを実行する | カスタムおよびセルフホスト型エンドポイント — Ollama、vLLM、SGLang、llama.cpp、LM Studio |
| メッセージングプラットフォームに接続する | メッセージングGateway — Telegram、Discord、Slack、WhatsApp、Signal、Google Chat、LINE、SimpleX Chat、ntfy、Buzz(ドキュメントの比較表では28種類) |
| skillを作成またはインストールする | Skillsシステム — 段階的な情報開示とskillハブ |
| すべてのCLIコマンドを詳しく調べる | このまま読み進めるか、CLIコマンドへ直接移動してください |
Hermes の仕組み:メンタルモデル
Hermes は、どのエントリーポイントからでも呼び出せる単一の会話ループを中心に構成されています。エントリーポイントには、CLI(cli.py)、メッセージング gateway(gateway/run.py)、エディター統合用の ACP アダプター、バッチランナー、API サーバーがあります。3 これらは最終的にすべて、run_agent.py の AIAgent.run_conversation() を呼び出します。このメソッドは次の処理を行います。
agent/prompt_builder.pyを介して、SOUL.md、MEMORY.md、USER.md、skill、コンテキストファイル、ツールのガイダンスからシステムプロンプトを構築します(2026年9月の分割により、新しいagent/パッケージへ移動しました)3runtime_provider.pyを介してランタイムプロバイダーを決定します。この段階で認証、ベース URL、API モードが選択されます3chat_completions、codex_responses、anthropic_messagesの3つの API モードのいずれかを使用してプロバイダーを呼び出します3- 返されたツール呼び出しを、
model_tools.pyと中央ツールレジストリ(tools/registry.py)を介してディスパッチします3 - モデルが最終応答を生成するまでループし、その後セッションを FTS5 対応の SQLite に永続化します3
このループを理解することが重要なのは、personality、メモリ、skill、圧縮、フォールバックといったすべての機能が、いずれかの段階に結び付いているためです。設定キーを見て「これは何をするものだろう」と思ったら、たいていは「上記ループの第1、第2、第3、第4段階のいずれかを調整するもの」と考えればよいでしょう。
プラットフォームに依存しないコア。 1つの AIAgent クラスが、CLI、gateway、ACP、バッチ、API サーバーを担います。プラットフォームごとの差異はエージェント自体ではなく、エントリーポイント側にあります。3 ターミナルと Telegram で同じスラッシュコマンドを使えるのはこのためです。コマンドは hermes_cli/commands.py の共有 COMMAND_REGISTRY からディスパッチされます。6
ディレクトリ構造がそのままシステムです。 Hermes はすべてを ~/.hermes/(デフォルト以外の profile では $HERMES_HOME)以下に保存します。4
~/.hermes/
├── config.yaml # Settings (model, terminal, TTS, compression, etc.)
├── .env # API keys and secrets
├── auth.json # OAuth provider credentials (Nous Portal, Codex, Anthropic)
├── SOUL.md # Primary agent identity (slot #1 in system prompt)
├── memories/ # Persistent memory (MEMORY.md, USER.md)
├── skills/ # Bundled + agent-created + hub-installed skills
├── cron/ # Scheduled jobs
├── sessions/ # Gateway session state
└── logs/ # agent.log, gateway.log, errors.log (secrets auto-redacted)
上記の各ファイルには固有の役割があり、重複はありません。「Hermes は X をどこに保存するのか」を知りたい場合、答えはこの中のいずれかです。
v0.21.5 の新機能(9月24日ロールアップ)
Hermes Agent v0.21.5(タグ v2026.9.24、2026年9月24日)は現在のリリースであり、v0.21.x 系列で3つ目となる小規模なロールアップです。「このタグは、v0.21.4 以降にマージされた約460件の PR を、下流の利用者向けに安定版のタグ付きリリースとしてまとめたものです」。厳選されたリリースノートは、今回も v0.22.0 まで延期されています。タグ時点のソースで確認した、運用者向けの変更点は次のとおりです。5253
- Hindsight メモリがコアツリーから分離されました。 同梱されていた Hindsight プロバイダーと
hermes-agent[hindsight]pip extra は削除されました。Hindsight は今後、Vectorize が管理するプラグインカタログからインストールしますが、リリースノートにはこの変更が記載されていません。設定でmemory.provider: hindsightを指定している場合、hermes updateは、その指定を含むすべての profile ホームへカタログのプラグインをインストールします。それでも見つからなければ、エージェントの初回起動時にインストールされます。ただし、security.allow_lazy_installsがfalseの場合は、hermes plugins install hindsightを実行してください。設定、.envキー、メモリデータは変更されません。外部メモリプロバイダーをご覧ください。 gateway.multiplex_profiles: falseは廃止されました。 gateway はこの設定をその場でtrueに書き換え、枠付きの通知を一度だけ表示します。独自の gateway を維持する必要がある名前付き profile では、そのconfig.yamlにgateway.standalone: trueを設定します。ホストを停止せず、提供中の profile を1つだけオフラインにするには、hermes -p <name> gateway stopを実行すると、その profile を待機状態にできます。メッセージング Gatewayをご覧ください。- Nous と OpenRouter の選択画面に新しいモデルが追加されました: GPT-6 Sol と GPT-6 Luna(それぞれ
-proバリアントあり)、および Claude Opus 5.5 です。 - プラグインの互換性に変更はありません:
plugins.allow_deprecated_imports: trueは引き続き機能します。
更新方法:hermes update またはインストーラーのワンライナーを使用します。Docker と Hermes Cloud のイメージは nousresearch/hermes-agent:v2026.9.24 からビルドされます。52
v0.21.4の新機能(第2次ロールアップパッチ)
Hermes Agent v0.21.4(タグ v2026.9.21、2026年9月21日)は、v0.21.x系で意図的に内容を絞った第2次ロールアップです。リリース自身の説明では、「パッチリリース。このタグでは、v0.21.3以降にマージされた約1,800件のPRを、ダウンストリーム利用者(Dockerイメージ、Hermes Cloud、ホスト型デプロイ)向けの安定版タグ付きリリースとしてまとめています」。v0.21.3以降の期間には、「5,169個の変更ファイル」にわたる「5,071件の非マージコミット」、「1,812件のマージ済みPR」、「2,116件のクローズ済みissue」が含まれます。コミット数では、v0.21.1の5,139件に次いでプロジェクト史上2番目に大きなタグ間期間であり、マージ済みPR数では過去最大です。整理された全体像は今回も先送りされており、原文どおり、「この期間の完全に整理されたリリースノートはv0.22.0で公開され、v0.21.0以降のすべてを記録します」および「この期間の内容は何も省略されません」と説明されています。今回のノートには未記載とする項目も列挙されており、以下の各項目はタグ時点のソースで確認済みです。このガイドの既存セクションに影響する項目には、行内に参照先を示しています。5051
- ホストごとにgatewayは1つだけとなり、Desktopは再生成せずに接続します。 OSユーザーごと、ホストごとに実行できるのは1つの
hermes serveと1つのhermes gateway runで、それぞれがすべてのprofileを多重化するという方針です。これは、新しいホスト全体のシングルトン層によって強制されます。先に起動したプロセスが稼働中ずっと保持するホストロックと、(pid, createTime)を格納するランデブーレコードを組み合わせることで、2回目の起動時に所有者が同一の稼働中プロセスであることを確認し、別のポートをバインドせず接続できます。古い状態かどうかは推測せず必ず検証されます。Desktopアプリ側も同じ仕組みを利用し、2つ目のバックエンドを生成するのではなく、ホスト上で稼働中のバックエンドへ接続します。仕組みの詳細はメッセージングgatewayで説明しています。51 - コネクターがバックエンド所有の単一操作となり、セットアップカードも統一されます。
manage_connectionsツール呼び出しによって、バックエンド上の純粋なデータとして構成された接続状態マシンが動作します。Desktop、TUI、CLIでは、いずれも同じセットアップカードとして表示されます。不足している認証情報ごとにフィールドが用意され、必須フィールドすべてにテキストが入力されるまで、カードのアクションは実行できません。Nous無料枠のサブセクションをご覧ください。51 --format stream-json:機械可読なワンショット実行。hermes chat -q ... --format stream-jsonは、CIランナーやオーケストレーター向けに、stdoutの各行へ1つのJSONオブジェクトを出力します。最初にsystem/initイベント、続いてtext差分/tool_use/tool_resultイベント、最後に終了コード、最終テキスト、トークン統計を格納した終端のresultエンベロープが出力されます。診断情報とセッションIDはstderrに残り、ツール出力はイベントごとに5,000文字までに制限されます。このフラグは--quietを暗黙的に有効化し、-qまたは--query-fileが必須で(指定がない場合は終了コード2)、--tuiとは併用できません。hermes chatのオプション表にこのフラグを掲載しています。51skills.auto_loadによってskillをすべてのセッションへ固定できます。config.yamlのskills.auto_loadに列挙した名前は、CLI、TUI、gateway、cron、APIのいずれでも、新しいセッションごとに完全な形で読み込まれます。解決処理は、プロンプトが最初に構築される際に一度だけ行われます。Skills Systemには「固定されたSkills」のサブセクションが追加されています。51- 未承認DM向けの
declineオプション。unauthorized_dm_behaviorに、pairとignoreに続く3つ目の値としてdeclineが追加されました。丁寧な拒否メッセージを1度送信した後、その送信者に対して24時間応答しません。ユーザー認証とペアリングをご覧ください。51 mcp.discovery_concurrencyでMCP検出時の同時接続数を制限できます。 デフォルトは4で、0は無制限を意味します。設定済みのサーバーには引き続きすべて接続しますが、一斉には接続しなくなります。MCP連携をご覧ください。51session_searchに期間指定と再検索機能が追加されます。 検出の入力形式でafter/beforeの範囲を指定できるようになりました(ISO形式、または7dのような相対期間)。また、複数語のクエリで結果が0件だった場合、FTS5で暗黙的にすべての語をAND検索する代わりに、いずれかの語に一致する条件で再検索します。セッション検索をご覧ください。51hermes sessions set-journal-mode delete|wal:オフラインのジャーナル変換ツール。 SQLiteのジャーナルモードが誤った状態で固定されたstate.dbを自分で修復できる手段です。これまではPRAGMA journal_mode=DELETEを手動で実行する必要がありました。まずgateway、dashboard、およびすべてのCLIを停止してください。別のプロセスがデータベースを保持している間は処理を拒否し、開いているプロセスが終了するのを待たずにモードを切り替え、その後SQLiteヘッダーのバイト列を検証します。Windowsには保持プロセスのスキャン機能がないため、すべてのHermesプロセスを自分で停止して--forceを指定するまで処理を拒否します。hermes doctorからもこのコマンドが案内されるようになりました。トップレベルコマンドのhermes sessions行に記載しています。51- Desktop:フォント設定、ワンクリックのエンジン更新、プラグインのアンインストール。 設定にフォントファミリーのフィールドが追加され、profileごとに
desktop.font_familyとして保存されます。チャットとUI全体でテーマのサンセリフ書体を上書きでき、候補リストの先頭にはアクセシビリティに配慮した書体(OpenDyslexic、Atkinson Hyperlegible、Lexend)が並びます。空欄の場合はテーマ側の指定が使われます。管理対象のローカルモデルランタイムでは、更新がある場合に「Update engine」ボタンが表示されます。更新に失敗した場合もボタンは表示されたままとなり、直接再試行できます。また、Pluginsハブでは確認ダイアログを経てプラグインをアンインストールできます。51 - 動画カタログ:LTX 2.5とKling O3。 FAL動画プラグインに
ltx-2.5(Lightricksのオープンソース音声・動画モデル:ネイティブ音声、最大20秒/4Kの画像から動画への変換、カメラモーションのプリセット、低価格帯。ただしfalでは1440p/2160pで10秒を超えるクリップは拒否されます)とkling-o3(Kuaishouの最先端モデルファミリー、プレミアム価格帯:ネイティブな複数ショットのストーリーテリング、オプション音声、3~15秒)が追加されました。51 - プラグインカタログが同梱ディレクトリとなり、Webサイトでも公開されます。 リポジトリの
plugin-catalog/ディレクトリは、v2026.9.14時点の9件から、このタグでは228件まで増えました。プラグインごとにレビュー済みのYAMLが1つあり、正確なコミットSHAに固定されています。ドキュメントサイトでは、プラグインごと、作者ごとのページも生成され、それぞれに固定コミットのREADMEが表示されます。リリースで紹介された10件のコミュニティプラグインは、タグ時点ですべてカタログに収録されています。詳細はプラグインシステムで説明しています。51 - さらに大規模な修正が、profile/多重化の分離、cron、カンバン、Desktop、
state.dbにわたって行われました。リリースではカテゴリ名のみが示されており、これらの修正を整理した記録はv0.22.0で公開される予定です。50
この期間にも、プラグイン互換機能のrevertはまだ反映されていません。 COMPAT_MANIFEST.md、compat_manifest.json、互換shimはいずれも v2026.9.21 に残っています。この期間における hermes_cli/plugin_compat.py の変更は、プロセス全体で共有するスキャンキャッシュ(多重化gatewayは提供対象のprofileごとにプラグインを検出しますが、全プラグインのソースを毎回再解析すると起動経路でprofileあたり約0.4秒かかっていました)と、WindowsでのPOSIX形式の一致パス(#112576)のみです。日付ゲートとリテラルの真偽値による回避手段は変更されていないため、plugins.allow_deprecated_imports: true を指定すれば、影響を受けるプラグインを引き続き読み込めます。プラグインシステムの互換性に関する囲みで、現在の状態を説明しています。42
更新方法は変わりません。gitインストールでは hermes update、新規インストールではシェルインストーラーを使用します。DockerとHermes Cloudのイメージはこのタグからビルドされます(nousresearch/hermes-agent:v2026.9.21)。50
v0.21.3の新機能(9月14日パッチ)
Hermes Agent v0.21.3(タグ v2026.9.14、2026年9月14日)は、main のさらに3日分を2項目のノートにまとめたものです。Cloudエージェントは最新のリリースタグへ自動更新され、それらへ接続するにはリモートgatewayのサインイン修正が必要だったため、このタイミングでリリースされました。(1)リモートdashboardのセッションが、更新要求の集中によって失効しなくなりました。gateway上の2つの更新経路(CookieゲートとDesktopのネイティブBearer経路)は、同じローテーション式refresh tokenを持つ同時リクエストを単一の処理へまとめるようになりました。これにより、Desktopの復帰時に要求が集中しても、すでにローテーション済みのトークンがPortalの再利用検出へ再送され、セッション全体が失効することはありません。また、更新処理はイベントループの外で実行されるため、IDプロバイダーが遅くても /api/status が停止しなくなりました。(2)長時間稼働するプロセスで、state.db の書き込みハンドルが重複して作成されなくなりました。gateway、dashboard/Desktopバックエンド、ACP、CLIの読み取り処理は読み取り専用で接続し、同一プロセス内の書き込み処理はレジストリのハンドルを共有します。この期間の統計は、「2,642個の変更ファイル」にわたる「1,036件の非マージコミット」と「338件のマージ済みPR」です。それ以外は意図的に先送りされています。リリースでは、今回記載しない項目(すべてのモデル選択画面における推論エフォート選択、OpenRouter OAuth PKCE、HEIF/HEIC/AVIFのデコード、FALカタログの大量追加、Slackで貼り付けられた表とAgent Sessions API、VM間ファイルシステム上での state.db のWAL拒否など)を明示したうえで、整理された記録について原文どおり、「この期間の完全に整理されたリリースノートはv0.22.0で公開され、v0.21.0以降のすべてを記録します」および「この期間の内容は何も省略されません」と約束しています。49
そして、プラグイン互換機能の期限は予定どおり到来しました。 v0.21.1で予告された2026年9月14日の削除は、コードのrevertではなく、同梱コードの日付ゲートとして発効しました。タグ v2026.9.14 の hermes_cli/plugin_compat.py には COMPAT_REMOVAL_DATE = 2026-09-14 があり、removal_in_effect() はその日以降(またはマニフェストファイルがなくなった時点)にtrueを返します。そのため、影響を受ける外部プラグインは読み込み時に無効化され、赤い通知が表示されます。まだ実施されていないのは、古いインポートパスを実際に削除するrevertです。COMPAT_MANIFEST.md、compat_manifest.json、互換shimはいずれもタグ時点で残っており、v2026.9.21 および9月22日時点の main にも存在します。そのため、plugins.allow_deprecated_imports: true は現在も回避手段として機能します。ローダーによる処理が許可されれば、古いパスを引き続き解決できるからです。注意点は2つあります。このキーにはリテラルのYAML真偽値を指定する必要があります(コードが受け付けるのは真偽値の True のみです。"true" や "false" のような引用符付き文字列は、ソースコメントの「Literal boolean only」のとおり未設定として扱われます)。また、revertが反映されるとパス自体が消えるため、この回避手段もその時点で使えなくなります。プラグインシステムの互換性に関する囲みで、現在の状態を説明しています。4249
v0.21.2 の新機能(state.db パッチリリース)
Hermes Agent v0.21.2(タグ v2026.9.11、2026年9月11日)は、何よりもまず v0.21.0 で壊れたものを修正するためのリリースです。リリースノートでは率直にこう説明しています。「v0.21.0 ではセッションストアの接続処理を大幅に書き換えましたが、一部の環境では state.db が不安定になりました。複数の書き込み元が互いのロックを解除し、正常なデータベースが破損していると報告され、1件の不正な行によって sessions list 全体が失敗していました。このリリースでは、そうした一連の問題を解消するとともに、v0.21.1 以降の4日間に main へ加わった変更をすべて取り込んでいます」。意図的に簡素だった v0.21.1 のリリースノートとは異なり、今回は主要な変更点も記載されています。この期間には「947件の非マージコミット」、「1,869件の変更ファイル」、「140人のコントリビューター」による「312件のマージ済み PR」があり、v0.21.x 全体の厳選された記録は引き続き v0.22.0 でまとめられる予定です。48
- state.db の信頼性向上キャンペーン:6件の PR で44件の問題を解決。 リリースでは運用者向けの助言が最初に示されており、ここでも同じ対応を推奨します。0.21.0 または 0.21.1 で
state.dbが壊れた場合は、hermes doctorを実行してください。構造的な破損と全文検索インデックスの破損を区別して報告するようになり、すべてを「FTS 書き込み破損」とは扱いません。再構築だけでは不十分な場合には、hermes sessions recover --inspect-only(オフライン、非破壊、profile 固定。出力データベースを作成せず、正規テーブルを読み取れるか報告します)も案内されます。根本原因への対処として、ストアに対する2つ目以降の書き込み元はすべて排除されました。profile gateway はホストされたルームの状態を5秒ごとにルートのstate.dbへ書き込んでいましたが、この連携処理は専用のshared-state.dbに移されました。そのため、profile gateway がマスターのセッションストアを書き込み可能な状態で開くことはありません。dashboard は最初に読み取り専用で開きます。cron のライフサイクルガードは、使用中のデータベースに対する生のopen()ではなく、追跡対象の接続レジストリを経由するようになりました(使用中のデータベースを直接開くと gateway の POSIX ロックが解除されるため、SQLite を破損させる典型的な原因となります)。また、doctor --fixは安全性を証明できない checkpoint を拒否します。書き込み元以外にも改善があります。FTS インデックスが破損した場合、ターン全体を失敗させるのではなく検索機能を縮退させ、後からインデックスを再構築します。1件の破損行によってsessions list、エクスポート、insights の全体が失敗することもなくなり、不正な行は該当セッションを示す警告とともに?として表示されます。セッションが別の profile のデータベースにバインドされたり、そこから読み取ったりすることもありません。さらに、読み取り専用で開く際に書き込みロックを取得しなくなったため、稼働中の gateway の背後で単発のhermesを実行した場合、従来は4〜20秒待機した末に失敗していましたが、現在は0.01秒で完了します。48 - 複数 profile の分離を強化。 v0.19.0 以降、このガイドでは、profile ルーティングによって各 profile の「設定、skills、メモリ、シークレットが完全に分離される」というプロジェクトの主張を繰り返し紹介してきました。しかし v0.21.2 より前には抜け穴があり、今回それらが解消されました。セカンダリ profile の bot がデフォルト profile の許可リストを継承する、アダプターがデフォルト profile のホストへ認証情報を送信できる、stdio MCP サーバーがデフォルト profile の保管庫にあるシークレットを受け取る、
MEDIA:配信で別の profile の.env、auth.json、state.dbを添付できる、webhook と Feishu のコールバックがルーティング先の profile から外れる、セカンダリ profile がプロセス単位のメモから別 profile の Nous bearer を取得する、といった問題です(#107609〜#107630)。1つの多重化された gateway で複数の profile を運用している場合、このリリースでようやく分離に関する主張が実態に即したものとなりました。48 - パスワードを認識しない認証情報保管庫。 エージェントはシークレットを一切見ることなく、1Password、Bitwarden、またはローカルの Hermes 保管庫を使って、ブラウザーでのサインイン、支払い、住所入力を行えるようになりました。2要素認証コードは、保存済みの認証キー(TOTP:base32 シードまたは
otpauth://totpURI。カウンターベースの HOTP は拒否されます)から取得するか、UI を通じて入力を求めます。どのバックエンドも、ログインメタデータと、不透明な名前空間付きハンドル(ローカルではvault_、そのほかはop:、bw:)という同一形式の情報をエージェントへ渡します。パスワードは入力時にのみ解決されます。外部マネージャーはセッション中にロックを解除するまでロックされたままであり、マスターパスワードは「ツールの引数にも、argv にもならず、永続化もされません」。これは、provider の API キーを平文の.envから除外した v0.19.0 のSecretSourceの取り組みを発展させたものです。保管庫によって、エージェントがブラウザーで使用する認証情報も同様に保護されるようになりました。48 - 厳選され、SHA で固定されたプラグインカタログ。
hermes plugins browseでは「厳選されたプラグインカタログの全エントリ」を一覧表示し、hermes plugins searchではカタログを検索できます。hermes plugins installは、Git URL やowner/repoに加えてカタログ名も解決します。さらにhermes plugins packにより、「宣言的で共有可能なプラグインセット」が加わりました。1つのhermes-pack.yamlで一連のプラグインを正確なコミット SHA に固定し、pack installでは通常の固定バージョンのインストールへ展開されます。機能への同意はプラグインごとに維持されます。pack exportでは現在のインストール内容から pack を出力し、pack showではドライランを実行できます。プラグインシステムのコマンドブロックに、新しいサブコマンドを掲載しています。48 - Nous の無料枠とガイド付き初回起動。 新規インストールでは、1つのコマンドでサインインすると、無料の推論機能とコネクターをすぐに利用できます。チャット内から
/loginを実行でき、コネクターツール(Gmail、Linear、Notion など)はtool_searchで検索できます。デスクトップ版のガイド付き初回起動はHERMES_GUEST_ONBOARDING=1で有効になり、値が文字どおり1の場合にのみ動作します。デスクトップ版のテストでも、'true'、'0'、空の値ではいずれも無効のままであることが確認されています。また、起動時の判定結果は生成されたバックエンドの環境に書き込まれるため、継承された値が紛れ込むことはありません。Nous Tool Gatewayをご覧ください。48 - デスクトップバックエンドの大量生成を解消。 以前の Bot Mode では、起動時と roster の更新時に profile ごとにバックエンドを生成または接続し、Bots roster にカーソルを合わせるだけで各行にバックエンドが生成され、profile の切り替え時にはプライマリが重複して生成されることもありました。この期間に、これらはすべて修正されています。48
更新方法に変更はありません。既存のインストールでは hermes update、新規インストールではシェルインストーラーを使用します。48
v0.21.1 の新機能(ロールアップパッチ)
Hermes Agent v0.21.1(タグ v2026.9.7、2026年9月7日)は、意図的に簡潔なリリースです。「タグ付きデプロイと下流の利用者向けに、v0.21.0 以降の現在の main をまとめた」「パッチリリース」と位置づけられています。本文には、この期間の統計として「変更された4,364ファイルにわたる、マージを除く5,139コミット(+601,014 / -768,419)」と「マージされた632件の PR」が記載されていますが、詳細は先送りされています。「この期間の完全な精選リリースノートは v0.22.0 で公開されます」。これはプロジェクト史上最大の単一タグ間期間です(それ以前に隣接するタグ間で最大だった v2026.7.20..v2026.7.30 のマージを除く2,790コミットを上回ります)が、最も短いリリースノートで公開されました。v0.22.0 で精選された記録がまとめられるまで、該当タグでの Hermes の運用方法を変えるポイントは以下の6つです。いずれもソースで検証しています。41
- コードベースが分割され、プラグイン互換性の猶予期間は9月14日に終了しました。 2026年9月の分割(PR #102117)により、リポジトリの大規模なモジュールが役割別のファイルへ分けられました。新しい
agent/パッケージには会話ループの内部実装が収められています(トップレベルモジュール214個と7つのサブパッケージ。prompt_builder.pyは現在agent/prompt_builder.pyにあり、run_agent.pyは引き続きAIAgentの本体です)。CLI のサブコマンドパーサーはhermes_cli/subcommands/パッケージ(61モジュール)へ移動しました。静的なCANONICAL_PROVIDERSリストはhermes_cli/models.pyからhermes_cli/models_catalog_static.pyへ移動しています(リスト自体は変更されておらず、静的な39エントリに加え、同梱されている39個のプロバイダープラグインディレクトリから引き続き自動拡張されます)。また、delegate_taskは約12個のtools/delegate_tool_*モジュールに分割されました。内部インポートパスは安定した API ではないため、リポジトリルートに新設されたCOMPAT_MANIFEST.mdが、移動した1,148個の「moved-lazy」公開名を以前のモジュールパスから再エクスポートします。名前が解決されると、プロセス内で名前ごとに一度だけHermesPluginCompatWarningが発生します。この互換レイヤーは一時的なもので、タグ公開から6日後の2026年9月14日に予定どおり無効化されました。コードの巻き戻しではなく、出荷済みコードにあらかじめ組み込まれていた日付ゲートによるものです。その日以降、影響を受けるサードパーティ製プラグインは読み込まれません。CLI のバナー、hermes doctor、hermes updateには無効化されたプラグイン名を示す赤い通知が表示され、デスクトップでは一度だけモーダルが表示されます。hermes plugins listでは理由を確認できます。外部プラグインを使用している場合は確認してください。hermes plugins compat <path>を実行すると、古いパス -> 新しいパスの対応がすべてfile:line形式で表示され、未対応箇所が1つでも残っていれば終了コード1を返します(機械可読な出力には--jsonを使用できます。引数なしで実行すると、インストール済みの全プラグインをスキャンします)。作者の対応が間に合っていないプラグイン向けの回避策として、config.yamlにplugins.allow_deprecated_imports: trueを設定できます。この方法は現在も有効です。古いインポートパスを実際に削除する変更は9月22日時点でもまだ取り込まれておらず(タグv2026.9.21とmainで確認済み)、ローダーの処理を許可すれば古いパスは引き続き解決されます。その後の詳細については、上記の v0.21.2 の新機能をご覧ください。プラグインシステムのセクションには、現在の状態を示すボックスがあります。42 - Gateway の会話は、タイマーでは一切ローテーションされなくなりました。 セッションライフサイクルのドキュメントには、現在の仕様が明記されています。「非アクティブ時間や経過時間によって会話がローテーションされることはありません。
/newと/resetは明示的な境界を作成し、長い履歴は引き続きコンテキスト圧縮によって管理されます。従来のタイマー設定は無視されます。既存のSessionResetPolicyデータ型は互換性のためだけに残された不活性なデータであり、実行時ポリシーではありません」。境界は明示的にユーザーが作成するものです。OpenClaw 時代のセッションリセットタイマーをhermes claw migrateで引き継いでいても、現在は不活性なデータになっています。メッセージング Gatewayをご覧ください。43 - MCP 認証にデバイスコード方式が追加されました。
hermes mcp login <name>に--flow {browser,device}が追加されています。browserは従来の PKCE フロー、deviceはブラウザのコールバックが現実的でないマシン向けの RFC 8628 デバイスコードログインです。このフラグはサーバーのoauth.flow設定より優先されます。この期間には、MCP 認証全体も強化されました。OAuth セッションのあらゆる箇所で profile の所有権が検証されるようになり、不正な OAuth メタデータキャッシュはサーバーを停止させるのではなく無視されます。また、デスクトップはクライアントローカルのコールバックを通じて MCP OAuth を中継します。関連する変更として、-t/--toolsetsは、設定済みの MCP サーバーのうち実際に起動するものも絞り込むようになりました。そのため、単発のhermes -z -t <toolsets>実行では、不要なサーバーのコールドスタートが省略されます。MCP 連携のコマンドブロックには、loginとreauth [--all]も掲載されるようになりました。どちらもこの期間より前から存在していましたが、ここでは未文書化でした。44 - バックグラウンド処理を正確に扱えるよう、Delegation が改善されました。 以下は、該当タグの delegate ツールのソースから確認した
delegate_taskの6つの信頼性向上です。(1)バックグラウンドバッチは、デフォルトで1つの完了結果として返されます。delegation.independent_completionsを有効にすると、呼び出しが複数の完了単位に分割されます。同じgroup値を持つタスクはまとめて報告され、グループ化されていない各タスクは完了時に個別で報告されます。このデフォルト動作は意図的なものです。ソースには、タスクごとに完了通知が殺到すると、「それを想定していないオーケストレーターが分断された」と記されています。(2)子がバックグラウンドプロセスをprocess_manage(action="handoff")で親へ引き渡さない限り、子の終了処理時にそのプロセスも停止されます。引き渡されずに残ったプロセスは、結果内でorphaned_processesとして列挙されます。一度も読み取られないまま終了した子プロセスは、出力末尾を伴うunread_completionsとして通知されます。ソースの docstring が示す設計方針では、子が「watcher running」と主張するのを信じるのではなく、親が「実行環境からその事実を知らされなければならない」とされています。(3)delegation.fallback_providersが正式な設定項目になりました。nullの場合、固定されていない子は親のフォールバックチェーンを継承し、[]の場合はフォールバックが無効になります。provider、endpoint、model のいずれかで固定された子には、この設定で明示しない限りフォールバックがありません。(4)子のフォールバックチェーンは標準のノーマライザーで解決されるため、不正なエントリが spawn を壊すことはなく、代わりに除外されます。(5)処理単位の途中でクラッシュしても、完了済みの子が失われなくなりました。複数の子を含む処理単位では、完了した各子がその処理単位自身の行に永続的に記録され、復元後の結果にも部分的な成果として残ります。(6)Subagent が1時間のプロンプトキャッシュ階層を継承することはありません。委任された子は5分間の階層へダウングレードされます。1時間の階層は席を離れる人間向けの価格設定であり、並列実行される大量の子向けではないためです。45 - プロバイダーと model。 Nous Portal と OpenRouter のカタログに、OpenAI の GPT-6 Astra と Astra Pro、および
-fast/-flexの速度階層バリエーション(「価格は2倍、priority tier」/「価格は0.5倍、flex tier」)が追加されました。ChatGPT/Codex の OAuth 経路では、Astra はアカウント単位で制限されており、実際のアカウントスコープでの検出結果だけが利用可能であると示せます。また、オプトイン方式の-900k選択肢が追加され、表示上の272Kウィンドウを実環境で検証済みの約900Kまで引き上げられます。このサフィックスが通信時に送信されることはありません。ほかにも、anthropic/claude-fable-5.1、google/gemini-3.7-flashとgemini-3.8-flash、qwen/qwen3.8-max-0902とqwen3.8-flash、さらに Meta の Muse Spark 1.3 ファミリー(1Mコンテキスト、contributor バリエーションを含む)が追加されました。Meta の画像生成プロバイダープラグインmuse-imageも加わっています。Tavily は Web 検索・抽出バックエンドとして追加されました(TAVILY_API_KEY。hermes toolsで Tavily を選択した場合は、キーなしでも動作します)。管理された llama.cpp ランタイムにより、ローカル model が第一級の利用経路になりました(公式バイナリ、管理対象の単一llama-server、デスクトップからのワンクリックセットアップ)。ツリー外の外部プロセス型プロバイダーには、専用の解決分岐が用意されています。運用面では、選択画面のリモートカタログが20分ごとに更新されるようになりました(model_catalog.ttl_minutes、デフォルト20)。従来のttl_hoursキーは、ユーザーが明示的に設定していた場合に限り尊重されます。46 - デスクトップ:ページに注釈を付け、セッションを制御できます。 アプリ内ブラウザにコメントモードが追加されました。Annotate をクリックし、表示中のページで任意の要素をクリックするか、ドラッグして範囲を選択して、メモを入力します。保存したコメントは番号付きのピンとして残り、それだけでターンが送信されることはありません。作業を終えたら、「Add N comments」で各ピンの切り抜きスクリーンショットとともにコメント一式をコンポーザーへ渡せます。要素への各コメントには、CSS selector、マークアップ、レイアウトに関係する computed styles が含まれるため、agent は画像から推測するのではなく、ソース内の要素を特定できます(パスワード、非表示の値、キーらしい属性は、マークアップがページ外へ送られる前に秘匿されます)。コメント数が多い場合はページ領域ごとにまとめられるため、20件前後のコメントでも、通常は別々のファイルに関わる少数の作業単位へ整理されます。これにより、並列ワーカーへ安全に振り分けられます。そのほか、構造化されたセッション操作とセッション自動化操作、ドラッグによるセッション作成、ほかのコーディング agent のトランスクリプトを読み込むセッションインポート画面、
display.resume_last_session(デフォルトは true。コールドスタート時に最後のチャットまたはページを再度開きます)が追加されました。browser.use_real_profileがオフの状態で Browser ペインを初めて開くと、この設定を有効にする選択肢を含む同意確認が表示されます。Capabilities -> Skills には、ワンクリックでインストールできる組み込みのオプション skill カタログが追加されました。さらに、デスクトップ UI にロシア語ロケールが加わっています(CLI の17個のロケールカタログに変更はありません)。47
更新方法に変更はありません。既存のインストール環境では hermes update、新規インストールではシェルインストーラーを使用します。この期間の精選された記録は v0.22.0 でまとめられる予定です。上記の項目が、該当タグで実際に変わる点となります。41
v0.21.0(The Pantheon Release)の新機能
Hermes Agent v0.21.0(タグ v2026.8.31、2026年8月31日)は、現在の機能リリースです。また、v0.20.xの一連のロールアップで先送りされてきた内容をまとめた公式記録でもあります。「このリリースには、v0.20.1〜v0.20.6のインフラストラクチャパッチタグの内容がすべて統合されています。各期間の詳細は、ここに漏れなく記録されています。」位置付けとしてはHeraldの続編です。「v0.20.0でHermesは神々の使者となり、言葉を発して他のエージェントへ伝えました。v0.21.0では、神々が集結します。」統計情報を原文どおり引用すると、「v0.20.0以降: 約5,800コミット · 約2,475件のPRをマージ · 約5,680ファイルを変更 · 約869,000行を追加 · 約135,000行を削除 · 約2,100件のissueをクローズ · 760人以上のコントリビューター」です。35
このリリースは機能分野ごとに整理されているため、以下の概要も同じ構成にしています。既存のガイドセクションに影響する機能については、該当箇所へのリンクを行内に記載しています。
- Bot Mode:エージェント同士の社会を標準機能として構築。 Bot Modeは、v0.20.3期間に同梱された
hermes-botsプラグインから、デスクトップアプリでデフォルト有効の機能へ昇格しました。各エージェントのprofileには、名前、ランダム化/ロック操作に対応した決定論的な顔のアバター、共有名簿上の居場所が割り当てられます。複数のbotとユーザーが同じルームで会話できるDiscord風のグループチャットを作成し、入力欄から任意のbotを@メンションしたり、ルームに名前や画像を設定したりできます。さらに、送信元を明示したエージェント間メッセージカード、送信者側の配信通知、即時起動を実現するpaint-first hydration、Routinesペイン、アプリのデザインシステムに基づく再構築も含まれます。リリースの表現を借りれば、「以前の『マルチエージェント』は配管のような裏側の仕組みを意味していました。今では、同僚が集まるチャットアプリのように見えます。」35 hermes peer:エージェント間でbot同士のDMを送信。 CLIからでも会話の途中からでも、任意のHermesエージェントがprofileやgatewayをまたいで、ハンドル名を指定して別のエージェントにメッセージを送れます。たとえば、調査botに結果をコーディングbotへ渡すよう依頼し、その場で返信を確認できます。「返信は各エージェントの正規のBot Chatに届くため、エージェント間の会話は使い捨てではなく、永続的に保存されて確認できます。」hermes peerコマンド(peerの追加/一覧表示/削除、dm)は、トップレベルコマンドの表に掲載しています。35- 記憶を保持するcronジョブ。 スケジュール済みジョブは、実行のたびに記憶を失わなくなりました。cronエージェントは他のエージェントと同様に永続メモリを読み込み、更新します。
continuity=trueを設定すると各実行結果が次回へ引き継がれるため、監視処理では報告済みの内容を除外できます。すべてのジョブに永続的なメモ帳用scratchpadが用意され、monitor modeのジョブでは変更がない場合にLLMを完全にスキップします。ジョブ単位でreasoning effortを固定できるほか、cronの出力をbotの正規のBot Chatへ送り、botに実際に応答させることも可能です。スケジュール済みタスク(Cron)のセクションでは、それぞれのタグ時点での仕組みを説明しています。3537 - リアルタイムのsubagentオーケストレーション。
delegate_taskに制御アクションが追加されました。実行中の子エージェントを一覧表示し、処理中に軌道修正を指示したり、途中で停止して部分的な結果を保持したりできます。子エージェントの出力はJSONスキーマに照らして検証でき、委任ごとのコストも結果に表示されます。デフォルト値はsubagent 1体あたり250イテレーション、同時実行する子エージェント10体へ引き上げられました(v0.19.0でmax_async_childrenに代わって導入された統一上限です)。3538 - MCPのコマンドセンター。 MCPサーバーとカタログが、デスクトップの1つのページに統合されました。「何でも貼り付ける」感覚でドラッグしてインポートできるほか、バックグラウンドのヘルスチェックにより、ツール呼び出しが失敗する前に再認証を促します。フリート全体のコスト/使用量を確認できるオーバーレイ(スキーマのトークン推定値、サーバーごとの30日間の使用量)や、明示的な確認を経てMCPサーバーをインストールする
hermes://ディープリンクも追加されています。MCP連携をご覧ください。35 - CLIを強化する大規模アップデート。 Ctrl+Pで曖昧検索対応のコマンドパレットを開けます(
/paletteからもアクセス可能です)。/modelの選択画面では入力に応じて候補が絞り込まれ、/statusにはreasoning mode、保留中の承認、context使用量が表示されます。ステータスバーには、キャッシュヒット率、レイテンシ、1秒あたりのトークン数をリアルタイムで表示でき、項目ごとに表示を切り替えられます。このほか、グローバル緊急停止、セッションのピン留め/解除、順番に切り替わる入力欄のプレースホルダー、ターミナルペットも追加されました。名称に関する注意点として、リリースでは承認のdry-runチェッカーをhermes approval-checkとしていますが、このタグ時点で実際に提供されているのはhermes approvals testです。approval-checkというサブコマンドは存在しません。3540 - エージェントがデスクトップのブラウザを操作。 アプリ内ブラウザは、エージェントが見ることしかできないウィンドウではなくなりました。Hermesが直接ページを移動し、クリックして内容を読み取れます。また、完全なリンクコンテキストメニューを備えた状態で、ページをシステムブラウザに開くこともできます。35
- 6つの新規プロバイダーとモデルカタログの大幅拡充。 Meta Model API(Muse Spark)、CommandCode、Tencent TokenPlan、Nebius Token Factory、Ramp Router、Actual Computerが追加されました。このうち3つ(Meta AI、CommandCode、Actual Computer)は以前のロールアップ期間中に導入され、すでにプロバイダーマトリクスへ掲載されています。今回、Tencent TokenPlan、Nebius Token Factory、Ramp Routerに加え、ドキュメントで新たに扱われるAlibaba Token Plan SKUもマトリクスへ追加しました。カタログにはGLM-5.3-Flash、qwen3.8-max/flash、Gemini 3.7 Flash、MiniMax M3 free、Nemotron 3.5 Lightning、Muse Spark 1.2も加わっています。併せて、2つの構造的な変更が導入されました。
config.yamlのmodel_overridesを使えば、リリースを待たずに任意のモデルのcontext windowや料金を上書きできます。また、プロバイダーをpipでインストールするパッケージとして提供し、entry point経由で検出できるようになりました。さらに、統一された選択ガードのレジストリにより、データを学習に使用するモデルを選ぶ際は、すべての選択画面で警告が表示されます。3536 - 全面的なセキュリティ強化。 保護対象のエージェント指示ファイル(AGENTS.md、skills、メモリストア)への書き込みには、常に承認が必要になりました。これにより、プロンプトインジェクションを受けたエージェントが自身の継続的な指示を密かに書き換えることを防ぎます。徹底的な秘匿化対応によって、ターミナルエラー、
.envの読み取り、checkpoint、ACPログにおけるシークレット漏洩の抜け穴も解消されました。承認システムはWindowsの破壊的コマンドにも対応しています。macOSでは、安定したTCC署名ID(hermes desktop --setup-tcc-identity)により、アップデート後も権限付与が維持されます。また、上流での侵害を受け、BlenderのMCPカタログ項目とskillが削除されました。各タグ時点での詳細は、セキュリティ強化をご覧ください。3539 - gatewayの成熟。 Slackにはネイティブのライブカード(実際のストリーミング返信と、オプトイン式の計画/タスクカード)および送信リンクのプレビュー抑制機能が追加されました。Telegramでは、@botnameからすべてのコマンドとskillを検索できるインライン選択機能が導入され、Telegramのコマンドメニュー上限を回避できます。relay経路も成熟し、ネイティブのプラグイン初期化、draft streaming対応のライブカード操作、セッション範囲の分割、音声メモのSTT復旧が実現しました。gateway制御ソケットにより、フリート側の利用者はgatewayへ問い合わせでき、アップデーターはプロセスツリーを強制終了せずにgatewayを穏やかに一時停止できます。さらに、watchdogの作動時にはturn-reaperが停止状態に陥ったワーカーのスタックを取得します。35
- skillsの大幅拡充。 復元された8つの生産性向上skill(document-to-action-items、meeting-action-items、email-inbox-triage、github-issue-to-pr、weekly-review-planning、competitor-news-monitor、product-price-monitor、social-media-content-calendar)、HARから生成するAPIクライアント(「Webサイトを一度監視すれば、以降はブラウザなしで隠しAPIを直接呼び出せます」)、publish-site、session-librarian、blocked-page-recovery、merge-reconciler、plan-interrogationに加え、作成時に助言を提示するSKILL.md linterが追加されました。35
この期間中にrevertされ、リリースには含まれないもの: Model Council mode(/council)とDCP context engineは、いずれも一度導入された後にrevertされました。WS専用gatewayサーバー(#94245)もマージ後にrevert(#96118)されたため、FastAPIは引き続きデスクトップの起動経路上にあります。ただし、シーケンス番号付きイベントリプレイ(#94219)と、WebSocketを介した損失のないデスクトップ再接続はリリースされています。Electronは40.10.2へロールバックされました。v0.20.x期間に関するコミュニティの記事でこれらが紹介されていたとしても、このリリースには含まれていません。35
更新方法に変更はありません。既存のインストール環境ではhermes updateを実行し、新規インストールではシェルインストーラーを使用します。以下のHeraldリリース内にあるロールアップのサブセクションは、各期間で導入された内容をタグ別に記録したものとして引き続き参照できます。35
v0.20.0 の新機能(The Herald Release)
Hermes Agent v0.20.0(タグ v2026.8.3、2026年8月3日)は、v0.21.0 で全体が統合される前の機能リリースでした。その上に v0.20.1(8月13日)と v0.20.2(8月16日)が安定化タグとして続き、さらに v0.20.3(タグ v2026.8.16.2、8月17日公開)、v0.20.4(タグ v2026.8.18、8月18日)、v0.20.5(タグ v2026.8.19、8月21日公開)、v0.20.6(タグ v2026.8.27、8月27日)でも、それぞれ独自の機能追加を含む形で統合リリースが続きました。詳しくは以下のサブセクションをご覧ください。v0.19.0 以降の期間には、650人以上のコントリビューターによる約3,650件のコミット、1,400件のマージ済み PR、1,200件のクローズ済み issue が含まれます。55
以前のバージョンの本ガイドで案内していた手順を覆す変更が3つあります。 まずはこちらをお読みください。
- Node 26 が必須になりました。 インストーラーは
NODE_VERSION="26"に固定されており、それより古いランタイムは「Node.js … is too old (Hermes requires Node >=26).」というメッセージとともに拒否されます。インストーラー、heal、upgradeのすべてでこの要件が適用されます。なお、ドキュメントサイトのインストールページには現在も Node v22 と記載されていますが、より新しく信頼できる情報源はインストーラースクリプトとリリースノートです。55 - pip と Homebrew は、単なる非推奨ではなく提供終了となりました。 原文では「brew + pip/PyPI wheel channels retired (shell installer / Docker / Nix are the supported channels).」と明記されています。pip または brew でインストールした環境を引き続き使用していても、その経路では今後リリースを受け取れません。55
- ツール呼び出しのデフォルト反復上限が90回から500回に変更されました。 長時間の自律実行が人為的な上限に達しにくくなり、以下に示す予算逼迫時の各しきい値も、この新しい上限を基準に計算されます。また、
read_fileのデフォルトも500行から2,000行に増えました。55
その他のリリース内容は次のとおりです。
- 対話型音声。 割り込み対応のストリーミング TTS と、デバイス上で動作するウェイクワード機能が追加されました。55
- A2A v1.0。 エージェント間プロトコルのプラグインが追加され、issue #514 で長く求められていた機能が実現しました。55
- 署名付き送信 Webhook。 これまで
hermes webhookは受信専用でしたが、v0.20.0 ではセッション、ターン、ツールのイベントに対応する HMAC 署名付きライフサイクル Webhook の送信機能が追加されました。55 - 根拠付き引用。 ファクトチェックモードを備えた新しい skill が追加されました。55
- パワーユーザー向け CLI の大規模な機能強化。
!commandを使うと、モデルのターンを消費せず即座にシェルコマンドを実行できます。/initはプロジェクトをスキャンし、AGENTS.mdを作成または更新します。/diffは、ステージ済み、全体、またはセッション内の変更を、どの画面からでも表示できます。/contextはコンテキストウィンドウを占有している内容の内訳を示します。/focusは出力を絞った表示を提供し、非表示になった行も復元できます。Ctrl+S では、書きかけのプロンプトを一時保存できます。hermes import-agentを使えば、Claude Code または Codex CLI のセットアップを1つのコマンドで移行できます。55 - シークレット関連機能の拡充。 すべての vault と組み合わせられるコマンドヘルパー型のシークレットソース、対応方法を示す起動エラーを伴うワンコマンドのトークンローテーション、Bitwarden 用のオプトイン式暗号化緊急キャッシュ、profile ホームごとにスコープが限定された vault 注入キー、さらに
config.yamlと MCP 設定の間で${env:VAR}SecretRef が同等に扱われるようになりました。以下で説明する3経路の認証モデルに変更はありません。55 - ウォームスタートの高速化。
hermes -wのコールドスタートが、約14秒から1.8秒に短縮されました。55 - デスクトップが正式なプラットフォームに。 バージョン付きカードとサンドボックス化されたライブプレビューを備えるアーティファクト、Kanban を最初のデスクトッププラグインとする Plugin SDK、クイック入力用のグローバルホットキー、複数の GUI ウィンドウ、SSH リモートバックエンドモード、RFC 8252 準拠のネイティブサインインが追加されました。55
v0.20.3、v0.20.4、v0.20.5、v0.20.6 の統合リリース(8月17日〜27日)
v0.20.0 以降、このプロジェクトでは高頻度でタグ付きの統合リリースが行われましたが、その内容は単なる安定化にとどまりません。4つのリリースはいずれも、同じ文言で精選版のリリースノートを後日に持ち越していました。具体的には、それぞれ「full curated release notes for this window will ship with v0.21.0」と記載されており、現在は v0.21.0 で公開されています。上記の v0.21.0 の新機能 が、この期間全体をまとめた精選版の記録です(リリースでも、対象期間について「are fully documented here」と明記されています)。以下の各ブロックは、当時のタグごとの記録として残しています。精選版ではまとめられた内容について、どのタグで何が導入されたのかを確認できます。54233035
v0.20.3(v0.20.2 以降、約250件のコミット、約125件の PR):
- MCP 2.x SDK への移行と、2026-07-28 版ステートレスプロトコルへの対応。 Hermes は現行世代の MCP SDK に移行し、プロトコルのステートレス版に対応しました。54
- Bot Mode がバンドル済みプラグインとして登場しました。 コアとなるチームメイトプロトコルを含む
hermes-botsとして提供されます。54 - CommandCode プロバイダープラグインがプロバイダーカタログに加わりました。54
- コンピューター操作向けの Cua Driver 0.20 ランタイムコントラクトに加え、サブプロセスの Python ランタイム所有権が強化されました(PYTHONHOME/PYTHONPATH の分離)。54
- 信頼性に関しては、cron スケジューラーの自己修復(EMFILE からの復旧、古い claim の整合、停止したジョブの再設定)、セッション引き継ぎ時のデータ損失修正、デスクトップのリモート gateway 接続の自己修復に加え、エコシステム全体に多数の機能が展開されました(プラグインインストール時のセキュリティスキャン、
/worktree、/rollbackによる手動編集の保持、UTF-16 ファイルの読み込み)。54
v0.20.4(v0.20.3 以降、約146件のコミット、約74件の PR):
- デスクトップのガラス調サーフェス:フロスト選択機能と macOS の事前選択に対応した、マットガラスおよび半透明表現が追加されました。54
- タブ式の SESSIONS|BOTS サイドバーが追加され、Bot ごとに表示・非表示を切り替えられるようになりました。さらに、長時間実行されるメンバーのターン、Markdown レンダリング、マシン間ルーティングなど、Bot Mode のグループチャットに関する問題も修正されました。54
- skill のインストール時に NVIDIA SkillEvaluator Tier 1 のアドバイザリスキャンが実行されるようになりました。skill をインストールすると、ライセンスとセキュリティのチェックが行われます。54
- cron のメディア送信が強化され(設定可能なタイムアウト、手動実行時の添付ファイル、実行漏れの可視化)、SessionDB のイベントループスレッドと競合に関する問題が修正されました。また、
hermes updateが退避ブランチの状態を正確に報告するようになり、kanban に OS ネイティブ通知が追加されました。54
v0.20.5(v0.20.4 以降、約746件のコミット、約323件の PR):
- キー不要の Web 層:新規インストール直後でも API キーなしで Web 検索を利用できます。5ベンダーの無料枠をローテーションし、リング方式でフェイルオーバーします。23
- CLI の大規模な品質向上:あいまい検索に対応した
/model選択画面、Ctrl+P のコマンドパレット、情報が充実した/statusが追加されました。23 - Bot Mode の本格化:グループルームのスレッド、折りたたみ可能な会話要約、ブロブフェイスのアバター、ドラッグ&ドロップ対応の PDF/ファイル添付が追加されました。23
- フリートと worktree のツール:
hermes updateの処理記録、hermes update --plan(リリースノートでは「fleet--planverification」と呼ばれていますが、このフラグはfleetコマンドではなくhermes updateに属します。パーサーのヘルプによれば「Show the update plan and exit without changing anything」と動作します)、hermes worktree list/pruneが追加されました。2327 - cron ジョブに永続メモリとジョブ単位の推論エフォートが追加されました。 さらに、Composio の評価結果に基づく実行規律とランタイム停止ガード、複数質問による確認、opencode を使わない認証不要プロバイダー、デスクトップのパフォーマンス改善(描画を優先する Bot Mode のハイドレーション、両レンダラーへの React Compiler 導入)も含まれます。23
v0.20.6(タグ v2026.8.27、8月27日 – v0.20.5 以降、約1,313件のコミット、約525件の PR):
リリース自体では「Patch release. This tag rolls up the ~525 PRs merged since v0.20.5 into a stable tagged release for downstream consumers」と明記されています。また、説明によると、この期間には約1,557個のファイルにわたる約1,313件のコミット(+177,113/−21,682)、約525件のマージ済み PR が含まれます。30 その説明で取り上げられている主な項目は次のとおりです。
- 同意を前提とした実プロファイルでのブラウジング – ローカルブラウジングでデフォルトの Chromium profile を使用できるようになり、Windows では承認を得てブラウザーを閉じるフローにも対応しました。30
- デスクトップの Browser が独立した OS ウィンドウで動作するようになりました。 さらに、管理対象の SSH リモート更新エンジンとフリート profile レールも追加されました。30
- リモート MCP カタログの拡充:Cloudflare、Grafana Cloud、Better Stack、Railway など、実環境で検証済みのベンダーホスト型サーバーが50以上追加されました。30
- 保存済みシークレットを OS キーチェーンで暗号化するオプトイン機能 – 起動するたびに macOS Keychain のプロンプトが表示されることはなくなりました。30
- 選択画面に新しいモデルを追加:GLM-5.3-Flash、無料の MiniMax M3、動画向けの MiniMax H3 Max が追加されました。30
web_search/web_extractの結果を TTL 付きでキャッシュする機能と、ステミング対応の複数クエリtool_searchが追加されました。30- Lean-tail 圧縮がデフォルトになりました – 以下の コンテキスト圧縮 セクションでは、このタグ時点の設定を説明しています。3031
- ターミナルバックエンドがプラグイン対応になりました – ターミナルバックエンドをご覧ください。3032
- 更新機能とフリート動作の明確化:アップデーターは gateway のプロセスツリーを強制終了せず、制御ソケット経由で一時停止するようになりました。また、イメージまたはパッケージで管理されているインストール環境では、安全でないインプレース更新が拒否されます。30
- cron の永続的なインシデント確認応答と、コードのバージョン不一致をより明確に示すエラー、Slack のリンク展開制御、共有 Docker コンテナ ID が追加されました。30
更新方法に変更はありません。既存のインストール環境では hermes update を使用し、新規インストールではシェルインストーラーを使用します。542330
v0.19.0 の新機能(The Quicksilver Release)
Hermes Agent v0.19.0(タグ v2026.7.20、2026年7月20日)は、伝令神自身の速さにちなんで名付けられました。このリリースの核となるのは圧倒的な応答速度で、すべてのプラットフォームにおいて、最初のターンでトークンが出力されるまでの時間を約80%短縮しています。さらに、ターミナルでの請求管理、パスワードマネージャーからのシークレット取得、デフォルトで有効になるスマート承認、動作を観察できるサブエージェント、クラッシュしても応答を確実に届ける仕組みが加わりました。v0.18.0以降ではプロジェクト史上最大規模の進展があり、約2,245件のコミット、約1,065件のマージ済みPR、約3,300件のクローズ済みissue、450人以上のコミュニティ貢献者を記録しています。56
- あらゆる環境で、最初のトークンまで約80%高速化。 コールド状態での送信からディスパッチまでの時間が、CLI、gateway、TUI、デスクトップ、cronのすべてで約4.3秒から約0.9秒に短縮されました。Discordの機能検出をクリティカルパスから外し、Ollama以外と判明しているプロバイダーではOllamaプローブを省略し、エージェント初期化時のブロッキング処理を排除しています。体感レイテンシも改善されました。推論モデルはデフォルトで思考過程をリアルタイム配信するようになり(
display.show_reasoningはON)、応答ボックスも行単位ではなくトークン単位で描画されます。56 - デスクトップとTUIのレンダリングを大幅改善。 デスクトップアプリでは約20件のPRによる高速化が実施されました。インクリメンタルなブロック字句解析によってストリーミングMarkdown分割処理のCPU使用量を14分の1に削減し、レビューペインの差分表示を仮想化したほか、大規模なトランスクリプトでもセッションを軽快に切り替えられるようになりました。トークンごとにサイドバーやツール行が再レンダリングされることもありません。TUIでも、ストリーミングされたMarkdownがブロック単位で段階的にレンダリングされるようになりました。56
- pipとHomebrewによるインストールは非推奨です。 どちらの方法も「サポート対象外のレガシー」インストールとされ、廃止が予定されていました。その後、v0.20.0で実際に廃止されています。brewおよびpip/PyPI wheelの配布チャネルは終了し、サポート対象はシェルインストーラー、Docker、Nixとなりました。5655
- パスワードマネージャーからシークレットを取得可能。 新しいプラグイン式の
SecretSourceインターフェースにより、読み込み時にBitwardenや1Password(op://参照)からシークレットを取得できます。複数の保管庫を同時に利用でき、優先順位は決定論的に処理されます。競合時の警告や変数ごとの取得元情報にも対応しているため、APIキーを平文の.envに保存する必要がなくなりました。今後の保管庫プロバイダーもプラグインとして追加できます。56 - スマート承認がデフォルトに。 Hermesが警戒対象のコマンドを実行しようとすると、コマンドごとに確認を求める代わりに、独立したLLMレビュアーが評価します。各判定が適用されるのは、そのコマンドだけです。ユーザー定義の拒否ルールに一致するコマンドはYOLOモードでもブロックされ、
/deny <reason>を使えば拒否理由がエージェントへ伝わり、方針を修正できます。また、ルールキーとともに再導入されたプラグインのpre_tool_call承認アクションにより、ツール呼び出しを人間による承認へエスカレーションできます。56 - ターミナルでの請求管理:
/subscriptionと/topup。 ターミナルを離れずにNous Portalのプランを管理できます。現在のプランと残りの利用枠を確認し、アップグレードにかかる正確な費用やダウングレードが有効になる時期を事前に確認したうえで、取り消し可能な形で適用できます。デスクトップアプリにも同等の請求設定タブが追加されました。56 - サブエージェントの作業を観察し、完了した回答を確実に保持。
delegate_taskによるディスパッチでは、サブエージェントの起動直後からtail -fできるライブトランスクリプトファイルが返されます。すべてのツール呼び出し、結果、ストリーミング応答が、子エージェントごとに人間が読める1つのログへ記録されます。バックグラウンド委任の完了結果は再起動後も保持されます。さらに、gatewayの最終応答はstate.db内の配信義務台帳に記録され、送信中にgatewayが停止しても、次回起動時に再配信されます。max_async_children設定オプションは、統合された委任同時実行数の上限へ移行するため、非推奨となりました。56 - 1つのgatewayで複数のprofileを運用。 1つのbotトークンを共有する多重化gatewayで、特定のギルド、チャンネル、スレッドを異なるprofileへルーティングできます。各profileの設定、skills、メモリ、シークレットは完全に分離され、
GATEWAY_MULTIPLEX_PROFILESによる上書きにも対応します。ルーティングインデックスはstate.dbへ移行し、sessions.jsonは任意のレガシーミラーとなりました。56 - プロバイダーとモデルの大幅拡充。 Fireworks AIが正式対応となり、コスト見積もりに対応したほか、プロバイダー選択画面の第2候補に配置されました。DeepInfraとUpstage Solarも加わっています。モデルカタログにはGPT-5.6(Sol/Terra/LunaおよびPro、全経路で対応)、grok-4.5(GA)、kimi-k3(kimi-k2.xは廃止)、全機能に対応したClaude Sonnet 5が追加されました。プロバイダーごとの
enabled: falseフラグとexcluded_providers設定により、使用しないプロバイダーを/modelの選択肢や解決処理から除外できます。56 - 推論強度を段階的に調整可能。 新しい
maxとultraの強度レベルがすべてのインターフェースに追加されました。設定内でのモデル別上書き、MoAプリセット内でのスロット別強度(アドバイザーは深く考え、統合モデルは高速性を維持)、補助モデルのタスク別強度、CLIでセッション単位に指定できる/reasoningにも対応しています。56 - CLIとMCPの機能拡充。
hermes sessions exportは、Markdown、Quarto、HTML、プロンプトのみ、Hugging Faceトレースの各形式へ出力でき、任意指定の--redactで機密情報を除去できます。/model --onceでは1ターンだけモデルを上書きでき、slash-skillの呼び出しは重ねて指定できます(/skill-a /skill-b do XYZ)。トラブルシューティング用の--safe-mode、設定管理を補完するhermes config get/unsetも追加されました。hermes serveは完全なヘッドレスバックエンドとなり、MCPツールにはmcp__server__tool命名規則が採用されています。56
v0.18.xからアップグレードする場合、まず注意すべき変更が2つあります。pipまたはHomebrewによるインストールはサポート対象外のレガシー方式として警告されるため、1行インストーラーへ移行してください。また、max_async_childrenは非推奨となり、統合された委任同時実行数の上限へ置き換えられています。それ以外は追加的な変更です。アップグレードする最大の理由は、最初のターンにおける約80%のレイテンシ短縮、スマート承認、そして完了した回答をクラッシュから守る配信台帳です。
v0.18.0 の新機能(The Judgment Release)
Hermes Agent v0.18.0(タグv2026.7.1、2026年7月1日)は、「判断」にちなんで名付けられました。エージェントが成功を主張するだけでなく、自らの作業を検証し、さらに実際に確認できるアンサンブル推論を実現したリリースです。また、P0/P1のバックログをすべて解消し、約692件の最優先項目を12日間で完了しています。22
- Mixture-of-Agentsを正式なモデルとして採用。 MoAをすべてのインターフェースでほかのモデルと同じように選択できるようになり、アンサンブル推論の過程も確認できます。各参照モデルの完全な出力が、ラベル付きの独立したブロックとして表示され、回答もリアルタイムでストリーミングされます。不透明に統合された回答を受け取るだけでなく、アンサンブルが考える様子を観察できます。22
/goalの完了コントラクト。 エージェントは目標の完了を報告する前にプロジェクトのチェックを実行し、成功したと主張するだけでなく、自らの作業を検証します。自身にも「判断」を適用する仕組みです。22/learn—あらゆる内容を説明してskillに変換。 ワークフローを説明するだけで、再利用可能なskillに変換できます。生成されるskillsは、リポジトリのCONTRIBUTING.md規約に自動で準拠します。22/journeyタイムライン。 メモリとskillsの変遷を時系列で視覚化し、編集も可能です。デスクトップではメモリグラフも利用できます。22- バックグラウンドサブエージェントの並列展開。 会話をブロックすることなく、複数のタスクを同時実行するよう委任できます。v0.17.0で導入された単一のバックグラウンドサブエージェントが、複数のサブエージェント群へ進化しました。22
- デスクトップ版Projects。 プロジェクト、リポジトリ、レーンによる構成モデルを備えた、コーディング向けの正式なProjects機能が追加されました。22
- ゼロまでスケールするgateway。 gatewayはアイドル時に休止状態へ移行し、シームレスなデプロイに向けてドレイン処理を連携できます。Hermesを常時稼働サービスとして運用する場合に重要な機能です。22
- Google Vertex AI対応。 GCPサービスアカウント経由でGeminiを利用でき、OAuth2トークンも自動更新されます。これにより、プロバイダーカタログへ新たな選択肢が加わりました。22
/promptエディターコマンド。 入力行で苦労することなく複数行のプロンプトを作成できるよう、$EDITORを開きます。22
v0.17.xからアップグレードする場合、CLIに破壊的変更はありません。アップグレードする最大の理由は、目標を自己検証する完了コントラクト、内容を確認できるアンサンブルを備えた正式なMoA対応、そしてskillを取り込むための/learnです。
v0.17.0(The Reach Release)の新機能
Hermes Agent v0.17.0(タグ v2026.6.19、2026年6月19日)は、エージェントの到達範囲が新しいメッセージングチャネル、モデルプロバイダー、さらに高度なデスクトップおよびダッシュボード操作へと広がったことにちなんで名付けられました。v0.16.xに機能を追加するリリースであり、CLIの操作体系に変更はありません。21
- 新しいメッセージングチャネル。 iMessageがMacのリレーなしで、Photon Spectrum(デバイスコードによるOAuth、
hermes photon login)を介して動作するようになりました。WhatsApp Business Cloud APIは、ブリッジプロセスを不要にするMeta公式アダプターです。SimpleXでは、グループ、ネイティブ添付ファイル、テキストのバッチ処理、自動承認が利用できます。さらに、プライバシーを契約として保証するウェイクチャネル設計を採用したRaftが、同梱プラットフォームプラグインとして加わりました。21 - 新しいモデルとプロバイダー。 カタログに
z-ai/glm-5.2(1Mコンテキスト)、anthropic/claude-fable-5、laguna-m.1、nemotron-3-ultra、grok-composer-2.5-fast(xAI OAuth経由で利用するCursorのモデル、200kコンテキスト)が追加されました。xAIのデフォルトはgrok-build-0.1に変更され、Anthropicのアダプティブモデルは最新のthinking contractに従うようになりました(reasoningフィールドは送信されません)。21 - デスクトップとダッシュボード。 デスクトップでは、委任した処理をライブ配信する「watch-windows」付きのバックグラウンドsubagent(
delegate_task(background=true))、Composerのモデルセレクター、再割り当て可能なキーボードショートカット、OSネイティブ通知、スレッドごとのComposer下書き、VS Code Marketplaceテーマ、日本語および繁体字中国語のUIが追加されました。ダッシュボードには、config.yamlを編集せずにモデル、skill、MCPを設定できる完全なprofileビルダー、グローバルprofileスイッチャー、セキュリティスキャンを備えた刷新版Skills Hub、フォーム、スラッシュコマンド、会話、ドキュメントで使用できるパラメーター化テンプレートのAutomation Blueprints、OAuthゲートの内側で401を返す安全なログイン機能が追加されています。21 - skillとツール。
image_generateは、対応するすべての画像プロバイダーで、画像を一から生成するだけでなく、元画像の編集や変換もできるようになりました。memoryツールには、1回の呼び出しで追加、置換、削除をアトミックに一括実行するoperations配列が加わりました。新しいsimplify-codeskillは、チェスタートンの柵に基づくリスク階層をゲートとして、3つのエージェントによる並列レビューとクリーンアップを実行します。また、3状態のwrite_modeは、真偽値のwrite_approvalに置き換えられました。21 - アーキテクチャ。 バックグラウンドsubagentは即座にハンドルを返し、処理結果を新しいターンとして再入力します。ツール呼び出しの途中で確認を求められるMCP elicitation handlerが追加され、後から接続されたMCPツールもターン間で公開されるようになりました(キャッシュセーフ)。cronは、Chronosのマネージドcronプロバイダーに対応するプラグイン可能なCronSchedulerへと変わりました。さらに、新しいManaged scope(
/etc/hermes)により、管理者はユーザーが変更できない設定を固定できます。複数gateway構成向けのGateway-Gatewayリレーも追加されました。21 - 新しいコマンド。
/version、/billing(対話型ターミナル課金情報)、hermes photon login(iMessage認証)、hermes curator run --consolidateが追加されました。統合処理はオプトインになったため、通常のバックグラウンドキュレーションではトークンを消費しません。21 - セキュリティ。 v0.17.0では、シェルエスケープの拒否リストを回避できる問題を修正しました。また、承認モジュールや独自ポリシーのgatewayアダプターが見つからない場合はフェイルクローズし、cronジョブスクリプトのサブプロセスでは環境をサニタイズします。リクエストのデバッグダンプ内にあるシークレットのマスキング、データ持ち出しパターンに対するMCP stdio設定の検査も追加され、CVEを解消するためurllib3とPyJWTが更新されました。21
v0.16.xからアップグレードする場合も、CLIを壊す変更はありません。同じエージェントを中心に、新しいチャネル、モデル、操作画面が追加されています。リレー不要のiMessage、WhatsApp公式アダプター、管理者向けのManaged scopeが、アップグレードする主な理由です。
v0.16.0(The Surface Release)の新機能
Hermes Agent v0.16.0(タグ v2026.6.5、2026年6月5日)は、CLIを中心とするエージェントに新しい操作画面をもたらしたことにちなんで名付けられました。最大の特徴は、Hermesがターミナル専用ではなくなったことです。20
- ネイティブデスクトップアプリ。 Hermes DesktopはmacOS、Linux、Windows向けの新しいElectronアプリで、ワンクリックインストールとアプリ内の自動更新に対応しています。ストリーミングチャット画面、ファイルのドラッグ&ドロップ、クリップボードからの画像貼り付け、
Cmd+Kパレット、アーカイブと検索に対応したセッション一覧、ステータスバーのモデル選択機能を利用できます。安全なWebSocketを介してリモートのHermes gatewayへ接続でき、OAuthまたはユーザー名とパスワードで認証します。profileごとにリモートホストを設定でき、profileをまたぐ@session参照で関連付けられた複数profileのセッションを同時に実行できます。デスクトップUIには型付きi18nレイヤー(display.language)による簡体字中国語(简体中文)の完全な翻訳も収録されています。デフォルトは引き続き英語です。20 - ブラウザー管理パネル。 ローカルWebダッシュボードは、ステータス表示から完全な管理パネルへと進化しました。有効化/無効化を切り替えられるMCPカタログ、認証情報の管理、webhookとhookの作成、メモリ設定、gateway操作に加え、更新前の確認とワンクリックのDebug Shareを備えたSystemページを利用できます。新しいChannelsページでは、Telegram、Discord、Slackなど、gatewayのすべてのメッセージングプラットフォームをブラウザーから設定できます。認証もプラグイン可能になり、ユーザー名とパスワードによるログイン、セルフホスト型の汎用OIDCプロバイダー、セルフホスト型OAuthクライアント用の
hermes dashboard register、リフレッシュトークンによるセッションローテーションに対応しました。20 - 新しいCLI機能とスラッシュコマンド。
/undo [N]は直近N回分のユーザーターンを巻き戻し、内容を入力欄に復元してソフトデリートします。CLI、TUI、各メッセージングプラットフォームで利用できます。デフォルトのインターフェース(cliまたはtui)を設定できるようになり、--cliで上書きできます。TUIには統合された/modelコマンドとSessionsオーバーレイも追加されました。hermes portalはNous Portalのオンボーディングフローを人間が読みやすい形にしたエイリアスです。初回起動時にはQuick SetupとFull Setupの2つの経路が用意され、hermes prompt-sizeとhermes sessions optimizeという2つの診断機能も追加されました。20 - 新しいモデルとプロバイダー。 モデル選択画面に
deepseek-v4-flash、MiniMax-M3(1Mコンテキスト、MiniMaxネイティブプロバイダー)、qwen3.7-plus(Nous + OpenRouter)、gemini-3.5-flash(Gemini OAuth + APIキー)が追加されました。第一級のxAI Grok OAuthプロバイダーがデスクトップランチャーに加わり、モデル選択はすべての操作画面であいまい検索に対応しました。複数のエンドポイントを持つプロバイダーは1行にまとめて表示され、カタログの更新頻度は1日ごとから1時間ごとに変更されています。20(その後、v0.21.1で更新間隔が再び変更されました。モデル選択画面のリモートカタログは、model_catalog.ttl_minutesに従って20分ごとに更新されます。46) - より軽量なskillと段階的開示。 デフォルトのskillセットから、重複したskillや使われていないskillが削除されました(Spotifyはネイティブプラグインへ移行し、Linearは
hermes mcp install linearで利用する形になり、古くなった項目も複数削除されています)。さらに多くのskillがオプション扱いとなり、environments:フロントマターによる関連性ゲート(kanban/docker/s6)も追加されました。これにより、特定のコンテキストでのみ必要なskillは、要求されるまでインデックスに表示されません。NVIDIA/skillsはOpenAI、Anthropic、HuggingFaceと並ぶSkills Hubのデフォルトの信頼済みtapになりました。MCPツールとプラグインツールでは、段階的な(スコープ限定の)ツール開示が利用できます。また、トークンを取得できていないにもかかわらずOAuthの成功を誤って報告していたMCPの不具合も修正されました。20 - セキュリティ。 v0.16.0では、CVE-2026-48710(BadHost)へのパッチを含むStarlette(≥1.0.1)にバージョンを固定しました。非同期処理ではSSRFのURLチェックをイベントループ外に移し、サブプロセスの環境からBedrockの推論用Bearerトークンを除去しています。さらに、ファイル安全性の読み取りガードへ
bws_cache.jsonを追加し、危険なパターンの一覧にdocker restart/stop/killを加え、検証済みskillの内容に含まれる不可視Unicodeをサニタイズします。このリリースでは、P0の問題を2件、P1の問題を62件解消し、そのうち16件にはセキュリティタグが付いていました。20
v0.15.xからアップグレードする場合も、CLI自体に破壊的変更はありません。同じエージェントを中心に操作画面とプロバイダーを追加するリリースです。ターミナルを使わないユーザーにもHermesを提供したい場合や、リモートgatewayをブラウザーから管理したい場合は、デスクトップアプリと管理パネルがアップグレードの決め手となります。
v0.14.0(The Foundation Release)の新機能
v0.14.0は、1つの目玉機能よりも、セットアップの手間を減らしながらHermesを実行できる環境を広げることに重点を置いています。19 主な運用上の変更点は次のとおりです。
- インストールと起動が軽量になりました。 PyPIから
pip install hermes-agentでインストールでき、負荷の大きいアダプターは初回使用時に遅延インストールされます。起動処理も必要な作業を後回しにすることで、コールドスタートを約19秒短縮しました。(その後、v0.19.0でpipによるインストールは非推奨になりました。インストールをご覧ください。) - サブスクリプションをローカルのAPIエンドポイントとして利用できます。
hermes proxyを使うと、Claude Pro、ChatGPT Pro、SuperGrokなど、OAuthベースのプロバイダーを、Codex、Aider、Cline、Continueといったツールから利用できるOpenAI互換のローカルエンドポイントに変換できます。 - gatewayの対応範囲が広がりました。 LINEとSimpleX Chatがgatewayに加わりました(ドキュメントのプラットフォーム比較表では、タグ
v2026.8.31時点で28プラットフォームが掲載されています。この数に何が含まれるかは、メッセージングgatewayセクションで説明しています)。Microsoft Teamsは一連の処理全体で接続され、Discordの履歴バックフィルはデフォルトで有効になりました。また、TelegramとDiscordのclarifyプロンプトではネイティブボタンが使われるようになっています。 - 書き込み時の検証が改善されました。 編集後、次のターンへ進む前に、ターンごとのファイル変更概要とlanguage serverのセマンティック診断をHermesが提示できるようになりました。これにより、エビデンスに基づくエージェント作業へさらに近づいています。
- デスクトップとメディアツールの対応範囲が広がりました。
computer_useは、Anthropic以外のプロバイダーでもcua-driverを介して動作します。video_generateはプラグイン可能なバックエンドのもとに統合され、vision_analyzeは実際に視覚入力へ対応するモデルに未加工のピクセルデータを送信します。
インストール
公式にサポートされているインストール方法は、1行のインストーラーです。Python、uv、Node.js、ripgrep、ffmpeg、リポジトリのクローン、仮想環境、グローバルな hermes コマンドをまとめてセットアップします。7
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
v0.19.0以降、pipおよびHomebrewによるインストールは非推奨です。 v0.14.0で導入されたPyPIパッケージ(
pip install hermes-agent)とHomebrew formulaは、現在「サポート対象外のレガシー」インストールとされています。Hermesがこれらを検出すると、すべての画面で警告が表示されます(動作はブロックされません)。また、PyPIとHomebrewでの公開は今後終了する予定です。pipまたはbrewでインストールした場合は、上記のインストーラーへ移行してください。56
Linux、macOS、WSL2、Android/Termuxで動作します(インストーラーがTermuxを自動検出し、テスト済みのAndroidバンドルに切り替えます)。7 ネイティブWindowsは、v0.14.0で提供された初期ベータ版からTier 1プラットフォームへ昇格しました。iex (irm https://hermes-agent.nousresearch.com/install.ps1) でインストールできます。ただし、ドキュメントには明確な注意事項があります。macOSでサポートされるのはApple Siliconのみで、Intel Macはサポート対象外です。55 これまでの経緯として、v0.14.0ではPowerShellインストーラーによるネイティブWindows対応が初期ベータ版として追加されました。ただし、Windows向けの導入手順が成熟するまでは、本番環境での利用には引き続きWSL2のほうが安全な選択肢です。19
完了したら、次を実行します。
source ~/.bashrc # or ~/.zshrc
hermes # Start chatting
唯一の前提条件は git です。インストーラーは、uv を使用してPython 3.11(sudo不要)、Node.js 26(ブラウザー自動化とWhatsAppブリッジ用)、ripgrep、ffmpegを自動で用意します。v0.20.0以降、Node 26が必須の最低バージョンです。インストーラーはそれより古いバージョンを拒否し、Hermesが管理するNodeを代わりにインストールします。557
インストールの確認
hermes --version # Check version (global flag; there is no `version` subcommand)
hermes doctor # Diagnose config/dependency issues
hermes status # Show current configuration + auth state
hermes dump # Copy-pasteable setup summary for debugging
hermes doctor を実行すると、不足しているものと、その修正方法が具体的に表示されます。7 サポートを求める際、GitHubのissueやDiscordスレッドに貼り付ける診断情報を生成するコマンドが hermes dump です。セットアップ全体をプレーンテキストで要約し、シークレットは伏せた状態で出力します。8
手動インストール
Pythonのバージョン指定、特定のextras、Nix/NixOSとの統合など、環境を細かく制御する必要がある場合は、上流のインストールガイドに手動手順が段階的に記載されています。7 uv pip install -e ".[<extras>]" で組み合わせられる主なオプションのextrasは次のとおりです。
| Extra | 追加される機能 |
|---|---|
all |
以下のすべて |
messaging |
TelegramおよびDiscordのgateway |
cron |
cron式の解析 |
cli |
セットアップウィザード用のターミナルメニューUI |
modal |
Modalクラウド実行バックエンド |
voice |
CLIのマイク入力と音声再生 |
tts-premium |
ElevenLabsのプレミアム音声 |
honcho |
AIネイティブメモリ(Honcho統合) |
mcp |
Model Context Protocolのサポート |
homeassistant |
Home Assistant統合 |
acp |
ACPエディター統合のサポート |
slack |
Slackメッセージング |
pty |
PTYターミナルのサポート(対話型CLIツール) |
dev |
pytestおよびテストユーティリティ |
termux |
テスト済みのAndroidバンドル(cron、cli、pty、mcp、honcho、acpを含む) |
Termuxではインストールコマンドが異なります。uv pip ではなく、制約ファイルを指定した pip を使用します。
python -m pip install -e ".[termux]" -c constraints-termux.txt
これは、Androidで .[all] を指定すると、voice extraを通じて faster-whisper が導入されるためです。faster-whisper が依存する ctranslate2 のwheelは、Android向けに公開されていません。7
認証とプロバイダー
タグ v2026.9.7 では、hermes_cli/models_catalog_static.py の311行目に39個の静的な CANONICAL_PROVIDERS エントリがあります(2026年9月の分割により、リストは hermes_cli/models.py から移動しました。エントリ自体に変更はなく、v0.21.0の tencent-tokenplan も含まれます)。さらに、plugins/model-providers/ からこのリストを自動拡張します(同梱されているディレクトリは39個です。そのうち actual、alibaba-coding-plan、commandcode、deepinfra、meta-ai、nebius-token-factory、opencode-free、router、upstage の9個には静的エントリがなく、デフォルトの api_key 認証タイプを使用するため、自動拡張によって取り込まれます)。ドキュメントのプロバイダーページには、45個のクラウドおよびサブスクリプションプロバイダーと、カスタムエンドポイントの行が表にまとめられています。さらに、ローカルおよびセルフホスト型サーバー(Ollama、vLLM、SGLang、llama.cpp、LM Studio、LiteLLM、ClawRouter、任意のOpenAI互換エンドポイント)についても個別に説明されています。26 タグ v2026.9.24 でも静的リストは39エントリのままですが、plugins/model-providers/ のディレクトリは38個です。キー不要の opencode-free プロバイダーは、OpenCodeの無料枠が独自クライアント外からの匿名トラフィックを拒否するようになったため、9月18日に削除されました。53 この基盤の上に、カスタムエンドポイントと3つの異なる認証パスがあります。利用可能な認証情報に合うものを見つけられるよう、認証の全体像をパス別に整理します。
3つの認証パス
Hermesのすべてのプロバイダーは、次の3つの認証パターンのいずれかに該当します。
パス1 — .env 内のAPIキー。 キーを ~/.hermes/.env に配置すると、Hermesが起動時に読み取ります。OpenRouter、AI Gateway、z.ai/GLM、Kimi/Moonshot、MiniMax(MiniMax Chinaを含む)、Alibaba Cloud/DashScope、Kilo Code、OpenCode Zen、OpenCode Go、DeepSeek、Hugging Face、Google/Gemini、および大半のサードパーティプロバイダーで使用します。2 v0.19.0以降、キーを平文ファイルに置く必要はありません。プラグイン可能な SecretSource インターフェースにより、読み込み時にBitwardenまたは1Password(op:// 参照)からシークレットを取得できます。複数の保管庫を同時に有効化でき、優先順位は決定論的に処理され、競合時には警告が表示されます。また、変数ごとに取得元を追跡でき、.env はフォールバックとして残ります。(これは、1つのトークンにプロバイダーキーを集約したv0.15.0のBitwarden Secrets Managerブートストラップトークンとは異なります。SecretSource は平文ファイル自体を置き換えるもので、今後の保管庫プロバイダーもプラグインとして追加できます。)56
パス2 — hermes model または hermes auth を介したOAuth。 デバイスコードフローを開始してブラウザを開き、認証情報を ~/.hermes/auth.json に保存します(Claude CodeやCodex CLIなどのツールから既存の認証情報をインポートすることもできます)。Nous Portal、OpenAI Codex(ChatGPTアカウント)、GitHub Copilot、Anthropic(Claude Pro/Max)で使用します。2
パス3 — config.yaml 内のカスタムエンドポイント。 Ollama、vLLM、SGLang、llama.cpp、LM Studio、LiteLLMプロキシ、Together AI、Groq、Azure OpenAI、独自のセルフホスト型サーバーなど、OpenAI互換のAPIで使用します。hermes model → Custom endpoint から一度設定すると、config.yaml に保存されます。2
プロバイダーの全マトリックス
このマトリックスでは、ドキュメントページの表に掲載されているプロバイダーと、それぞれの正確な設定手順をまとめています。このタグの選択画面には、ドキュメントよりも多くのプロバイダーが表示されます(上記の件数を参照)。また、OpenAI互換のものはすべて、カスタムエンドポイントの行から利用できます。226
| プロバイダー | 認証パス | 設定 |
|---|---|---|
| Nous Portal | OAuth | hermes model(OAuthログイン、サブスクリプション方式) |
| OpenAI Codex | OAuth | hermes model(ChatGPTのデバイスコード、Codexモデルを使用) |
| GitHub Copilot | OAuthまたはトークン | hermes model(OAuthデバイスコード)、または COPILOT_GITHUB_TOKEN / GH_TOKEN / gh auth token |
| GitHub Copilot ACP | ローカルサブプロセス | hermes model(PATH内の copilot CLIと copilot login が必要) |
| Anthropic | OAuthまたはAPIキー | hermes model(Claude Codeの認証情報を優先)、または ANTHROPIC_API_KEY、あるいは ANTHROPIC_TOKEN セットアップトークン |
| OpenRouter | APIキー | ~/.hermes/.env に OPENROUTER_API_KEY |
| AI Gateway (Vercel) | APIキー | ~/.hermes/.env に AI_GATEWAY_API_KEY(プロバイダー:ai-gateway) |
| z.ai / GLM (ZhipuAI) | APIキー | ~/.hermes/.env に GLM_API_KEY(プロバイダー:zai) |
| Kimi / Moonshot | APIキー | ~/.hermes/.env に KIMI_API_KEY(プロバイダー:kimi-coding)。v0.19.0ではkimi-k3がカタログに追加されました(kimi-k2.xは廃止)。56 |
| MiniMax(グローバル) | APIキー | ~/.hermes/.env に MINIMAX_API_KEY(プロバイダー:minimax) |
| MiniMax China | APIキー | ~/.hermes/.env に MINIMAX_CN_API_KEY(プロバイダー:minimax-cn) |
| Alibaba Cloud (Qwen) | APIキー | ~/.hermes/.env に DASHSCOPE_API_KEY(プロバイダー:alibaba、エイリアス:dashscope、qwen) |
| Kilo Code | APIキー | ~/.hermes/.env に KILOCODE_API_KEY(プロバイダー:kilocode) |
| OpenCode Zen | APIキー | ~/.hermes/.env に OPENCODE_ZEN_API_KEY(プロバイダー:opencode-zen) |
| OpenCode Go | APIキー | ~/.hermes/.env に OPENCODE_GO_API_KEY(プロバイダー:opencode-go) |
| DeepSeek | APIキー | ~/.hermes/.env に DEEPSEEK_API_KEY(プロバイダー:deepseek) |
| Hugging Face | APIキー | ~/.hermes/.env に HF_TOKEN(プロバイダー:huggingface、エイリアス:hf) |
| Google / Gemini | APIキー | ~/.hermes/.env に GOOGLE_API_KEY または GEMINI_API_KEY(プロバイダー:gemini) |
| Fireworks AI | APIキー | コスト見積もりと、モデル選択画面にキャッシュ済み料金の列を備えた正式プロバイダーです。プロバイダー選択画面では2番目に昇格しました。v0.19.0で新たに追加されました。56 |
| DeepInfra | APIキー | 強化された統合を備える正式プロバイダーです。v0.19.0で新たに追加されました。56 |
| Upstage Solar | APIキー | 正式プロバイダーです。v0.19.0で新たに追加されました。56 |
| xAI (Grok) | ネイティブプロバイダー / SuperGrok OAuth | APIへの直接アクセスとモデルカタログを備えた正式プロバイダーです(v0.9.0以降)。v0.14.0ではSuperGrok OAuthが追加され、利用資格のあるアカウントではgrok-4.3のコンテキストウィンドウが1Mに拡大されました。21619 v0.17.0では grok-composer-2.5-fast(xAI OAuth経由で提供されるCursorのモデル、200kコンテキスト)が追加され、xAIのデフォルトが grok-build-0.1 に変更されました。21 v0.19.0では、カタログ内のgrok-4.5がGAへ移行しました。56 |
| xAI Custom Voices | APIキー | 音声クローニング対応のTTSプロバイダーです。v0.13.0で新たに追加されました。config.yaml の tts: で設定し、.env にxAIキーを指定します。18 |
| Xiaomi MiMo | ネイティブプロバイダー | 設定ウィザードとモデルカタログを備えた正式プロバイダーです。補助タスクでは、Nous Portal上の無料MiMo v2 Proを利用できます(v0.9.0以降)。1615 |
| Google AI Studio | APIキー | ~/.hermes/.env に GOOGLE_API_KEY または GEMINI_API_KEY。models.devレジストリによるコンテキスト長の自動検出に対応した、Geminiへの直接アクセスです(v0.8.0以降)。15 |
| Qwen OAuth (Portal) | OAuth | hermes model → “Qwen OAuth (Portal)”(プロバイダー:qwen-oauth。ローカルのQwen CLIログインを再利用するブラウザPKCEログイン)。ポータルリクエストに対応したOAuthプロバイダーです(v0.8.0以降)。上記のAPIキーを使うDashScopeパスは、v0.14.0でAlibaba CloudからQwen Cloudへ名称変更されました。既存の設定キーは引き続き機能します。151926 |
| OpenCode Free(削除済み) | キー不要 | 2026年9月18日に削除され、タグ v2026.9.21 および v2026.9.24 には存在しません。設定に opencode-free、free、opencode_free のいずれかが残っている場合、削除されたことを示すエラーが表示されます。hermes model から opencode-zen(従量課金、OPENCODE_ZEN_API_KEY)または opencode-go(サブスクリプション、OPENCODE_GO_API_KEY)へ切り替えてください。このプロバイダーは、v0.20.5の期間に「認証不要のopencode-freeプロバイダー」として追加されていました。2353 |
| OpenAI API(直接) | APIキー | ~/.hermes/.env に OPENAI_API_KEY(プロバイダー:openai-api、必要に応じて OPENAI_BASE_URL)26 |
| Google Vertex AI | OAuth2 / ADC | hermes model → “Google Vertex AI”(プロバイダー:vertex。サービスアカウントのJSONまたはApplication Default CredentialsによるOAuth2を使用し、GCPプロジェクトに課金)26 |
| Azure AI Foundry | エンドポイント+キー | hermes model → “Azure AI Foundry”(プロバイダー:azure-foundry。Azure OpenAI / Foundryのエンドポイントとキーを使用。選択画面では「OpenAI形式またはAnthropic形式のエンドポイント」と説明されています)26 |
| AWS Bedrock | AWS認証情報 | hermes model → “AWS Bedrock”(プロバイダー:bedrock。boto3を介した標準のAWS認証情報チェーン、IAMまたはAPIキーを使用。Claude、Nova、Llama、DeepSeek)26 |
| NVIDIA NIM / Build | APIキー | ~/.hermes/.env に NVIDIA_API_KEY(プロバイダー:nvidia。build.nvidia.comでNIMにホストされるNemotronなどのモデル、またはベースURLの上書きによるローカルNIMエンドポイント)26 |
| Ollama Cloud | OAuthまたはAPIキー | hermes model → “Ollama Cloud”(プロバイダー:ollama-cloud。OLLAMA_API_KEY を貼り付け、検出されたクラウドホスト型モデルから選択)26 |
| StepFun Step Plan | APIキー | ~/.hermes/.env に STEPFUN_API_KEY(プロバイダー:stepfun。Step Plan APIを介したエージェントモデルおよびコーディングモデル)26 |
| MiniMax (OAuth) | OAuth | hermes model → “MiniMax (OAuth)”(プロバイダー:minimax-oauth。グローバルまたは中国リージョンのCoding Planに対応したブラウザPKCEログイン)26 |
| Meta AI | APIキー | ~/.hermes/.env に MODEL_API_KEY(プロバイダー:meta-ai。Meta Model API、Muse Sparkファミリー)26 |
| NovitaAI | API キー | ~/.hermes/.env の NOVITA_API_KEY(provider: novita、200以上のモデル、Model API、Agent Sandbox、GPU Cloud)26 |
| Arcee AI | API キー | ~/.hermes/.env の ARCEEAI_API_KEY(provider: arcee、エイリアス: arcee-ai、arceeai、Trinityモデル)26 |
| GMI Cloud | API キー | ~/.hermes/.env の GMI_API_KEY(provider: gmi、エイリアス: gmi-cloud、gmicloud)。GMIの /v1/models エンドポイントから返される正確なモデルIDを使用します26 |
| Actual Computer | API キーまたはローカルデーモン | ホスト型リレーでは ~/.hermes/.env の ACTUAL_API_KEY を使用します。ローカルデーモンでは ACTUAL_BASE_URL=http://127.0.0.1:8080 を指定し、ループバック接続にキーは不要です(provider: actual、エイリアス: actual-computer、actualcomputer、aci)26 |
| Tencent TokenHub | API キー | ~/.hermes/.env の TOKENHUB_API_KEY(provider: tencent-tokenhub、エイリアス: tencent、tokenhub、tencentmaas、Hy3 Preview)26 |
| CommandCode | API キー | ~/.hermes/.env の COMMANDCODE_API_KEY(provider: commandcode、エイリアス: commandcode-chat。commandcode-anthropic 経由の Claude モデル、エイリアス: commandcode-claude)。GOAT/Pro/Max/Providerプランで利用できますが、API アクセスが含まれない1ドルのGoプランでは利用できません。このプラグインはv0.20.3のリリース期間に追加されました。5426 |
| Alibaba Cloud(Coding Plan) | API キー | DASHSCOPE_API_KEY(provider: alibaba-coding-plan、エイリアス: alibaba_coding)。alibaba DashScopeプロバイダーとは異なるエンドポイントを使用する、別個の課金SKUです26 |
| Tencent TokenPlan | API キー | ~/.hermes/.env の TOKENPLAN_API_KEY(provider: tencent-tokenplan、エイリアス: tokenplan、tencent-lkeap。api.lkeap.cloud.tencent.comの Anthropic Messagesエンドポイント経由でHy4プレビューを提供)。v0.21.0で追加されました。選択画面では、TokenHubとTokenPlanが表示専用の「Tencent Hy」という1つの行にまとめられます3536 |
| Nebius Token Factory | API キー | ~/.hermes/.env の NEBIUS_API_KEY(provider: nebius-token-factory、エイリアス: nebius、nebius-tf、tokenfactory)。v0.21.0で追加されました3536 |
| Ramp Router | API キー | ~/.hermes/.env の RAMP_ROUTER_API_KEY(provider: router、エイリアス: ramp-router、ramp、router.com)。api.router.comで提供されるRampのOpenAI Responsesネイティブな LLM gatewayで、アカウントごとにリアルタイムのカタログが用意されています。有効なモデルIDは、使用するキーの /v1/models が返すものとなるため、選択画面ではハードコードせずに取得します。v0.21.0で追加されました3536 |
| Alibaba Cloud(Token Plan) | API キー | ~/.hermes/.env の ALIBABA_TOKEN_PLAN_API_KEY(provider: alibaba-token-plan、中国本土向けエンドポイント: alibaba-token-plan-cn)— Model Studioの定額トークンプランであり、alibaba と alibaba-coding-plan に続く3つ目のAlibaba SKUです36 |
| カスタムエンドポイント | config.yaml | hermes model →「Custom endpoint」(config.yaml に保存)。ドキュメントに掲載されているOpenAI互換サービスには、Together AI、Groq、Cerebras(https://api.cerebras.ai/v1)、Mistral、Azure OpenAI、LocalAI、Janがあります26 |
v0.19.0以降は、使用しないプロバイダーを非表示にすることもできます。プロバイダーごとの enabled: false フラグと excluded_providers 設定キーにより、対象のプロバイダーが /model の選択画面と組み込みのプロバイダー解決処理から除外されます。56 |
Anthropic: 3つの認証方式
Hermesは Claude への接続方法を3つサポートしており、適切な方式の選択が重要なため、Anthropic について個別に解説します。アップストリームのドキュメントによると、次のとおりです。2
# Method 1: API key (pay-per-token)
export ANTHROPIC_API_KEY=***
hermes chat --provider anthropic --model claude-sonnet-4-6
# Method 2: OAuth through hermes model (preferred)
# Uses Claude Code's credential store when available
hermes model
# Method 3: Manual setup-token (fallback/legacy)
export ANTHROPIC_TOKEN=***
hermes chat --provider anthropic
# Auto-detect Claude Code credentials
hermes chat --provider anthropic # reads Claude Code files automatically
hermes model で Anthropic OAuth を選択すると、Hermesはトークンを ~/.hermes/.env にコピーするのではなく、Claude Code 自体の認証情報ストアを優先します。これにより、更新可能な Claude の認証情報を引き続き更新できます。2 同じマシンですでに Claude Code を使用している場合は、これが最もすっきりした方法です。
config.yaml で Anthropic を常時使用するには、次のように指定します。
model:
provider: "anthropic"
default: "claude-sonnet-4-6"
--provider claude と --provider claude-code は、--provider anthropic の短縮形としても使用できます。2
GitHub Copilot: 2つのモード
Copilotは、直接Copilot API(推奨)とCopilot ACP(ローカルのCopilot CLI をサブプロセスとして起動)の2つのモードに対応しています。2
# Direct Copilot API
hermes chat --provider copilot --model gpt-5.4
# Copilot ACP (requires the Copilot CLI in PATH + an existing copilot login)
hermes chat --provider copilot-acp --model copilot-acp
アップストリームのドキュメントによると、認証は次の順序で確認されます。2
1. COPILOT_GITHUB_TOKEN 環境変数
2. GH_TOKEN 環境変数
3. GITHUB_TOKEN 環境変数
4. gh auth token CLI フォールバック
5. hermes model による OAuth デバイスコードログイン
トークンの種類が重要です。 Copilot API は、従来型のPersonal Access Token(ghp_*)をサポートしていません。サポートされているのは、OAuth トークン(gho_*)、きめ細かなPAT(Copilot Requests 権限を持つ github_pat_*)、GitHub Appトークン(ghu_*)です。gh auth token が ghp_* トークンを返す場合は、代わりに hermes model を使用して OAuth で認証してください。2
中国のAIプロバイダー(正式サポート)
Hermesは、z.ai/GLM、Kimi/Moonshot、MiniMax(グローバルおよび中国向けエンドポイント)、Alibaba Cloudを専用のプロバイダーIDで組み込みサポートしています。2
# z.ai / ZhipuAI GLM
hermes chat --provider zai --model glm-5 # Requires: GLM_API_KEY
# Kimi / Moonshot AI
hermes chat --provider kimi-coding --model kimi-for-coding # Requires: KIMI_API_KEY
# MiniMax (global)
hermes chat --provider minimax --model MiniMax-M2.7 # Requires: MINIMAX_API_KEY
# MiniMax (China)
hermes chat --provider minimax-cn --model MiniMax-M2.7 # Requires: MINIMAX_CN_API_KEY
# Alibaba Cloud / DashScope (Qwen)
hermes chat --provider alibaba --model qwen3.5-plus # Requires: DASHSCOPE_API_KEY
ベースURLは、環境変数 GLM_BASE_URL、KIMI_BASE_URL、MINIMAX_BASE_URL、MINIMAX_CN_BASE_URL、DASHSCOPE_BASE_URL で上書きできます。2
Z.AIはエンドポイントを自動検出します。 z.ai/GLMプロバイダーを使用すると、Hermesは複数のエンドポイント(グローバル、中国、コーディング向けの各バリアント)を調査し、使用中の API キーを受け付けるものを探します。利用可能なエンドポイントは自動的にキャッシュされるため、ほとんどの場合、GLM_BASE_URL の指定は不要です。2
xAI(Grok)はプロンプトキャッシュを自動的に有効化します。 ベースURLに x.ai が含まれている場合、Hermesは会話セッション内のリクエストを同じサーバーへ転送するため、リクエストごとに x-grok-conv-id ヘッダーを送信します。これにより、キャッシュされたシステムプロンプトと履歴を再利用できます。2 自動で動作するため、設定は不要です。
hermes auth コマンド
hermes auth は、プールと OAuth の認証情報を管理するコマンドです。6
hermes auth # Interactive wizard
hermes auth list # Show all credential pools
hermes auth list openrouter # Show one provider's pool
hermes auth add openrouter --api-key sk-or-v1-xxx
hermes auth add anthropic --type oauth
hermes auth remove openrouter 2 # Remove by index
hermes auth reset openrouter # Clear cooldowns
認証情報プールを使うと、同じプロバイダーに対して複数の API キーまたは OAuth トークンをローテーションできます。コードを変更せずに、複数のキーへレート制限を分散したい場合に便利です。6 従来の hermes login/hermes logout コマンドは削除されました。代わりに hermes auth を使用してください。6
カスタムおよびセルフホスト型エンドポイント
Hermesは、OpenAI互換のあらゆる API エンドポイントで動作します。サーバーが /v1/chat/completions を実装していれば、Hermesの接続先として指定できます。2
対話形式の設定(推奨):
hermes model
# Select "Custom endpoint (self-hosted / VLLM / etc.)"
# Enter: API base URL, API key, Model name
手動での config.yaml 設定:
model:
default: your-model-name
provider: custom
base_url: http://localhost:8000/v1
api_key: your-key-or-leave-empty-for-local
どちらの方法でも設定は config.yaml に保存されます。これはメインモデル、プロバイダー、ベースURLに関する唯一の信頼できる情報源です。2 従来の環境変数 OPENAI_BASE_URL と LLM_MODEL は、メインモデルの設定では読み込まれなくなりました。hermes model を使用するか、config.yaml を直接編集してください。2(ただし、補助的な provider: "main" ルーティング経路のフォールバックでは、OPENAI_BASE_URL と OPENAI_API_KEY が引き続き使用されます。その用途で利用している場合は、安易に削除しないでください。)4
セッション途中でのカスタムエンドポイントの切り替え:
/model custom:qwen-2.5 # Custom endpoint with explicit model
/model custom # Auto-detect the model from the endpoint
/model custom:local:qwen-2.5 # Named custom provider "local"
/model custom:work:llama3 # Named custom provider "work"
/model openrouter:claude-sonnet-4 # Back to a cloud provider
/model custom(モデル名なし)を実行すると、エンドポイントの /v1/models API を照会し、読み込まれているモデルが1つだけの場合は自動的に選択します。単一モデルを実行するローカルサーバーで便利です。2
ローカル LLM サーバー(セットアップテンプレート)
公式ドキュメントには、Ollama、vLLM、SGLang、llama.cpp、LM Studioの詳細なセットアップガイドがあります。ここでは、実際に使用する主要なコマンドを紹介します。いずれも、Hermesから接続できる実用的なエンドポイントを構築するためのものです。2
Ollama — 最も手軽なローカル環境で、設定は不要です。
ollama pull qwen2.5-coder:32b
OLLAMA_CONTEXT_LENGTH=32768 ollama serve # Raise from 4k default
hermes model # Custom endpoint → http://localhost:11434/v1 → qwen2.5-coder:32b
Ollamaで特に注意すべき点: Ollamaのコンテキスト長は、デフォルトでは非常に短く設定されています(VRAMが24GB未満の場合は4,096トークン)。OLLAMA_CONTEXT_LENGTH またはModelfileで必ず引き上げてください。OpenAI互換の API はクライアントからのコンテキスト長指定を受け付けないため、Hermes側では設定できません。2 Agent用途では、少なくとも16k〜32kに設定しましょう。
vLLM — 高性能な GPU サービング:
pip install vllm
vllm serve meta-llama/Llama-3.1-70B-Instruct \
--port 8000 \
--max-model-len 65536 \
--tensor-parallel-size 2 \
--enable-auto-tool-choice \
--tool-call-parser hermes
ツール呼び出しには、--enable-auto-tool-choice と --tool-call-parser <name> が必要です。対応するパーサーは、hermes(Qwen 2.5、Hermes 2/3)、llama3_json、mistral、deepseek_v3、deepseek_v31、xlam、pythonic です。これらのフラグがない場合、ツール呼び出しはプレーンテキストとして返されます。2
SGLang — RadixAttentionによるKVキャッシュ再利用に対応した高速サービング:
pip install "sglang[all]"
python -m sglang.launch_server \
--model meta-llama/Llama-3.1-70B-Instruct \
--port 30000 \
--context-length 65536 \
--tp 2 \
--tool-call-parser qwen
SGLangで注意すべき点: デフォルトの max_tokens は128です。レスポンスが途中で切れる場合は、サーバー側で --default-max-tokens を指定するか、config.yaml で model.max_tokens を設定してください。2
llama.cpp / llama-server — CPUおよびApple Silicon Metal:
./build/bin/llama-server \
--jinja -fa \
-c 32768 \
-ngl 99 \
-m models/qwen2.5-coder-32b-instruct-Q4_K_M.gguf \
--port 8080 --host 0.0.0.0
ツール呼び出しには --jinja が必須です。 これがないと、llama-serverは tools パラメーターを完全に無視します。その結果、モデルはレスポンス本文に JSON を書き込んでツールを呼び出そうとしますが、Hermesはそれを実際のツール呼び出しとして解析できません。2
LM Studio — GUIを備えたデスクトップアプリ:
LM Studioアプリからサーバーを起動するか(Developerタブ → Start Server)、CLI で lms server start(ポート1234で起動)と lms load qwen2.5-coder --context-length 32768 を実行します。2 その後、hermes model の接続先を http://localhost:1234/v1 に設定してください。
LM Studioで特に注意すべき点: LM Studioはモデルのメタデータからコンテキスト長を読み取りますが、多くのGGUFモデルではデフォルト値として2048または4096が設定されています。LM Studioのモデル設定で、コンテキスト長を必ず明示的に指定してください。モデル選択欄の横にある歯車アイコンをクリックし、「Context Length」を少なくとも16384(できれば32768)に設定してから、モデルを再読み込みします。2
名前付きカスタムプロバイダー
複数のカスタムエンドポイント(ローカル開発サーバーとリモートの GPU サーバーなど)を使用する場合は、config.yaml で名前付きカスタムプロバイダーとして定義します。2
custom_providers:
- name: local
base_url: http://localhost:8080/v1
# api_key omitted — Hermes uses "no-key-required" for keyless local servers
- name: work
base_url: https://gpu-server.internal.corp/v1
api_key: corp-api-key
api_mode: chat_completions # optional, auto-detected from URL
- name: anthropic-proxy
base_url: https://proxy.example.com/anthropic
api_key: proxy-key
api_mode: anthropic_messages # for Anthropic-compatible proxies
セッション中は、3要素の構文を使ってプロバイダーを切り替えられます。
/model custom:local:qwen-2.5
/model custom:work:llama3-70b
/model custom:anthropic-proxy:claude-sonnet-4
対話形式の hermes model メニューから名前付きカスタムプロバイダーを選択することもできます。2
プラガブルなプロバイダーアーキテクチャ(v0.13.0以降)
v0.13.0では、ProviderProfile ABC と plugins/model-providers/ ディレクトリが導入され、サードパーティの推論プロバイダーをコアに手を加えず追加できるようになりました。18 プロバイダーがOpenAI、Anthropic、またはCodex互換の API モードに対応している場合は、認証方法、ベースURL、モデルカタログ、キャッシュヘッダーを宣言する ProviderProfile のサブクラスを実装できます。Hermesは、組み込みプロバイダーと同じ runtime_provider.py の経路でこれを解決します。v0.13.0でプロバイダー対応が拡張された背景には、このアーキテクチャ変更があります。プロバイダーを追加するためにコアコードを編集するのではなく、プラグインとして配布できるようになったのです。
OpenAI互換ローカルプロキシ(v0.14.0以降)
hermes proxy は、Hermesがすでにサインインしている OAuth プロバイダー(Claude Pro、ChatGPT Pro、SuperGrok、または設定済みの別の互換プロバイダー)をバックエンドとして、OpenAI互換のローカルエンドポイントを公開します。19 これにより、Codex CLI、Aider、Cline、Continue、カスタムスクリプトなど、OpenAI形式の API を必要とするツールから、別途 API キーを用意せずに、サブスクリプションに紐づくHermesの認証を再利用できます。このプロキシはローカルの開発インフラとして扱ってください。バインド先を意図的に指定し、広く公開せず、プロバイダー固有の利用規約にも留意しましょう。
コンテキスト長の検出
公式ドキュメントによると、次の2つの設定は頻繁に混同されます。2
context_length— コンテキストウィンドウ全体(入力と出力を合わせたトークン予算。たとえば Claude Opus 4.7では1,000,000、Sonnet 4.6では200,000)です。Hermesはこの値を使って、履歴を圧縮するタイミングを判断します。model.max_tokens— 出力の上限(モデルが1回のレスポンスで生成できる最大トークン数)です。履歴の長さとは関係ありません。
自動検出されたウィンドウサイズが正しくない場合は、context_length を設定します。
model:
default: "qwen3.5:9b"
base_url: "http://localhost:8080/v1"
context_length: 131072 # tokens
Hermesは複数の情報源を順番に参照して、コンテキストウィンドウを検出します。設定による上書き → カスタムプロバイダーのモデル別設定 → 永続キャッシュ → エンドポイントの /models → Anthropic の /v1/models → OpenRouter API → Nous Portal → models.dev(3,800以上のモデルを収録するコミュニティ管理のレジストリ)→ フォールバックのデフォルト値(128K)という順序です。2 この仕組みはプロバイダーを考慮するため、同じモデルでも提供元によってコンテキスト上限が異なる場合があります(たとえば、claude-opus-4.6 は Anthropic への直接接続では1Mですが、GitHub Copilotでは128Kです)。2
スマートモデルルーティング:プロバイダーのローテーションとフォールバック
Hermesでは、単一プロバイダーの1つのモデルに固定されることはありません。スマートモデルルーティングとは、 各リクエストを実際に処理するプロバイダーとモデルを決定する一連の仕組みです。認証情報 プールは複数のキーに負荷を分散し、プライマリで障害が発生すると設定済みのフォールバックが処理を引き継ぎ、 後述の補助スロットはメインモデルとは独立して、付随タスクをより低コストなモデルへ 振り分けます。26 この3つはまとめて設定してください。レート制限で停止するAgentと、 処理を継続できるAgentを分ける重要な設定です。
認証情報プール。 同じプロバイダーの API キーが複数ある場合は、hermes auth でローテーション方式を設定します。これにより、複数のキーにレート制限を分散できます。6
フォールバックモデル。 プライマリモデルで障害(レート制限、サーバーエラー、認証エラー)が発生した際に、Hermesが自動的に切り替える予備の provider:model を設定します。2
fallback_model:
provider: openrouter # required
model: anthropic/claude-sonnet-4 # required
# base_url: http://localhost:8000/v1 # optional, for custom endpoints
# api_key_env: MY_CUSTOM_KEY # optional, env var name
フォールバックでは、会話内容を失うことなく、セッションの途中でモデルとプロバイダーを切り替えます。発動するのはセッションごとに最大1回です。2 フォールバックに対応するプロバイダーは、openrouter、nous、openai-codex、copilot、copilot-acp、anthropic、huggingface、zai、kimi-coding、minimax、minimax-cn、deepseek、ai-gateway、opencode-zen、opencode-go、kilocode、alibaba、custom です。2
補助モデル
Hermesは、画像分析(ビジョン)、危険なコマンドの承認判定、コンテキスト圧縮、セッションタイトルの生成、TTS音声タグの挿入、skillのマッチング、MCP ツールのディスパッチ、Kanbanの指定・分解処理といった付随タスクに「補助」モデルを使用します。434 デフォルト(auxiliary.*.provider: "auto")では、すべての補助タスクがメインのチャットモデル、つまり hermes model で選択したものと同じプロバイダーとモデルで実行されます。ドキュメントでは、これが従来の低コストプロバイダー自動検出に代わる仕様であることを明記しています。「以前のビルドでは、アグリゲーター(OpenRouter、Nous Portal)のユーザーを、プロバイダー側で設定された低コストのデフォルトモデルに振り分けていました。これは予想外の挙動でした……現在、auto はすべてのユーザーに対してメインモデルを使用し、config.yaml のタスク別オーバーライドは引き続き優先されます。」34 利用を始めるにあたって設定は不要ですが、コストとのトレードオフがあります。高価な推論モデルでは補助タスクにも相応の費用がかかるため、必要に応じて各タスクを安価で高速なモデルに割り当ててください。
以前の補助タスクのうち2つは、LLM をまったく使用しなくなりました。Web 抽出(「web_extract とブラウザーのスナップショットは、長いコンテンツを決定的な方法で切り詰め、全文を read_file によるページング用として保存します。LLM は関与しません」)とセッション検索(単一形式のツールが DB の内容を直接返します)です。従来の auxiliary.web_extract.* ブロックと auxiliary.session_search.* ブロックはデフォルトから削除されています。既存の config.yaml に値が残っていても「無害な残骸として無視されます」。また、このタグのデフォルトには flush_memories スロットもありません。34
各補助タスクで使用するモデルとプロバイダーを設定できます。 すべての補助スロットで共通の設定項目を使用します。provider、model、base_url(さらに api_key、timeout、extra_body、タスクごとの reasoning_effort)です。434
auxiliary:
vision: # vision_analyze + browser screenshots
provider: "auto" # "auto" (= main model), "openrouter", "nous", "main", etc.
model: "" # e.g. "openai/gpt-4o", "google/gemini-2.5-flash"
base_url: "" # Custom OpenAI-compatible endpoint
api_key: "" # Falls back to OPENAI_API_KEY
timeout: 120
download_timeout: 30
approval: # dangerous-command approval classifier
provider: "auto"
model: ""
timeout: 30
compression: # summarizer -- legacy compression.summary_* keys migrate here (config v17)
provider: "auto"
model: ""
base_url: ""
timeout: 120
title_generation: # auto-generated session titles after the first exchange
enabled: true # set false to disable auto-titles
provider: "auto"
model: ""
language: "" # empty follows the conversation; e.g. "English" pins titles to one language
tts_audio_tags: { provider: "auto", model: "" } # Gemini 3.1 TTS hidden audio-tag insertion
skills_hub: { provider: "auto", model: "" } # skill matching and search
mcp: { provider: "auto", model: "" } # MCP tool dispatch
triage_specifier: { provider: "auto", model: "" } # hermes kanban specify: rough one-liner into a concrete spec, promoted to todo
kanban_decomposer: { provider: "auto", model: "" } # hermes kanban decompose: triage task into a graph of child tasks routed to specialist profiles
profile_describer: { provider: "auto", model: "" } # hermes profile describe --auto: 1-2 sentence profile descriptions
さらに専門的なスロットも同じ形式です。goal_judge(/goal の契約が満たされたかを判定)、curator(skill 使用状況をレビューするフォーク)、background_review(ターン後に自己改善を行うフォーク)、review(/review のレビュー担当サブエージェント)、moa_reference と moa_aggregator(Mixture-of-Agents)、memory_query_rewrite、monitor があります。YAML を手動で編集する必要はありません。hermes model を実行し、「Configure auxiliary models」を選択すると、タスクごとに対話形式で選べます。34
"main" プロバイダーオプションは、「メインエージェントが使用しているプロバイダーをそのまま使用する」という意味です。これは auxiliary:、compression:、およびプライマリのフォールバック項目(fallback_providers: または従来の fallback_model:)内でのみ有効です。トップレベルの model.provider 設定には使用できません。OpenAI 互換のカスタムエンドポイントをメインモデルとして使用する場合は、model: セクションで provider: custom を設定してください。4
これが重要な理由: auto はすでにメインモデルを使用するため、以前の「OpenRouter を設定しないと補助タスクの性能がひそかに低下する」という落とし穴はなくなりました。代わりに、考慮すべき点はコストです。メインモデルが高価な推論モデルなら、頻繁に動作する副次的なタスクには、安価で高速なモデルを割り当てましょう。
auxiliary:
vision:
provider: "openrouter"
model: "google/gemini-2.5-flash"
compression:
provider: "openrouter"
model: "google/gemini-2.5-flash"
設定システム
Hermes には階層型の設定システムがあります。上位レイヤーが下位レイヤーを上書きするうえ、config.yaml からは確認できないグローバルなプロバイダーレジストリも存在するため、優先順位の理解が欠かせません。
設定ファイルの構成
公式ドキュメントによると、Hermes の設定は次のファイルで構成されます。4
~/.hermes/
├── config.yaml # All settings (model, terminal, TTS, compression, memory, toolsets, ...)
├── .env # Secrets (API keys, bot tokens, passwords)
├── auth.json # OAuth provider credentials (Nous Portal, Codex, Anthropic)
├── SOUL.md # Primary agent identity (slot #1 in system prompt)
├── memories/ # Persistent memory (MEMORY.md, USER.md)
├── skills/ # Bundled + agent-created + hub-installed skills
├── cron/ # Scheduled jobs
├── sessions/ # Gateway session state
└── logs/ # agent.log, gateway.log, errors.log (secrets auto-redacted)
config.yaml と .env の両方に値が設定されている場合、機密情報以外の設定では config.yaml が優先されます。4 ルールは次のとおりです。
- 機密情報(API キー、bot トークン、パスワード)→ .env
- それ以外のすべて(モデル、ターミナルバックエンド、圧縮設定、メモリ上限、toolset)→ config.yaml
config.yaml からは、シェル形式の変数展開を使って機密情報を参照できます。4
auxiliary:
vision:
api_key: ${GOOGLE_API_KEY}
base_url: ${CUSTOM_VISION_URL}
delegation:
api_key: ${DELEGATION_KEY}
設定の管理
hermes config # View current configuration
hermes config show # Same as above
hermes config edit # Open config.yaml in your editor
hermes config set KEY VAL # Set a specific value
hermes config get KEY # Print a single value (v0.19.0+)
hermes config unset KEY # Remove a key so the default applies again (v0.19.0+)
hermes config path # Print the config file path
hermes config env-path # Print the .env file path
hermes config check # Check for missing options (after updates)
hermes config migrate # Interactively add missing options
例:4
hermes config set model anthropic/claude-opus-4
hermes config set terminal.backend docker
hermes config set OPENROUTER_API_KEY sk-or-... # Saves to .env
hermes config check と hermes config migrate は、hermes update のたびに実行するコマンドです。まだファイルに追加されていない新しい設定項目を検出できます。6
設定の優先順位
Hermes は複数のソースから設定を読み込みます。複数のソースで同じ値が設定されている場合は、優先順位の高いソースが適用されます。4
- CLI 引数 —
hermes chat --model anthropic/claude-sonnet-4(実行ごとの上書き) - 環境変数 — プロセス起動時に適用
config.yaml— メインの設定ファイル.env— 機密情報のみ- 組み込みのデフォルト値 — ほかに値が設定されていない場合に適用
CLI フラグは、その実行に限って常に最優先されます。長期的な信頼できる情報源は config.yaml です。
ローカライズ(v0.13.0以降)
v0.13.0 では、CLI と gateway メッセージに7つのロケール(簡体字中国語、日本語、ドイツ語、スペイン語、フランス語、ウクライナ語、トルコ語)が追加されました。18 v0.14.0 では、すべての gateway コマンドとウェブダッシュボードがローカライズされ、さらに8つのロケールが追加されて合計16になりました。19 タグ v2026.8.31 時点の locales/ ツリーには、英語と16の翻訳(af、ar、de、es、fr、ga、hu、it、ja、ko、pt、ru、tr、uk、zh-hant、zh)からなる17のメッセージカタログがあります。33 現在、ドキュメントがローカライズされているのは zh-Hans のみです。ロケールは LC_ALL / LANG 環境変数、または config.yaml の明示的な locale: キーによって決まります。英語が引き続きデフォルトかつ信頼できる情報源となり、翻訳がまだ対応していない文字列には英語が使われます。
Profiles — 分離された複数の Hermes インスタンス
profile を使うと、それぞれが独自の設定、セッション、skill、メモリ、gateway PID を持つ、分離された複数の Hermes インスタンスを利用できます。これにより、「仕事用 Hermes」と「個人用 Hermes」を、互いの状態を参照させずに並行して実行できます。6
hermes profile list
hermes profile create work --clone # Clone from current profile
hermes profile use work # Set sticky default
hermes profile alias work --name h-work # Create wrapper script
hermes profile export work -o work-backup.tar.gz
hermes profile import work-backup.tar.gz --name restored
hermes -p work chat -q "Hello from work profile" # One-off without switching
各 profile には専用の HERMES_HOME(デフォルトでは ~/.hermes-<name>/)が割り当てられるため、複数の profile で互いに干渉することなく gateway を同時に実行できます。63
v0.21.2 以降、この分離境界はさらに厳格に適用されます。一連の修正により、複数の profile で gateway を多重化する構成に実在した、profile 間の情報漏洩が解消されました。たとえば、セカンダリ profile がデフォルト profile の許可リストを継承する、そのホストへ認証情報を送信する、stdio MCP サーバーへ vault の機密情報を渡す、別の profile の .env/auth.json/state.db を MEDIA: 配信に添付するといった問題です(#107609〜#107630)。profile を多重化する場合、分離に関する仕様が実際に保証されるのは v0.21.2 以降です。詳しくは、v0.21.2の新機能をご覧ください。48
CLI コマンド
このセクションでは、トップレベルの CLI コマンドを実務者向けにまとめます。コードに基づく正式なリファレンスについては、アップストリームの CLI コマンドリファレンスをご覧ください。6
グローバルオプション
hermes [global-options] <command> [subcommand/options]
| オプション | 説明 |
|---|---|
--version, -V |
バージョンを表示して終了します |
--profile <name>, -p <name> |
使用する Hermes profile を選択します |
--resume <session>, -r <session> |
ID またはタイトルを指定してセッションを再開します |
--continue [name], -c [name] |
直近のセッションを再開します(またはタイトルに一致するセッションを選択します) |
--worktree, -w |
分離された git worktree で開始します |
--in <dir> |
開始または再開する前に DIR へ移動します。--resume latest または -c と組み合わせると、DIR のワークスペースで直近のセッションが選択され、セッションは DIR に留まります(記録された cwd の復元を省略します)27 |
--ignore-user-config |
~/.hermes/config.yaml を無視し、組み込みのデフォルト設定を使用します(.env の認証情報は引き続き読み込まれます)27 |
--ignore-rules |
AGENTS.md、SOUL.md、.cursorrules、メモリ、プリロード済み skill の自動挿入を省略します27 |
--tui |
従来の REPL の代わりに最新の TUI を起動します27 |
--cli |
従来の prompt_toolkit REPL を強制的に使用します(display.interface=tui を上書きします)27 |
--dev |
--tui と併用すると、tsx 経由で TypeScript のソースを実行します(dist ビルドを省略します)27 |
--yolo |
危険なコマンドの承認プロンプトを省略します |
--safe-mode |
トラブルシューティング用フラグです。起動時の問題を切り分けるため、Hermes を最小限のセーフモードで起動します(v0.19.0 以降)56 |
--pass-session-id |
エージェントのシステムプロンプトにセッション ID を含めます |
トップレベルコマンド
| コマンド | 用途 |
|---|---|
hermes chat |
対話形式または単発のチャット |
hermes model |
デフォルトのプロバイダーとモデルを対話形式で選択します |
hermes gateway |
メッセージング gateway を実行または管理します |
hermes setup |
対話形式のセットアップウィザード |
hermes auth |
認証情報を管理します(追加、一覧表示、削除、リセット、戦略の設定) |
hermes status |
エージェント、認証、プラットフォームの状態を表示します |
hermes cron |
cron スケジューラーを確認し、tick を実行します |
hermes webhook |
動的な webhook サブスクリプションを管理します |
hermes doctor |
設定と依存関係の問題を診断します |
hermes dump |
サポートやデバッグに使える、コピー&ペースト可能なセットアップ概要を出力します |
hermes logs |
エージェント、gateway、エラーのログを表示、追跡、絞り込みます |
hermes config |
設定の表示、編集、移行、照会を行います |
hermes pairing |
メッセージングのペアリングコードを承認または取り消します |
hermes skills |
skill の閲覧、インストール、公開、監査を行います |
hermes honcho |
Honcho のセッション横断メモリを管理します。プラグインが有効な場合にのみ使用できます。ドキュメントには「プラグイン固有のサブコマンド(例:hermes honcho)は、そのプロバイダーが有効になると自動的に登録される」と記載されているため、Honcho が有効なメモリプロバイダーでない限り hermes --help には表示されません6 |
hermes memory |
外部メモリプロバイダーを設定します |
hermes acp |
Hermes を ACP サーバーとして実行します(エディター連携) |
hermes mcp |
MCP サーバーの設定を管理し、Hermes を MCP サーバーとして実行します |
hermes plugins |
プラグインを管理します |
hermes tools |
プラットフォームごとに有効化するツールを設定します |
hermes sessions |
セッションの閲覧、エクスポート、整理、削除を行います。v0.19.0 では、hermes sessions export の対応形式が Markdown、Quarto、HTML、プロンプトのみ、Hugging Face トレースへ拡張されました。任意指定の --redact によるシークレット除去処理と、経過期間、ワークスペース、プラットフォームによるフィルターも利用できます56。hermes sessions recover は、破損した state.db から正規のセッションデータを別の新規データベースへ再構築します。オフラインかつ非破壊で実行され、--inspect-only を指定するとデータベースを作成せず、正規テーブルを読み取れるかどうかを報告します(v0.21.2 で案内されている復旧手順)48。hermes sessions set-journal-mode delete\|wal(v0.21.4 時点)は、ストアの WAL とロールバックジャーナルをオフラインで相互変換します。別のプロセスがデータベースまたはサイドカーファイルを保持している間は実行を拒否し、開いているプロセスの終了を待たずに切り替え、切り替え後に SQLite ヘッダーのバイト 18/19 を検証します。デフォルト以外のストアには --db を指定できます。最初に gateway、dashboard、すべての CLI を停止してください。保持プロセスをスキャンできない Windows では、すべての Hermes プロセスを自分で停止したうえで --force を指定するまで実行されません。変換対象のストアをコマンド自体が開かないよう、ディスパッチは意図的にオフラインで行われます。hermes doctor からもこのコマンドが案内されるようになりました51 |
hermes insights |
トークン、コスト、アクティビティの分析を表示します |
hermes claw |
OpenClaw からの移行を支援します |
hermes profile |
profile(複数の分離されたインスタンス)を管理します |
hermes completion |
シェル補完スクリプト(bash/zsh)を出力します |
hermes whatsapp |
WhatsApp ブリッジを設定してペアリングします |
hermes --version (-V) |
バージョン情報を出力します。これはサブコマンドではなくグローバルフラグです。タグ v2026.8.31 では _BUILTIN_SUBCOMMANDS セットに version エントリがなく、起動時の高速パスは --version / -V のみに一致します27 |
hermes update |
最新のコードを取得し、依存関係を再インストールします |
hermes uninstall |
Hermes をシステムから削除します(--full を指定すると設定とデータも削除されます) |
hermes backup |
設定、セッション、skill、メモリをすべてバックアップします(v0.9.0 以降)16 |
hermes import |
バックアップアーカイブから復元します。マシン間の移行やロールバックに利用できます(v0.9.0 以降)16 |
hermes dashboard |
ブラウザーからエージェントを管理するためのローカル Web dashboard を起動します(v0.9.0 以降)16 |
hermes serve |
バックエンドの API サーバーをヘッドレスで実行します。v0.19.0 以降、Web UI のビルドやマウントは行いません56 |
hermes debug share |
トラブルシューティング時に共有できるよう、完全なデバッグレポートを pastebin にアップロードします(v0.9.0 以降)16 |
hermes approvals |
承認プロンプト用のツールです。suggest は承認履歴を分析し、command_allowlist の候補を生成します。test はコマンドを実行せずに承認判定をドライランします(「決して実行しない」仕様で、--backend と --json に対応します)。v0.21.0 のリリースノートでは、このドライランを hermes approval-check と呼んでいますが、タグ v2026.8.31 に approval-check サブコマンドは存在しません。実際のコマンドは hermes approvals test です2740 |
hermes bundles |
skill バンドルを作成、一覧表示、管理します(複数の skill を1つの /<name> スラッシュコマンドにまとめるエイリアス)27 |
hermes checkpoints |
/rollback の背後にあるシャドウストア ~/.hermes/checkpoints/ の確認、整理、消去を行います。引数なしで実行すると、状態の概要が表示されます27 |
hermes computer-use |
Computer Use(cua-driver)バックエンドを管理します(macOS/Windows/Linux)27 |
hermes console |
安全な Hermes コマンドコンソールを開きます27 |
hermes curator |
バックグラウンドで skill を保守する curator の状態確認、実行、一時停止、固定を行います27 |
hermes egress |
リモートターミナルのサンドボックス向けに、認証情報を注入する iron-proxy の外向き通信ファイアウォールを管理します(デフォルトでは無効)27 |
hermes fallback |
プライマリモデルで障害が発生した際に試行するフォールバックプロバイダーを管理します27 |
hermes hooks |
シェルスクリプトのフックを確認、管理します。list、test <event>、revoke、doctor(実行ビット、許可リスト、mtime のずれ、JSON の妥当性、模擬実行の所要時間)を利用できます27 |
hermes import-agent |
Claude Code(~/.claude)または Codex CLI(~/.codex)のセットアップを Hermes にインポートします27 |
hermes desktop(エイリアス:gui) |
ネイティブの Electron デスクトップアプリをビルドして起動します27 |
hermes kanban |
複数 profile のコラボレーションボード(タスク、リンク、コメント)です。ボード、swarm グラフ(swarm:並列ワーカー → 検証担当 → 統合担当)、ディスパッチャーを備えています27 |
hermes login / hermes logout |
非推奨です。認証情報の管理には hermes auth、プロバイダーの選択には hermes model、完全なセットアップには hermes setup を使用してください27 |
hermes lsp |
Language Server Protocol を管理します。status、list、install <server>、install-all、restart(実行中の LSP クライアントを終了し、次回の編集時に再起動)を利用できます27 |
hermes migrate |
廃止されたモデルや非推奨の設定に対応するため、設定を移行します27 |
hermes moa |
Mixture of Agents のプロバイダー/モデルスロットを設定します(モデル選択画面から選べる名前付きプリセット)27 |
hermes journey(エイリアス:learning、memory-graph) |
学習した skill とメモリの推移を時系列で表示します27 |
hermes monitoring |
gateway の監視状態(健全性と診断情報のエクスポート)を確認します。status では設定、エクスポート状態、秘匿化の状況を表示します27 |
hermes pause / hermes resume |
緊急停止機能です。pause は cron/kanban のディスパッチと gateway の新規ターンを停止し、resume は停止を解除します27 |
hermes peer |
マシンをまたいで bot 同士の DM を行います。ピアとなる Hermes gateway を add、list、remove で管理し、dm でその gateway 上のエージェントへメッセージを送信して応答を出力します27 |
hermes pets |
petdex のアニメーションペットを閲覧、インストール、選択します27 |
hermes portal |
Nous Portal(ログイン、モデル選択、Tool Gateway)をセットアップします。login(デフォルト)、info、open、tools を利用できます。Nous Tool Gatewayも参照してください2728 |
hermes project |
プロジェクト(名前付きの複数フォルダー構成ワークスペース)を管理します。作成、一覧表示、詳細表示、フォルダーの追加/削除、名前変更、プライマリの設定、使用、アーカイブ、復元、kanban ボードとの関連付けが可能です27 |
hermes proxy |
OAuth プロバイダー向けの、ローカルで OpenAI 互換のプロキシです。start、status、providers を利用できます27 |
hermes prompt-size |
システムプロンプトとツールスキーマのバイト数の内訳を表示します。オフラインで動作します27 |
hermes send |
エージェントループや LLM を介さず、設定済みのプラットフォームへメッセージを送信します(スクリプト、cron ジョブ、CI 向け)27 |
hermes skin |
スキンの一覧表示、切り替え、調整を行います(list、use、set)27 |
hermes slack |
Slack 連携用のヘルパーです。manifest は、すべての gateway コマンドをネイティブのスラッシュコマンドとして登録した Slack アプリのマニフェストを出力、またはファイルへ書き込みます27 |
hermes sync |
デバイス間およびチーム内で skill を同期します。status、pull、push、now、enable、disable、device、propose を利用できます27 |
hermes whatsapp-cloud |
WhatsApp Business Cloud の API 連携をセットアップします(hermes whatsapp の Baileys 個人アカウント用ブリッジとは別の機能です)27 |
hermes worktree |
蓄積した git worktree とマージ済みブランチを監査し、整理します。list(エイリアス:ls、audit。デフォルト)は、すべてのツリーを経過期間、サイズ、判定、理由で分類します。prune は安全に削除できるツリーを取り除き、完全にマージされたローカルブランチを削除します。どちらも --repo <root> を指定でき、prune ではさらに --dry-run(変更せずに計画を表示)、--trees-only、--branches-only を使用できます。コミットされていない追跡対象の変更、push されていない固有のコミット、使用中のツリーは削除されません。未追跡ファイルのみを含む作業用データは、削除前に ~/.hermes/archive/worktree-prune/ へアーカイブされます27 |
hermes secrets |
プロセス起動時に API キーを取得するための外部シークレットソース(Bitwarden、1Password)を管理します27 |
hermes security |
venv、プラグイン、MCP サーバーを対象に、OSV.dev を利用したサプライチェーン監査(audit)を実行します27 |
hermes verify |
プロジェクトの実行手順を検出し、スモークテストを行います27 |
hermes chat — メインのエントリーポイント
引数なしで hermes を実行すると、対話形式のチャットが開始されます。hermes chat は、オプションを指定できる明示的な形式です。6
hermes chat -q "Summarize the latest PRs" --oneshot # Answer and exit (without --oneshot, a TTY seeds an interactive session)
hermes chat --provider openrouter --model anthropic/claude-sonnet-4.6
hermes chat --toolsets web,terminal,skills # Enable specific toolsets
hermes chat --quiet -q "Return only JSON" # Programmatic mode
hermes chat --worktree -q "Review repo and open a PR"
主なオプション:
| オプション | 説明 |
|---|---|
-q, --query "..." |
実行するクエリです。v0.21.0 で動作が変更されました。実際の TTY では対話セッションを開始し、指定内容が最初のターンとしてそのまま送信されます。--oneshot または -Q と組み合わせた場合や、非 TTY では、従来の単発実行と同様に回答後に終了します40 |
--query-file PATH |
コマンドラインではなく、ファイルから単一のクエリを読み取ります(- は stdin を読み取ります)。シェルによる解釈は行われないため、引用符、$(...)、バッククォートはそのまま渡されます。-q とは同時に指定できません51 |
--oneshot |
-q/--query-file と併用し、クエリに回答して終了します(従来の単一クエリ動作)。非 TTY の標準入出力、および -Q/--quiet では暗黙的に有効になります40 |
-m, --model <model> |
今回の実行で使用するモデルを上書きします |
-t, --toolsets <csv> |
カンマ区切りで指定した toolset を有効にします |
--provider <provider> |
プロバイダーを強制的に指定します(全一覧を参照) |
-s, --skills <name> |
このセッションで1つ以上の skill をプリロードします |
-v, --verbose |
詳細な出力を有効にします |
-Q, --quiet |
プログラム向けモードです(バナー、スピナー、プレビューを表示しません) |
--format <fmt> |
単一クエリモード(-q または --query-file)の出力形式です。text(デフォルト)は最終応答をプレーンテキストで出力します。stream-json は改行区切りの JSON イベント(JSONL)を出力します。内容は system/init イベント、text の差分、tool_use/tool_result イベント、最後に終了コード、最終テキスト、トークン統計を含む終端 result エンベロープです。stream-json を指定すると --quiet も暗黙的に有効になります。また、-q または --query-file が必須で、指定しなければ終了コード 2 となり、--tui とは併用できません。診断情報とセッション ID は stderr に出力され、ツール出力はイベントごとに5,000文字までに制限されます(v0.21.4 時点)51 |
--resume <session> |
chat からセッションを直接再開します |
--worktree |
分離された git worktree を作成します |
--checkpoints |
破壊的な変更の前にファイルシステムの checkpoint を有効にします |
--yolo |
承認プロンプトを省略します |
--source <tag> |
セッションのソースタグです(デフォルト:cli。連携では tool を使用します) |
--max-turns <N> |
会話の各ターンでツールを呼び出せる最大反復回数です(v0.20.0 以降のデフォルトは 500。設定内の agent.max_turns でも指定できます)40 |
hermes setup — 完全セットアップウィザード
完全なセットアップウィザードを実行するか、特定のセクションへ直接移動します。6
hermes setup # Full wizard
hermes setup model # Provider and model only
hermes setup terminal # Terminal backend only
hermes setup gateway # Messaging platforms only
hermes setup tools # Tool enable/disable per platform
hermes setup agent # Agent behavior only
hermes setup --non-interactive
hermes setup --reset # Reset config to defaults before setup
hermes logs — 構造化ログの照会
hermes logs は、レベル、セッション ID、期間を同時に指定して絞り込めるため、ログファイルに対する tail -f よりも高機能です。6
hermes logs # Last 50 lines of agent.log
hermes logs -f # Follow in real time
hermes logs gateway -n 100 # Last 100 lines of gateway.log
hermes logs --level WARNING --since 1h # Warnings from the last hour
hermes logs --session abc123 # Filter by session ID substring
hermes logs errors --since 30m -f # Follow errors.log from 30m ago
hermes logs list # List all log files with sizes
ログファイルは ~/.hermes/logs/ にあります。6
- agent.log — エージェントのすべてのアクティビティ(API 呼び出し、ツールのディスパッチ、セッションのライフサイクル、INFO 以上)
- errors.log — 警告とエラーのみ(agent.log から絞り込まれたサブセット)
- gateway.log — メッセージング gateway のアクティビティ(プラットフォーム接続、ディスパッチ、webhook)
ローテーションは Python の RotatingFileHandler によって自動的に行われます。agent.log.1、agent.log.2 などを確認してください。6
hermes doctor — 診断
問題が発生したとき、最初に実行するコマンドは hermes doctor [--fix] です。設定の妥当性、依存関係の有無、API キーを利用できるか、サービスの状態を確認します。--fix を指定すると自動修復も試行できます。6
診断情報をほかの人と共有する場合は、hermes dump を使用してください。秘匿化された API キーを含む簡潔なプレーンテキストの概要が生成され、GitHub の issue や Discord のスレッドにそのまま貼り付けられます。6
Slash Commands
Slash Commands は、アクティブなチャットセッション(CLI またはメッセージングプラットフォーム)内で実行します。hermes_cli/commands.py の共有 COMMAND_REGISTRY から振り分けられるため、ほとんどのコマンドはどのインターフェースでも同じように機能します。9
セッション操作
| コマンド | 説明 |
|---|---|
/new(別名 /reset) |
新しいセッションを開始します |
/clear |
画面を消去し、新しいセッションを開始します |
/history |
会話履歴を表示します |
/save |
現在の会話を保存します |
/retry |
最後のメッセージを再試行します |
/undo |
直前のユーザーとアシスタントのやり取りを削除します |
/title <name> |
現在のセッションにタイトルを設定します |
/compress |
会話の context を手動で圧縮します |
/rollback [number] |
ファイルシステムの checkpoint を一覧表示または復元します |
/stop |
実行中のバックグラウンドプロセスをすべて終了します |
/status |
セッション、モデル、トークン、context の情報を表示します。v0.20.5の期間以降は、推論モード、承認待ち、context 使用量も確認できます4035 |
/queue <prompt> |
次のターンで使用するプロンプトをキューに追加します。注意点: /q は /queue と /quit の両方に割り当てられていますが、最後の登録が優先されるため、実際には /quit として解決されます。必ず /queue と省略せずに入力してください。9 |
/resume [name] |
以前に名前を付けたセッションを再開します |
/statusbar(別名 /sb) |
context/モデルのステータスバーの表示を切り替えます |
/background <prompt>(別名 /bg) |
別のバックグラウンドセッションでプロンプトを実行します |
/btw <question> |
一時的な補足質問を行います(ツールは使用せず、保存もされません) |
/plan [request] |
実行する代わりに計画を作成する、同梱の plan skill を読み込みます |
/branch [name](別名 /fork) |
現在のセッションから分岐します |
/goal <target> |
エージェントを目標に固定し、複数のターンにわたってタスクへ集中させます。Ralph-loop パターンを第一級のプリミティブとして扱う機能です。ターン数の上限を設定できます。v0.13.0で追加されました。18 |
/subgoal <criterion> |
ループを再開せずに、実行中の /goal へ成功条件を追加します。v0.14.0で追加されました。19 |
/handoff <target> |
メッセージ、ツール呼び出し、context を含む進行中のセッションを、別のモデル、ペルソナ、profile へ引き継ぎます。v0.14.0で追加されました。19 |
/worktree [new [name]\|list\|prune [--dry-run]] |
セッションを離れることなく、分離された git worktree の確認、作成、再利用を行います。new はリポジトリの .worktrees/ 配下に worktree を作成し、セッションをそこへ移動します。list は一覧を表示します。prune は hermes worktree prune と同じく確認を伴う再利用処理であり、ドキュメントによれば「セッションが実行されている tree には決して手を加えません」27 |
設定とモデル
| コマンド | 説明 |
|---|---|
/config |
現在の設定を表示します |
/model [model-name] |
現在のモデルを表示または変更します |
/provider |
利用可能なプロバイダーと現在のプロバイダーを表示します |
/personality [name] |
ペルソナのオーバーレイを設定します |
/verbose |
ツールの進捗表示を順番に切り替えます |
/reasoning |
推論の強度と表示を管理します。v0.19.0では、max と ultra の強度レベルが追加され、/reasoning がセッション単位の設定になりました。さらに、設定内でモデルごと、および MoA スロットごとに推論の強度を上書きできます56 |
/skin |
表示用のスキン/テーマを表示または変更します |
/voice [on\|off\|tts\|status] |
CLI の音声モードを切り替えます |
/yolo |
YOLO モードを切り替えます(承認プロンプトを省略します)。v0.19.0以降は、YOLO モードでもユーザー定義の拒否ルールに一致するコマンドはブロックされます56 |
/fast |
Fast Mode を切り替えます。OpenAI および Anthropic のモデルを優先的に処理する機能です(v0.9.0以降)16 |
/debug |
すべてのプラットフォームを対象に簡易診断を実行します(v0.9.0以降)16 |
/subscription |
ターミナルから Nous Portal のプランを管理します。プランと残りの利用枠の確認、アップグレード/ダウングレード費用のプレビュー、取り消し可能な変更の適用に対応しています(v0.19.0以降)56 |
/topup |
ターミナルを離れずに Nous Portal の残高へクレジットを追加します(v0.19.0以降)56 |
/model コマンドは、セッションの途中でプロバイダーを切り替える際の中心的な機能です。9
/model # Show current model and options
/model claude-sonnet-4 # Switch model (auto-detect provider)
/model zai:glm-5 # Switch provider:model
/model custom:qwen-2.5 # Use model on custom endpoint
/model custom # Auto-detect model from custom endpoint
/model custom:local:qwen-2.5 # Named custom provider
/model openrouter:anthropic/claude-sonnet-4 # Back to cloud
v0.19.0では /model --once が追加されました。1ターンだけモデルを上書きし、応答後に以前のモデルへ自動的に戻ります。56 v0.20.5の期間以降、/model の選択画面はあいまい検索にも対応し、入力に合わせて候補を絞り込みます。2335
ツール、skill、情報
| コマンド | 説明 |
|---|---|
/tools [list\|disable\|enable] [name...] |
現在のセッションで使用するツールを管理します |
/toolsets |
利用可能な toolset を一覧表示します |
/browser [connect\|disconnect\|status] |
ローカルの Chrome CDP 接続を管理します |
/skills |
skill の検索、インストール、確認、管理を行います |
/cron |
スケジュール済みタスクを管理します |
/reload-mcp |
config.yaml から MCP サーバーを再読み込みします |
/plugins |
インストール済みのプラグインを一覧表示します |
/help |
すべてのコマンドを表示します |
/usage |
トークン使用量、費用、所要時間を表示します |
/insights |
過去30日間の利用状況分析を表示します |
/platforms |
メッセージングプラットフォームの状態を表示します |
/profile |
有効な profile の名前とホームを表示します |
/palette |
あいまい検索対応のコマンドパレットを開きます(Ctrl+Pでも開けます)。すべてのコマンドと skill をあいまい検索できます。v0.20.5の期間に追加されました4035 |
動的な skill の Slash Commands
インストール済みの各 skill は、自動的に Slash Command として公開されます。9
/gif-search funny cats
/axolotl help me fine-tune Llama 3 on my dataset
/github-pr-workflow create a PR for the auth refactor
/excalidraw # Just the skill name loads it and lets the agent ask what you need
v0.19.0以降、Slash Command による skill の呼び出しは重ねて指定できます。/skill-a /skill-b do XYZ と入力すると、1ターン内で両方の skill が順番に読み込まれます。連結した名前には、オートコンプリートとゴーストテキストも利用できます。56
config.yaml では、短い名前を長いプロンプトの別名として割り当てるクイックコマンドも定義できます。9
quick_commands:
review: "Review my latest git diff and suggest improvements"
deploy: "Run the deployment script at scripts/deploy.sh and verify the output"
morning: "Check my calendar, unread emails, and summarize today's priorities"
その後、CLI で /review、/deploy、または /morning と入力します。
前方一致
コマンドは前方一致に対応しています。/h は /help、/mod は /model として解決されます。複数の候補に一致する場合は、レジストリへの登録順で最初のコマンドが優先されます。コマンドの完全名と登録済みの別名は、常に前方一致より優先されます。9
メッセージング固有のコマンド
一部のコマンドは、メッセージングプラットフォーム(Telegram、Discord、Slack、WhatsApp、Signal、Email、Home Assistant)でのみ使用できます。9
/status— セッション情報を表示します(メッセージング専用ではなくなりました。セッション操作をご覧ください)/sethome(別名/set-home)— 現在のチャットをプラットフォームのホームとして設定します/approve [session|always]— 保留中の危険なコマンドを承認します/deny [reason]— 保留中の危険なコマンドを拒否します。v0.19.0以降、/deny <reason>は拒否理由をエージェントへ伝えるため、理由が分からないまま再試行するのではなく、方針を修正できます56/update— Hermes Agent を最新版へ更新します/commands [page]— すべてのコマンドと skill をページ単位で閲覧します
また、/skin、/tools、/toolsets、/browser、/config、/cron、/skills、/platforms、/paste、/statusbar、/plugins は CLI でのみ使用できます。9
ツールと toolset
Hermes には、ウェブ検索、ブラウザ自動操作、ターミナル実行、ファイル編集、メモリ、委任、RL トレーニング、メッセージ配信、Home Assistant 連携などを網羅する、幅広い組み込みツールレジストリが用意されています。10 ツールは論理的な toolset にまとめられており、プラットフォームごとに有効・無効を切り替えられます。
主なカテゴリー
| カテゴリー | 例 | 説明 |
|---|---|---|
| ウェブ | web_search, web_extract |
ウェブを検索し、ページのコンテンツを抽出します |
| ターミナルとファイル | terminal, process, read_file, patch |
コマンドを実行し、ファイルを操作します |
| ブラウザ | browser_navigate, browser_snapshot, browser_vision |
テキストとビジョンを利用した対話型ブラウザ自動操作です |
| メディア | vision_analyze, video_analyze, video_generate, image_generate, text_to_speech |
マルチモーダルな分析と生成を行います。video_analyze は Gemini を優先して使用し、互換性のあるマルチモーダルプロバイダーにも拡張可能です(v0.13.0以降)。v0.14.0では、差し替え可能なプロバイダーバックエンドを備えた統一 video_generate が追加され、アクティブなモデルがビジョン対応の場合は、生のピクセルデータが vision_analyze に送られます。1819 |
| エージェントのオーケストレーション | todo, clarify, execute_code, delegate_task |
計画、確認、コード実行、サブエージェントへの委任を行います |
| コンピューター操作 | computer_use |
cua-driver バックエンドを介してデスクトップを操作します。v0.14.0では、Anthropic 以外のビジョン対応プロバイダーでも利用できるようになりました。19 |
| メモリと想起 | memory, session_search |
永続メモリとセッション検索を提供します |
| 自動化と配信 | cronjob, send_message |
タスクのスケジュール実行とメッセージ送信を行います |
| 連携 | ha_*, MCP ツール, rl_* |
Home Assistant、MCP、RL トレーニングと連携します |
一般的な toolset 名には、web、terminal、file、browser、vision、image_gen、moa、skills、tts、todo、memory、session_search、cronjob、code_execution、delegation、clarify、homeassistant、rl があります。10
ツールの管理
hermes chat --toolsets "web,terminal" # Use specific toolsets
hermes tools # Interactive per-platform tool config
hermes tools --summary # Print enabled-tools summary
セッションの途中でも、/tools disable <name> と /tools enable <name> を使用してツールの有効・無効を切り替えられます。切り替えるとセッションがリセットされ、新しいツール構成が反映されます。9
ターミナルバックエンド
ターミナルツールには7つの実行バックエンドが組み込まれています。v0.20.6以降は、プロバイダー選択機能と同様にプラグインで拡張できます(後述)。1024
| バックエンド | 用途 |
|---|---|
local |
ローカルマシンで実行します(デフォルト)— 開発や信頼できるタスク向けです |
docker |
隔離されたコンテナ — セキュリティと再現性を確保します |
ssh |
リモートサーバー — サンドボックスとして使用し、エージェントを自身のコードから切り離します |
singularity |
HPC コンテナ — クラスターコンピューティングを root 権限なしで実行します |
modal |
サーバーレスのクラウド実行環境です |
daytona |
クラウドサンドボックスワークスペース — 永続的なリモート開発環境です |
vercel_sandbox |
Vercel Sandbox のクラウド microVM — スナップショットによりファイルシステムが永続化されるクラウド実行環境です。hermes-agent[vercel] をインストールし、terminal.vercel_runtime(node24、node22、または python3.13)を設定して、VERCEL_TOKEN、VERCEL_PROJECT_ID、VERCEL_TEAM_ID で認証します。リモートワークスペースのルートは、デフォルトで /vercel/sandbox です24 |
バックエンドは、hermes config set terminal.backend <name> または config.yaml で切り替えます。
terminal:
backend: docker # or: local, ssh, singularity, modal, daytona, vercel_sandbox
cwd: "." # Working directory
timeout: 180 # Command timeout in seconds
プラグインバックエンド(v0.20.6以降)。 サードパーティーのサンドボックスベンダーは、コアリポジトリへ直接実装を追加する必要がなくなりました。プラグインの読み込み時に、PluginContext.register_terminal_environment_provider を介して TerminalEnvironmentProvider を登録すると、その登録名を組み込みバックエンドとまったく同じように terminal.backend から選択できます。組み込み名は予約されており、ツリー内のバックエンドと名前が競合するプロバイダーはレジストリによって拒否されます。また、コアでは名前をハードコードしたリストではなく、各分類箇所でレジストリを参照するため、登録済みバックエンドはすべてのコア機能(hermes setup のバックエンド選択、ダッシュボードのプローブ状態、hermes doctor のチェック、コンテナのパスおよび cwd の処理、シークレットの除去)へ自動的に組み込まれます。32
SSH バックエンド(セキュリティ上推奨 — エージェントが自身のコードを変更できません):10
terminal:
backend: ssh
# In ~/.hermes/.env
TERMINAL_SSH_HOST=my-server.example.com
TERMINAL_SSH_USER=myuser
TERMINAL_SSH_KEY=~/.ssh/id_rsa
Docker バックエンド:
terminal:
backend: docker
docker_image: python:3.11-slim
コンテナリソース(docker、singularity、modal、daytonaに適用):10
terminal:
container_cpu: 1
container_memory: 5120 # MB (default 5GB)
container_disk: 51200 # MB (default 50GB)
container_persistent: true # Persist filesystem across sessions
container_persistent: true を指定すると、インストールしたパッケージ、ファイル、設定がセッションをまたいで保持されます。10
すべてのコンテナバックエンドには、セキュリティ強化策が適用されます。具体的には、ルートファイルシステムの読み取り専用化(Docker)、DAC_OVERRIDE、CHOWN、FOWNER を除くすべての Linux capability の削除、権限昇格の禁止、PID 制限(256プロセス)、完全な namespace 分離、volume による永続ワークスペースです。10
バックグラウンドプロセス
ターミナルツールでは、明示的なプロセス管理を伴うバックグラウンド実行に対応しています。10
terminal(command="pytest -v tests/", background=true)
# Returns: {"session_id": "proc_abc123", "pid": 12345}
process(action="list") # Show all running processes
process(action="poll", session_id="proc_abc123") # Check status
process(action="wait", session_id="proc_abc123") # Block until done
process(action="log", session_id="proc_abc123") # Full output
process(action="kill", session_id="proc_abc123") # Terminate
process(action="write", session_id="proc_abc123", data="y") # Send input
PTY モード(pty=true)を使用すると、Codex や Claude Code などの対話型 CLI ツールを利用できます。10
Sudo
コマンドで sudo が必要になると、Hermes がパスワードの入力を求めます(セッション中はキャッシュされます)。または、~/.hermes/.env に SUDO_PASSWORD を設定してください。10
Multi-Agent Kanban(v0.13.0以降)
v0.13.0では、マルチエージェントの協調作業が中核的な機能へと引き上げられました。導入されたのは、エージェント間や再起動後もタスク、ステータス、ワーカーの識別情報を追跡できる永続 Kanban ボードです。18 このボードによって、Hermes のワーカー群は機能しない引き継ぎで停滞せず、実際に作業を完了できるようになります。
| 仕組み | 機能 |
|---|---|
| ハートビート | 各ワーカーは、タスクを所有している間、定期的に生存信号を送ります。ハートビートが途絶えると、そのワーカーは異常の疑いがあると判断され、別のワーカーがタスクを回収できるよう解放されます。 |
| 回収 | 別のワーカーが、タスクの完全な状態とそれまでの部分的な出力を引き継ぎ、放棄されたタスクを処理できます。 |
| ゾンビ検出 | タスクを完了済みにせず終了したワーカーは、新しい作業を取得できないよう自動的にブロックされます。これにより、機能していない識別情報がワーカー群に蓄積するのを防ぎます。 |
| ハルシネーションゲート | 出力がゲートの検証に失敗すると、完了済みにはならず、理由を添えてタスクがボードへ戻されます。 |
タスク単位の max_retries |
不安定だと分かっているタスクでは、デフォルトの再試行回数を上書きできます。 |
| 複数プロジェクトのボード | 1つの Hermes ホームで、複数の独立したボードを運用できます。 |
Kanban ボードは、目標側では /goal(目標を固定した Ralph ループ)、生成処理では既存の delegate_task ツールと自然に組み合わせられます。その結果、次に何をすべきか、誰が担当しているか、何が行き詰まっているかについて、すべてのエージェントが単一の信頼できる情報源を共有する swarm パターンが実現します。
Hermes Swarm とは?
swarm とは、1つの共有 Kanban ボードを対象に、複数の Hermes ワーカーを並列実行する構成です。 有効化する独立したサブシステムではなく、ボードによって実現する運用形態です。ボードは、 並列エージェントだけでは得られない唯一の要素を提供します。それは、次にどのタスクを取得すべきか、 そして誰かがすでに担当しているかという問いに対する、単一の信頼できる回答です。
v0.15.0では、このパターンが正式にサポートされるトポロジーへと昇格しました。追加されたのは、 並列ワーカーを協調させる swarm トポロジー、高レベルの目標をサブタスクへ分割する 自動分解、タスク単位のモデル上書き、スケジュールされたタスク、そして並列 ワーカーが同じチェックアウト内で競合しないようにするworktree 管理です。59
| 単純なマルチエージェント構成で生じる問題 | ボードによる対応 |
|---|---|
| 2つのワーカーが同じタスクを取得する | ワーカーの識別情報を記録したうえで、タスクの所有権を確保します |
| ワーカーがタスクの途中で停止し、作業内容が失われる | ハートビートが途絶えると、それまでの部分的な出力を維持したままタスクが回収されます |
| クラッシュしたワーカーがタスクを永遠に「保持」し続ける | ゾンビ検出により、そのワーカーが新しい作業を取得できないようにします |
| すべてのサブタスクで高価なモデルを使用する | タスク単位でモデルを上書きし、機械的なサブタスクには低コストのモデルを使用できます |
| 並列ワーカーが同じファイルを編集する | worktree 管理により、各ワーカーのチェックアウトを分離します |
実際の流れは、swarm に目標を与え、自動分解によってボード上のタスクへ分割し、
各ワーカーに取得、実行、結果の返却を任せるというものです。再試行回数はタスク単位(max_retries)で設定されるため、
不安定なサブタスクが実行全体の許容回数を使い切ることはありません。ボードは永続化されるので、
再起動しても swarm の状態は維持され、ワーカーは同じ状態へ再接続して作業を再開できます。
swarm の品質は、タスク分解の品質によって決まります。 ボードはワーカーを調整しますが、 不適切に分割された目標を適切なものへ変えるわけではありません。隠れた状態を共有するタスク同士は、 worktree を使用していても競合します。
Skillsシステム
skillは、必要なときにエージェントが読み込めるオンデマンドの知識ドキュメントです。トークン使用量を抑えるために段階的開示のパターンを採用しており、agentskills.ioのオープン標準と互換性があります。11
すべてのskillは~/.hermes/skills/に配置されます。ここが主要ディレクトリであり、信頼できる唯一の情報源です。新規インストール時には、同梱のskillがリポジトリからコピーされます。Hubからインストールしたskillや、エージェントが作成したskillもここに保存されます。11
段階的開示
Level 0: skills_list() → [{name, description, category}, ...] (~3k tokens)
Level 1: skill_view(name) → Full content + metadata (varies)
Level 2: skill_view(name, path) → Specific reference file (varies)
エージェントがskillの全内容を読み込むのは、実際に必要になったときだけです。11
SKILL.mdの形式
---
name: my-skill
description: Brief description of what this skill does
version: 1.0.0
platforms: [macos, linux] # Optional — restrict to OS platforms
metadata:
hermes:
tags: [python, automation]
category: devops
fallback_for_toolsets: [web] # Conditional activation
requires_toolsets: [terminal] # Conditional activation
config: # Config.yaml settings
- key: my.setting
description: "What this controls"
default: "value"
prompt: "Prompt for setup"
---
# Skill Title
## When to Use
Trigger conditions for this skill.
## Procedure
1. Step one
2. Step two
## Pitfalls
- Known failure modes and fixes
## Verification
How to confirm it worked.
条件付き有効化
利用可能なツールに応じて、skillの表示・非表示を切り替えられます。特に便利なのがフォールバックskillです。有料ツールを利用できない場合に限り、無料またはローカルの代替手段を表示できます。11
| フィールド | 動作 |
|---|---|
fallback_for_toolsets |
指定したtoolsetが利用可能な場合、skillを非表示にします |
fallback_for_tools |
同様ですが、個別のツールを確認します |
requires_toolsets |
指定したtoolsetが利用できない場合、skillを非表示にします |
requires_tools |
同様ですが、個別のツールを確認します |
例: 組み込みのduckduckgo-search skillでは、fallback_for_toolsets: [web]を使用します。FIRECRAWL_API_KEYが設定されている場合、web toolsetが利用可能になり、エージェントはweb_searchを使用するため、DuckDuckGo skillは非表示のままです。APIキーがない場合は、DuckDuckGo skillがフォールバックとして自動的に表示されます。11
エージェントが管理するskill
エージェントはskill_manageツールを介して、自身のskillを作成、更新、削除できます。これはエージェントの手続き記憶です。簡単ではないワークフローを解明すると、その手順をskillとして保存し、後から再利用できます。11
エージェントがskillを作成するタイミング:11 - 複雑なタスク(ツール呼び出し5回以上)を正常に完了した後 - エラーや行き詰まりを経験し、機能する手順を見つけたとき - ユーザーがアプローチを修正したとき - 簡単ではないワークフローを発見したとき
アクション:11
| アクション | 用途 |
|---|---|
create |
skillを新規作成 |
patch |
部分的な修正(推奨。トークン効率が最も高い方法です) |
edit |
大規模な構造変更 |
delete |
skillを完全に削除 |
write_file |
補助ファイルを追加・更新 |
remove_file |
補助ファイルを削除 |
Skill Hub
オンラインレジストリからskillを閲覧、検索、インストール、管理できます。611
hermes skills browse # Browse all hub skills
hermes skills browse --source official # Browse official optional skills
hermes skills search kubernetes # Search all sources
hermes skills search react --source skills-sh # Search skills.sh directory
hermes skills inspect openai/skills/k8s # Preview before installing
hermes skills install openai/skills/k8s # Install with security scan
hermes skills install skills-sh/anthropics/skills/pdf --force
hermes skills check # Check for upstream updates
hermes skills update # Reinstall changed hub skills
hermes skills audit # Re-scan installed hub skills
hermes skills uninstall k8s
hermes skills publish skills/my-skill --to github --repo owner/repo
hermes skills tap add myorg/skills-repo # Add custom GitHub source
統合済みのHubソース:11
| ソース | 例 | 備考 |
|---|---|---|
official |
official/security/1password |
Hermesに付属する任意のskill(builtinとして信頼) |
skills-sh |
skills-sh/vercel-labs/agent-skills/vercel-react-best-practices |
Vercelの公開skillディレクトリ |
well-known |
well-known:https://mintlify.com/docs/.well-known/skills/mintlify |
/.well-known/skills/index.jsonを公開しているサイトからURLベースで検出 |
github |
openai/skills/k8s |
GitHubのリポジトリ/パスから直接インストール |
clawhub |
— | サードパーティーのskillマーケットプレイス |
lobehub |
— | LobeHubエージェントカタログの変換 |
browse-sh |
— | Browserbaseのskillソース |
デフォルトのGitHub tap(設定なしで閲覧可能):openai/skills、anthropics/skills、huggingface/skills、NVIDIA/skills、garrytan/gstack。claude-marketplaceソースはv0.20.0で削除され、ソース一覧ではbrowse-shに置き換えられました。1155
セキュリティスキャン
Hubからインストールされるすべてのskillはセキュリティスキャナーを通過し、データの持ち出し、プロンプトインジェクション、破壊的なコマンド、サプライチェーンに関する兆候、その他の脅威が検査されます。11
信頼レベル:11
| レベル | ソース | ポリシー |
|---|---|---|
builtin |
Hermesに付属 | 常に信頼 |
official |
リポジトリ内のoptional-skills/ |
builtinとして信頼し、サードパーティーに関する警告は表示しません |
trusted |
信頼済みレジストリ(openai/skills、anthropics/skills) |
より寛容なポリシー |
community |
その他すべて | 危険ではない検出結果は--forceで無視できますが、dangerous判定は引き続きブロックされます |
community skillでは、危険ではないポリシーブロックを--forceで無視できます。ただし、スキャンによるdangerous判定は無視できません。11
外部skillディレクトリ
ローカルディレクトリと併せてスキャンする追加のskillディレクトリをHermesに指定できます。11
skills:
external_dirs:
- ~/.agents/skills
- /home/shared/team-skills
- ${SKILLS_REPO}/skills
パスでは~の展開と${VAR}環境変数の置換を利用できます。外部ディレクトリは読み取り専用です。エージェントがskillを作成または編集する場合は、必ず~/.hermes/skills/に書き込みます。同名のskillが両方に存在する場合は、ローカル側が優先されます。11
固定skill:skills.auto_load(v0.21.4時点)
config.yamlのskills.auto_loadに列挙したskill名は、CLI、TUI、gateway、cron、APIを含むすべての新規セッションで、全内容が読み込まれた状態に固定されます。51
skills:
auto_load:
- team-conventions
- deploy-checklist
このリストが解決されるのは、エージェントのプロンプトを最初に構築するときの1回だけです。存在しない名前や無効化されている名前は警告を表示してスキップされ、セッションが失敗することはありません。また、--ignore-rulesの内部で使われる仕組みであるHERMES_IGNORE_RULESは、他の自動挿入コンテキストと同様に、このリストも抑制します。これは常設指示として機能し、1つのセッションだけでskillを事前読み込みする-s/--skillsを補完するものです。51
永続メモリ
Hermes には、セッションをまたいで保持される、容量に上限のある厳選されたメモリがあります。エージェントのメモリは2つのファイルで構成され、どちらも ~/.hermes/memories/ に保存されます。12
| ファイル | 用途 | 文字数上限 |
|---|---|---|
MEMORY.md |
エージェントの個人的なメモ(環境情報、規約、学習した内容) | 2,200文字(約800トークン) |
USER.md |
ユーザーprofile(好み、コミュニケーションスタイル、期待事項) | 1,375文字(約500トークン) |
両方とも、セッション開始時に固定されたスナップショットとしてシステムプロンプトへ挿入されます。エージェントは memory ツールの add、replace、remove を使って、自身のメモリを管理します。12
固定スナップショットパターン: システムプロンプトへの挿入内容はセッション開始時に1度だけ取得され、セッション中には変更されません。これは意図的な仕様で、パフォーマンス向上のために LLM のプレフィックスキャッシュを維持します。セッション中に加えた変更は即座にディスクへ保存されますが、システムプロンプトに反映されるのは次のセッションからです。12
保存すべき内容
保存する内容(エージェントが能動的に行います):12
- ユーザーの好み:「JavaScript より TypeScript を好む」→ user
- 環境情報:「このサーバーは Debian 12 と PostgreSQL 16 で稼働している」→ memory
- 訂正事項:「Docker コマンドでは sudo を使わない。ユーザーは docker グループに所属している」→ memory
- 規約:「プロジェクトではタブ、1行120文字、Googleスタイルのdocstringを使用する」→ memory
- 完了した作業:「2026年1月15日にデータベースを MySQL から PostgreSQL へ移行した」→ memory
保存しない内容:12 - 些細または自明な情報 - 簡単に再確認できる事実 - 生データのダンプ(メモリには大きすぎるもの) - そのセッションでしか必要のない一時的な情報 - すでにコンテキストファイルに含まれている情報
セッション検索
MEMORY.md と USER.md に加えて、エージェントは session_search ツールを使い、過去の会話を検索できます。すべての CLI セッションとメッセージングセッションは、FTS5全文検索に対応した SQLite(~/.hermes/state.db)に保存されます。v0.15.0での再設計以降、このツールは LLM を一切使用せず、保存済みの会話内容を直接返します(ソースでの表現は「single-shape tool returns DB content directly」)。これにより4,500倍高速になり、API コストもなくなりました。125934
| 機能 | 永続メモリ | セッション検索 |
|---|---|---|
| 容量 | 合計約1,300トークン | 無制限(全セッション) |
| 速度 | 即時(システムプロンプト内) | FTSクエリ1回(v0.15.0以降は LLM 呼び出しなし) |
| 用途 | 重要な事実を常に利用可能にする | 過去の特定の会話を見つける |
| 管理 | エージェントが手動で厳選 | 自動(すべてのセッションを保存) |
| トークンコスト | セッションごとに固定(約1,300トークン) | オンデマンド |
v0.21.4前後には2つの機能が追加され、どちらもタグ v2026.9.21 で確認されています。1つ目は期間指定です。検索時に、セッション開始時刻の下限を含む after と、上限を含まない before を指定できます。いずれもISO形式の日付または日時に対応し、日付のみの場合はその日の午前0時(UTC)を意味します。相対期間(7d、24h、2w)も指定できますが、実際に期間を示すクエリだけで使用することを想定しています。sort は引き続き順位付けの調整であり、期間の境界ではありません。2つ目は、検索結果が0件だった場合の再検索です。FTS5では語句の間に暗黙のANDが適用されるため、複数語を言い換えたクエリでは、そのうち1語でも含まれない保存済みの文を見落とすことがあります。そのため、完全一致クエリと部分文字列によるフォールバックがすべて0件だった場合は、いずれかの語に一致するようインデックスを再検索し、より多くの語を含む行を上位に並べます。結果が見つかった場合は完全一致のセマンティクスが維持されます(再検索は結果が0件の場合に限られます)。また、明示的なOR/NOT、単一語、CJK向けに処理されるクエリは対象外です。51
外部メモリprovider
MEMORY.md と USER.md を超える高度な永続メモリとして、Hermes には Honcho、OpenViking、Mem0、Holographic、RetainDB、ByteRover、Supermemory という7つの外部メモリproviderプラグインが付属しています。Hindsight など、ほかのproviderはプラグインカタログからインストールできます。12
Hindsight はv0.21.4までコアツリーに同梱されていましたが、v0.21.5でカタログへ移され、Vectorizeが保守しています。既存環境は自動的に移行されます。memory.provider: hindsight が設定されている場合、hermes update はその設定を持つすべてのprofileホームにカタログ版プラグインをインストールします。まだインストールされていなければ、エージェントの初回起動時にもインストールされます。security.allow_lazy_installs: false の場合、エージェント起動時にはメッセージがログへ記録されるだけなので、hermes plugins install hindsight を手動で実行してください。プラグインは ~/.hermes/plugins/hindsight/ に配置され、plugins.enabled に追加されます。memory.provider、memory.hindsight.*、HINDSIGHT_API_KEY、およびメモリデータはそのまま維持されます。hermes memory status と hermes plugins list で確認できます。hermes-agent[hindsight] のpip extraは廃止されました。53
外部providerは組み込みメモリを置き換えるのではなく、組み込みメモリと併用されます。ナレッジグラフ、セマンティック検索、事実の自動抽出、セッション横断のユーザーモデリングなどの機能が追加されます。612
hermes memory setup # Pick a provider and configure it
hermes memory status # Check what's active
hermes memory off # Disable external provider (built-in only)
同時に有効にできる外部providerは1つだけです。組み込みメモリは常に有効です。6
セッションの自動再開(v0.13.0以降)
v0.13.0では、エージェントの処理中に中断が発生しても復旧できるようになりました。gatewayは再起動後に中断されたセッションを自動で再開します。/update による再起動でもアップグレードをまたいでセッション状態が維持され、開発中にソースファイルが再読み込みされても、新しいセッションを強制せず、アクティブなセッションが継続します。18 実用上、長時間稼働するgatewayの処理やcronで実行されるジョブは、プロセスが再起動してもコンテキストウィンドウがリセットされなくなりました。
Checkpoints v2(v0.13.0以降)
v0.13.0では、状態の永続化が、実際に機能するプルーニング、ディスク保護、孤立したシャドウリポジトリの排除を備えた単一ストア設計へ刷新されました。18 従来のcheckpointシステムでは、長期間稼働するprofileで状態がディスク上に蓄積していました。v2ストアではローカルのcheckpointストレージに厳格な上限を設け、その増大を招いていた重複管理を廃止しています。ユーザー側で設定を変更する必要はなく、次回のcheckpoint書き込みからv2のパスが使用されます。
パーソナリティと SOUL.md
SOUL.md は、Hermes インスタンスの中核となるアイデンティティです。システムプロンプトのスロット#1を占め、ハードコードされたデフォルトのアイデンティティに置き換わります。13
Hermes は、デフォルトの SOUL.md を ~/.hermes/SOUL.md(カスタムprofileでは $HERMES_HOME/SOUL.md)に自動で作成します。既存のユーザーファイルが上書きされることはありません。Hermes が SOUL.md を読み込むのは HERMES_HOME からだけであり、現在の作業ディレクトリは参照しません。そのため、プロジェクトが変わっても一貫したパーソナリティを維持できます。13
SOUL.md に記載する内容
長期的に維持する話し方やパーソナリティの指針に使用します。13 - 口調 - コミュニケーションスタイル - 率直さの度合い - デフォルトの対話スタイル - 文体上避けるべきこと - 不確実性、意見の相違、曖昧さを Hermes がどう扱うべきか
あまり適さない内容:13 - 単発のプロジェクト指示 - ファイルパス - リポジトリの規約 - 一時的なワークフローの詳細
これらは SOUL.md ではなく、AGENTS.md に記載します。
SOUL.md と AGENTS.md の違い
これは Hermes のアイデンティティ管理において最も重要な違いです。13
SOUL.md — アイデンティティ、口調、スタイル、コミュニケーションのデフォルト、パーソナリティに関わる振る舞い。
AGENTS.md — プロジェクトのアーキテクチャ、コーディング規約、ツールの好み、リポジトリ固有のワークフロー、コマンド、ポート、パス、デプロイに関する注意事項。
判断基準はシンプルです。どこへでも引き継ぎたい内容は SOUL.md に、特定のプロジェクトに属する内容は AGENTS.md に記載します。13
組み込みパーソナリティ
Hermes には、/personality で切り替えられる組み込みパーソナリティが用意されています。1333
| 名前 | 説明 |
|---|---|
helpful |
親しみやすい汎用アシスタント |
concise |
簡潔で要点を押さえた応答 |
technical |
詳細かつ正確な技術エキスパート |
creative |
革新的で既成概念にとらわれない発想 |
teacher |
明確な例を示す、忍耐強い教育者 |
kawaii |
かわいい表現、きらめき、あふれる熱意 |
catgirl |
猫らしい表現を使う猫ちゃん |
pirate |
技術に詳しい海賊、Captain Hermes |
shakespeare |
劇的な趣のある吟遊詩人的な文体 |
surfer |
リラックスしたサーファー仲間の雰囲気 |
noir |
ハードボイルドな探偵調の語り |
uwu |
uwu語を駆使した最高にかわいい表現 |
philosopher |
あらゆる質問を深く考察 |
hype |
最大限のエネルギー |
config.yaml でのカスタムパーソナリティ:13
agent:
personalities:
codereviewer: >
You are a meticulous code reviewer. Identify bugs, security issues,
performance concerns, and unclear design choices. Be precise and constructive.
その後、/personality codereviewer で切り替えます。
SOUL.md と /personality の違い
SOUL.md は基本となる話し方です。/personality はセッション単位で適用されるオーバーレイです。13 実用的なデフォルト設定を SOUL.md に記載し、個別指導の会話では /personality teacher、ブレインストーミングでは /personality creative を使用するとよいでしょう。
Nous Tool Gateway(v0.10.0以降)
Hermes Agent v0.10.0(2026年4月16日)以降、有料の Nous Portalサブスクライバーは、既存のPortal認証情報を使って、厳選されたツールセットにマネージドアクセスできるようになりました。追加のAPIキーを管理する必要はありません。61 Hermes CLI自体は引き続きMITライセンスの完全なオープンソースです。変わったのは、Portal認証によってモデル推論以外の機能も利用できるようになった点です。
最も手早く始める方法はhermes setup --portalです。READMEでは「新規インストールから実行する1つのコマンド」として紹介されています。OAuth経由でログインし、プロバイダーをNousに設定して、Tool Gatewayを有効にします。以降はhermes portalで連携を管理します。hermes portal login(サブコマンドを省略した場合のデフォルト)は、同じ一括オンボーディングを実行します。hermes portal infoは「Portal認証とTool Gatewayのルーティング概要」を表示し、hermes portal openはデフォルトブラウザーでサブスクリプションページを開きます。hermes portal toolsではgatewayツールと、Nous経由でルーティングされるツールを確認できます。hermes portal statusはinfoの非表示の後方互換エイリアスとして残されており、このタグ時点のドキュメントにあるCLIリファレンスでもサブコマンドがstatusと記載されているため、どちらも利用できます。28
gatewayに含まれるもの
| ツール | プロバイダー | 用途 |
|---|---|---|
| Web検索 | Firecrawl | 最新情報を必要とするエージェントの情報取得 |
| 画像生成 | FAL / FLUX 2 Pro | FALキーを設定せずにインラインで画像を生成 |
| テキスト読み上げ | OpenAI TTS | メッセージングgatewayでの音声出力 |
| ブラウザー自動化 | Browser Use | ヘッドレスでのナビゲーションとスクレイピング |
仕組み
gatewayは、新しいuse_gateway設定フィールドを使ってツールごとにオプトインします。hermes authにPortal認証情報があり、かつツールでgatewayを有効にすると、そのツールの呼び出しはPortal経由でルーティングされます。それ以外の場合は、直接設定したAPIキー(存在する場合)が使用されます。
# config.yaml — per-tool gateway opt-in
tools:
web_search:
provider: firecrawl
use_gateway: true # route via Nous Portal subscription
image_generation:
provider: fal
use_gateway: true
実行時の優先順位: gatewayが利用可能で、ツールにuse_gateway: trueが設定されている場合、直接使用するAPIキーも設定されていても、Hermesはgatewayを優先します。これは課金に関わる重要な点です。gateway経由の呼び出しでは、直接設定したAPIキーの残高ではなく、Portalサブスクリプションの利用枠が消費されます。
gatewayの有効化
hermes model # select Nous Portal (OAuth flow)
hermes tools # per-platform tool picker integrates gateway tools
hermes status # confirms gateway/subscription detection
サブスクリプションは、hermes authにすでに保存されているPortalのOAuth認証情報から自動的に検出されるため、別途ログインする必要はありません。v0.19.0以降は、セッション内からサブスクリプション自体も管理できます。/subscriptionではプランと残りの利用枠を確認でき、アップグレードの正確な費用やダウングレードの適用時期を事前に表示したうえで変更を適用できます。予定された変更を示すバナーと取り消し機能も備えています。/topupではクレジットを追加できます。デスクトップアプリにも、これに対応する課金設定タブがあります。56
料金とアクセス
料金とティア名は、Nous Portalの料金ページ(https://portal.nousresearch.com/pricing)で公開されています。ティアはPortal製品側で管理されており、Hermes CLIとは独立して変更されるため、このガイドでは一覧を掲載していません。https://portal.nousresearch.com/で登録し、最新のティアについては料金ページをご確認ください。
Nous無料ティアとガイド付き初回起動(v0.21.2以降)
v0.21.2以降、新規インストールで動作するエージェントを立ち上げる際に、有料プランやAPIキーは不要です。無料の推論機能とコネクターが標準で提供され、1つのコマンドでサインインできます。チャット内からは/loginでサインインを開始できます。コネクターツール(Gmail、Linear、Notionなど)は、ほかのツールと同様にtool_searchから検索できます。デスクトップ版には、HERMES_GUEST_ONBOARDING=1で有効になるガイド付き初回起動も追加されています。有効化されるのはリテラル値1のみです。デスクトップ版のテストでも、'true'、'0'、空の値ではいずれも無効のままになることが検証されています。また、起動時の判定結果は生成されたバックエンドの環境に書き込まれるため、継承された値が意図せず反映されることはありません。48
v0.21.4のリリース期間以降、これらのコネクターへの接続は、各フロントエンドに分散したロジックではなく、バックエンドが所有する単一の処理になりました。manage_connectionsツールの呼び出しによって、バックエンド上の純粋なデータとして扱われる接続ステートマシンが動作します(処理期限は固定の300秒で、意図的に設定キーにはしていません)。Desktop、TUI、CLIはいずれも、同じセットアップカードとして表示します。このカードには、不足している認証情報ごとにフィールド(名前、プロンプト、必須かどうか)が表示され、すべての必須フィールドにテキストが入力されるまで実行ボタンは有効になりません。バックエンドも、すべてのフロントエンドに対して同じ機密情報限定の分離を適用します。51
非推奨化に関するお知らせ
HERMES_ENABLE_NOUS_MANAGED_TOOLS環境変数は、v0.10.0で削除されました。マネージドツールはツールごとのuse_gateway設定フィールドで有効化する方式となり、Portalサブスクリプションの状態に基づいて利用可否が制御されます。61
位置づけ:このリリースが意味しないこと
Hermes Agent CLIは、サブスクリプションに加入しなければ使えないものではありません。プロジェクトは引き続きMITライセンスであり、すべてのコア機能(CLI、skills、メモリ、メッセージングgateway、cron、MCP、ローカルダッシュボード、すべてのプロバイダーでのBYOK)は、誰にも料金を支払うことなくエンドツーエンドで動作します。v0.10.0で追加されたのは、すでにNous Portalを利用している有料ユーザー向けの便利な経路です。無料で利用できる経路から何かが削除されたわけではありません。
メッセージング gateway
Hermes は、単一の gateway プロセスから 28のメッセージングプラットフォームに接続する、長時間稼働型の gateway プロセスとして実行できます。対応するのは、Telegram、Discord、Slack、WhatsApp、Signal、SMS、メール、Home Assistant、Mattermost、Matrix、DingTalk、Feishu/Lark、WeCom、Weixin (WeChat)、BlueBubbles (iMessage)、QQBot、Microsoft Teams、Tencent Yuanbao、Google Chat、LINE、SimpleX Chat、Photon (iMessage)、WhatsApp Cloud API、WeCom Callback、Raft、IRC、ntfy、Buzz、および汎用 Webhook アダプターです。360171819 この「28」という数は、タグ v2026.8.31 時点のドキュメントにあるプラットフォーム比較表に基づいています。一方、その内部では gateway/config.py が24個の組み込み Platform enum メンバー(local、api_server、webhook、msgraph_webhook、relay など、チャット以外の項目も含みます)を定義し、それ以外の名前は必要に応じて plugins/platforms/ 配下に同梱された22個のアダプターディレクトリのいずれかへ解決します。そのため、enum やディレクトリだけを数えても、ドキュメント上の数とは一致しません。25 v0.9.0 では、BlueBubbles 経由の iMessage(Webhook の自動登録、セットアップウィザード、クラッシュ耐性)と、iLink Bot API 経由のネイティブ WeChat 対応、さらにエンタープライズアプリ向けの WeCom callback モードが追加されました。16 v0.11.0 では QQBot が追加されました。60 v0.12.0 では Microsoft Teams と Tencent Yuanbao が追加されました。17 v0.13.0 では、20番目のプラットフォームとして Google Chat が追加されました。これは同じプラグイン可能なアダプターアーキテクチャを利用しています。また、IRC と Microsoft Teams も、汎用の env_enablement_fn / cron_deliver_env_var プラグインフックを備えた新しいアダプターパターンへ移行しました。18 v0.14.0 では LINE と SimpleX Chat が追加され、Graph 認証、Webhook リスナー、パイプラインランタイム、外向き配信までを含む Microsoft Teams スタックもエンドツーエンドで完成しました。19 v0.17.0(2026年6月19日)では、Photon Spectrum によるリレー不要の iMessage が追加されました(hermes photon login を使うデバイスコード OAuth で、Mac/BlueBubbles リレーは不要です)。さらに、公式の WhatsApp Business Cloud API アダプター(ブリッジプロセス要件を置き換えます)、SimpleX のグループおよびネイティブ添付ファイル対応、同梱プラットフォームプラグインとしての Raft も追加されています。21 リリースノートで大きく取り上げられてはいないものの、ドキュメントの表にはさらに2つ掲載されています。ntfy は軽量な HTTP pub-sub プッシュチャネルです。ntfy モバイルアプリからトピックを購読し、そのトピックへメッセージを送ってエージェントと会話すると、返信がスマートフォンへ届きます。公開 ntfy.sh サーバーとセルフホスト環境のどちらでも利用でき、SDK やデーモンは必要ありません。Buzz は、Nostr プロトコル上に構築された Block のオープンソース人間・エージェント協働プラットフォームである Buzz コミュニティに Hermes を接続します。外向きメッセージには buzz CLI をシェルから呼び出し、受信にはネイティブの Nostr WebSocket サブスクリプションを使用します。どちらも hermes gateway setup から設定できます。25
セットアップ
hermes gateway setup # Interactive platform configuration
hermes gateway install # Install as user service (systemd/launchd)
hermes gateway start # Start the installed service
hermes gateway stop
hermes gateway restart
hermes gateway status
hermes gateway run # Run in foreground (debugging)
対話形式のセットアップでは、API トークン、bot ID、チャネルマッピング、許可リストなど、各プラットフォームへの接続手順が案内されます。6
メッセージの流れ
上流のアーキテクチャドキュメントによると、次のように処理されます。3
Platform event → Adapter.on_message() → MessageEvent
→ GatewayRunner._handle_message()
→ authorize user
→ resolve session key
→ create AIAgent with session history
→ AIAgent.run_conversation()
→ deliver response back through adapter
すべてのメッセージングプラットフォームは、CLI と同じ AIAgent 会話ループを通ります。 そのため、スラッシュコマンドはどちらでもまったく同じように動作し、Telegram でスケジュールした cron ジョブの出力を Discord に配信できます。プラットフォームによる違いが存在するのは、処理の末端部分だけです。3
v0.19.0 では、profile ベースのメッセージルーティングと永続的な配信が追加されました。 1つの bot トークンを共有する単一の多重化 gateway で、特定の guild、チャネル、スレッドを別々の profile にルーティングできます。それぞれの profile では、設定、skills、メモリ、シークレットが完全に分離されており、GATEWAY_MULTIPLEX_PROFILES で上書きできます。また、堅牢化によって、1つの profile の設定ミスで gateway 全体が停止することもなくなりました。内部では、ルーティングインデックスが state.db へ移され(sessions.json は任意のレガシーミラーになりました)、最終応答はプラットフォームへの送信を挟む形で、永続的な配信義務台帳に記録されます。完成した回答の送信時に gateway がクラッシュしても、黙って失われることなく、次回起動時に再配信されます。56 ルーティングされた profile 間の分離は v0.21.2 でさらに強化され、この多重化構成で発生していた一連の profile 間漏洩が解消されました。具体的には、許可リストの継承、デフォルト profile のホストへの認証情報送信、デフォルト profile の vault シークレットが stdio MCP サーバーへ渡る問題、profile をまたぐ MEDIA: 添付ファイル、兄弟 profile の Nous bearer がプロセス単位のメモに残る問題です(#107609-#107630)。48
v0.21.1 では、会話の境界は明示的な操作によってのみ作られるようになりました。 タグ v2026.9.7 のセッションライフサイクルドキュメントでは、その仕様を4つの文で説明しています。「非アクティブな時間や経過時間によって会話が切り替わることはありません。/new と /reset は明示的な境界を作成し、長い履歴は引き続きコンテキスト圧縮によって管理されます。従来のタイマー設定は無視されます。既存の SessionResetPolicy データ型は互換性のためだけに残された不活性なデータであり、ランタイムポリシーではありません。」明示的な一時停止では、次の受信ターンで引き続き境界が作られます。復旧時には確定済みの境界が尊重され、再び開かれることはありません。また、リソースのみの退避後も会話は再開可能です。gateway のセッションが「いつまでも期限切れにならない」ように見える場合、それが現在の仕様です。切り替えるには /new を実行してください。43
v0.21.4 の期間以降、2つ目の hermes gateway run は二重にバインドせず、既存プロセスへ接続するか起動を拒否します。 ルールとして、OS ユーザーごと、ホストごとに hermes serve と hermes gateway run をそれぞれ1つだけ実行し、各プロセスがすべての profile を多重化します。実行中の multiplexer がすでに提供している profile に対して gateway を起動すると、そのプロセスへ接続して終了コード 0 で終了します。まだその profile を提供していない場合は、Hermes が profiles/ の再スキャンを要求し、提供が始まると接続します。その profile を提供できない場合は、2つ目の gateway を黙って起動せず、コマンドを拒否します。--replace は、どの profile が起動したかにかかわらず、そのホストプロセスを対象とするようになりました。所有プロセスが応答しない場合、--force を指定すると確認を完全に省略できます。スタンドアロン gateway は引き続き共存できます。実行中の gateway が別 profile のスタンドアロン(非多重化)gateway であれば、これまでどおり自分の profile 用 gateway がその隣で起動します。この動作は移行が強制されるまで続きます(#109417)。2つの gateway が同時に起動した場合、ホストロックを獲得できなかった方は終了コード 75 で終了し、Hermes が生成するすべての supervisor が再試行します。その時点では勝者のレコードがすでに存在するため、再試行は前述のルールに従って接続するか拒否されます。ロックとランデブーレコードは $HERMES_GATEWAY_LOCK_DIR に保存されます。未設定の場合は $XDG_STATE_HOME/hermes/gateway-locks(デフォルトは ~/.local/state/hermes/gateway-locks)が使われ、OS ユーザー単位で分離されます。PID のプロセスが終了している、または別のプロセスに再利用されているレコードは古いものとして無視されるため、gateway がクラッシュしても次回の起動は妨げられません。Desktop アプリも同じルールに従い、2つ目のホストバックエンドを起動せず、実行中のものへ接続します。51
v0.21.5 以降、多重化は任意ではなくなりました。 gateway.multiplex_profiles に指定できる有効な値は true だけです。キーが未設定なら有効として解決され、デフォルト profile の config.yaml に書き込まれます。明示的な false はその場で true に書き換えられ、その gateway の起動時に1回限りの枠付き通知が表示されるほか、次回の hermes update の概要にも再度表示されます。従来のオプトアウトに代わって、2つの制御方法が用意されています。他のユーザーの bot を停止せず、1つの profile だけをオフラインにするには、hermes -p <name> gateway stop を実行します。ホストはその profile を待機状態にし(profiles/<name>/gateway.parked マーカーを作成します)、hermes -p <name> gateway start で待機状態を解除できます。ダッシュボードと Desktop の Stop/Start ボタンも同じ操作を行います。名前付き profile で引き続き専用 gateway が必要な場合は、自身の config.yaml に gateway.standalone: true を設定します。ホストはその profile を一切提供せず、stop/start は専用プロセスに対して機能します。ドキュメントでは、このキーをサポート対象のトポロジーではなく「一時的な互換性 shim」と説明しており、デフォルト profile に設定すると警告とともに無視されます。OS ユーザーをまたいで分割する場合や、デフォルトホームの profiles/ 外に HERMES_HOME を置く場合は、引き続き --force が必要です。53
ユーザー認証とペアリング
hermes pairing list # Show pending and approved users
hermes pairing approve <platform> <code>
hermes pairing revoke <platform> <user-id>
hermes pairing clear-pending
ペアリングコードによって、不特定の第三者が gateway と会話するのを防げます。ユーザーがメッセージングプラットフォームからペアリングコードを送信し、hermes pairing approve で承認すると、それ以降は認証済みとなります。6
unauthorized_dm_behavior は、ペアリング前に第三者から届いた DM をどう扱うか決定します。pair はペアリングコードを DM で送信し、ignore はメッセージを無言で破棄します。v0.21.4 の期間に追加された decline は、丁寧な拒否メッセージを1回だけ送り、その後24時間は同じ送信者に何も返信しません(#88028)。拒否メッセージは、別名をまたいでプラットフォームおよび送信者ごとに重複排除されます。文面は unauthorized_dm_decline_message(グローバルキー)から取得され、空の場合は組み込みの返信「こんにちは!私は個人用アシスタントのため、所有者とのみチャットできます。直接お手伝いすることはできません。申し訳ありません!」が使われます。この動作はグローバルに設定するか、セットアップウィザードが書き込むプラットフォーム単位で設定します。
# ~/.hermes/config.yaml
unauthorized_dm_behavior: decline # global; gateway.unauthorized_dm_behavior also works
unauthorized_dm_decline_message: "" # empty = built-in reply
platforms:
telegram:
unauthorized_dm_behavior: pair # per-platform value always wins
何も設定されていない場合、実際のデフォルト値は許可リストによって変わります。許可リストが1つも設定されていなければ pair です。いずれかの許可リスト(GATEWAY_ALLOWED_USERS、またはプラットフォームの許可ユーザー、グループ許可ユーザー、グループ許可チャット変数)が設定されると ignore になります。許可リストは gateway が意図的に制限されていることを示すため、不明な連絡先へコードを送るのは煩わしく、情報漏洩につながる可能性もあるためです(#9337)。グローバルな ignore または decline はこのルールを上書きしますが、グローバルな pair はデフォルト値と区別できないため上書きできません。許可リストとペアリングを併用するには、プラットフォーム単位で pair を設定してください。(プラットフォームアダプター独自の dm_policy が設定されている場合は、許可リストのルールより先に参照されます。)メールは受信トレイを前提としているため、プラットフォーム固有のキーで明示的に有効化しない限り、デフォルトは ignore です。グローバル値はメールには適用されません。hermes gateway setup では、許可リストなしでプラットフォームを設定する際の選択肢として decline が提示されます。51
スケジュール済みタスク(Cron)
Hermes には、シェルコマンドではなくエージェントタスクをジョブとして扱う本格的な cron システムがあります。各スケジュール済みジョブは、設定されたプロンプトと任意で添付された skill を使って新しい AIAgent で実行され、任意のプラットフォームに結果を配信します。36
hermes cron list
hermes cron create --prompt "Check HN for AI news and summarize" --schedule "0 9 * * *" --deliver telegram
hermes cron edit <id>
hermes cron pause <id>
hermes cron resume <id>
hermes cron run <id> # Trigger now on the next tick
hermes cron remove <id>
hermes cron status # Check if scheduler is running
hermes cron tick # Run due jobs once and exit
メッセージングチャット内で会話形式により作成することもできます。
Every morning at 9am, check Hacker News for AI news and send me a summary on Telegram.
エージェントがツールを使って cron ジョブを設定します。ジョブは JSON に永続化され、再起動後も保持されます。3
v0.21.0 では、スケジュール済みジョブに記憶と判断力が加わりました。 以下の4つの仕組みは、すべてタグ v2026.8.31 で検証済みです。3537
- 継続性。
continuity=trueを設定すると、ジョブが直前に出力した自身の結果が実行のたびに注入されます。これにより、調査や監視を行うジョブは「前回の報告内容を確認してから起動し、重複を避けつつ続きから作業」できます。注入される指示は「すでに報告した内容を繰り返さない」ことであり、初回実行には影響しません。内部では、このフラグはcontext_fromの予約済みselfエントリとして保存されます。hermes cron create ... --continuityで有効にし、hermes cron edit <job_id> --continuity/--no-continuityで切り替えられます。37 - 永続的なメモ帳。 各ジョブには、カーソル、ウォーターマーク、ウォッチリスト用の小さな KV スクラッチパッドが割り当てられます(値ごとに16 KB、ジョブごとに64 KBです。実行のたびにプロンプトへ注入されるため、上限は意図的に設けられています)。
hermes cron notepad <job_id> set <key> <value>で書き込み、実行中のエージェントがターミナルツールを通じて呼び出します。37 - 監視モード。 ジョブには、低コストの
monitor_script/monitor_urlソースを追加でき、各ティックの最初に実行されます。出力が変化していない場合(完全なバイト列として比較)、エージェントの実行は全面的に抑止されます。つまり、LLM 呼び出しも配信も行わず、no_changeとして静かに終了します。変化がある場合は diff ブロックを注入し、通常どおりエージェントを実行します。監視スクリプトの出力は安定させてください。そうしないと、ティックのたびに変化したと判定されます。37 - ジョブ単位の推論強度と Bot Chat への配信。
--reasoning-effortでは、ジョブの思考レベル(noneからultraまで)を固定でき、そのジョブの実行についてグローバル設定とモデル単位の設定を上書きします。また、deliver=bot-chatを指定すると、出力が実際の受信メッセージとして profile の標準 Bot Chat セッションに届きます。人間がチャンネルを読むだけではなく、ボットが「必要な対応を実行し、チャット内で応答」します。37
MCP 連携
Hermes は、Model Context Protocol のクライアントとサーバーの両方に対応しています。6
クライアントとして — Hermes を外部の MCP サーバーに接続し、利用できるツールを拡張します。
hermes mcp add <name> --url https://example.com/mcp
hermes mcp add <name> --command npx --args "-y,@modelcontextprotocol/server-github"
hermes mcp list
hermes mcp test <name>
hermes mcp remove <name>
hermes mcp configure <name> # Toggle individual tool selection
hermes mcp login <name> # Force re-auth for an OAuth server (--flow browser|device)
hermes mcp reauth [--all] # Re-authenticate one OAuth server, or every one
または、config.yaml で手動設定します。14
mcp_servers:
github:
command: npx
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_xxx"
v0.19.0 以降、MCP ツールは mcp__server__tool という命名規則でモデルに公開されます。すべてのツール名にサーバー名が含まれるため、同じツールを公開するサーバーが複数あっても衝突しません。また、MCP サーバーのログ通知が agent.log に記録されるようになりました。56
v0.21.1 では、MCP OAuth にデバイスコード方式が追加されました。hermes mcp login <name> では --flow {browser,device} を指定できます。browser は従来の PKCE フロー、device はヘッドレス環境やリモートマシン向けの RFC 8628 デバイスコードログインです。このフラグは、サーバーの oauth.flow 設定を上書きします。同じリリースでは、OAuth セッション全体で profile の所有権が適用され、不正な形式の OAuth メタデータキャッシュがあってもサーバーを停止させずに無視するようになりました。さらに、デスクトップの MCP OAuth はクライアントローカルのコールバックを介して中継されます。-t/--toolsets では、起動する設定済み MCP サーバーも絞り込めるようになったため、対象を限定した呼び出しでは不要なサーバーのコールドスタートを省略できます。44
v0.21.0 では、デスクトップの MCP 機能がコマンドセンターへと進化しました。サーバーとカタログが1つのページに統合され、ドラッグ操作による「何でも貼り付け」インポート、ツール呼び出しが失敗する前に期限切れ間近の認証を知らせるバックグラウンド健全性チェック、スキーマのトークン推定値とサーバーごとの30日間の使用量を表示するフリート全体のコスト/使用量オーバーレイ、明示的な確認を経て MCP サーバーをインストールする hermes:// ディープリンクが追加されました。35
v0.21.4 の期間には、mcp.discovery_concurrency(デフォルトは4、0 は無制限、#117373)が追加されました。これは、検出処理で同時に接続する設定済み MCP サーバー数の上限です。すべてのサーバーには引き続き接続しますが、この上限によって接続が一斉に集中するのを防ぎます。整数以外または負の値を指定すると警告がログに記録され、デフォルト値にフォールバックします。51
サーバーとして — Hermes の会話をほかのエージェントに公開します。
hermes mcp serve
hermes mcp serve -v # Verbose
コンテキスト圧縮
Hermes は、モデルのコンテキストウィンドウ内に収まるよう、長い会話を自動的に圧縮します。圧縮用の要約処理は独立した LLM 呼び出しであり、任意のプロバイダーやエンドポイントを指定できます。4 v0.20.6 以降、保持する末尾部分のポリシーはデフォルトで lean(compression.tail_mode: lean)です。また、このタグでは要約モデル、プロバイダー、エンドポイントの設定項目が、以前の compression.summary_* ではなく auxiliary.compression.* に配置されています。従来のキーは初回読み込み時に自動移行されます(設定バージョン17)。3031
compression:
enabled: true
threshold: 0.50 # Compress at this % of context limit
threshold_tokens: null # Optional absolute token cap -- trigger fires at the lower of ratio vs cap
target_ratio: 0.20 # Fraction of threshold to preserve as recent tail (legacy tail mode)
tail_mode: lean # Tail retention: "lean" (default) or "legacy"
protect_last_n: 20 # Min recent messages to keep uncompressed
protect_first_n: 3 # Non-system head messages pinned across compactions
auxiliary:
compression:
model: "" # Empty = main chat model; e.g. "google/gemini-3-flash-preview"
provider: "auto" # "auto", "openrouter", "nous", "codex", "main", etc.
base_url: null # Custom OpenAI-compatible endpoint (overrides provider)
tail_mode で決まること。 legacy は、target_ratio に応じたサイズの末尾部分をそのまま保持します。コンテキストウィンドウが大きい場合やしきい値を引き上げた環境では、圧縮のたびに100~240Kトークンを抱え込むことになります。lean がそのまま保持する末尾部分は、コンテキストウィンドウの2.5%に制限されます(下限10K、上限25K)。代わりに、圧縮対象領域について識別子を維持した詳細なセッションログ(試行ごとに補助要約処理を1回呼び出します)、機械的に抽出されたアンカーインデックス(PR 番号、SHA、パス、エラー文字列などを正規表現で抽出し、決して言い換えません)、実際のユーザーメッセージすべての逐語的な引用、要約によって省かれた内容へエージェントが再アクセスするための session_search 復元ポインターを要約に含め、継続性を保ちます。ドキュメントに記載された500Kトークンの実際のセッションでの測定結果では、保持されるトークン数が約162Kから約49Kに減少しました。lean の末尾部分に含まれる古いツール結果は、復元ポインター付きの1行スタブに簡略化されます。不明な tail_mode 値は lean にフォールバックします。31
auxiliary.compression.provider |
auxiliary.compression.base_url |
結果 |
|---|---|---|
auto(デフォルト) |
未設定 | 利用可能な最適のプロバイダーを自動検出 |
nous / openrouter / など |
未設定 | 指定したプロバイダーとその認証を使用 |
| 任意 | 設定済み | カスタムエンドポイントを直接使用(プロバイダーは無視) |
要約モデルは会話の中間部分全体を1回の呼び出しで受け取るため、メインモデルと同等以上のコンテキスト長に対応している必要があります。ウィンドウが小さい場合は呼び出しが失敗し、中間部分のターンが要約されないまま破棄されます。431
バジェット逼迫の警告
エージェントが多数のツール呼び出しを伴う複雑なタスクに取り組むと、気づかないうちに反復バジェットを使い切ることがあります(v0.20.0 以降のデフォルトは、従来の90ターンから増えた500ターンです)。バジェットが逼迫すると、モデルへ自動的に警告します。4
| しきい値 | レベル | モデルに表示される内容 |
|---|---|---|
| 70% | 注意 | [BUDGET: 350/500. 150 iterations left. Start consolidating.] |
| 90% | 警告 | [BUDGET WARNING: 450/500. Only 50 left. Respond NOW.] |
ストリームのタイムアウト
LLM のストリーミング接続には2段階のタイムアウトがあり、ローカルプロバイダー(localhost、LAN IP)では自動調整されます。4
| タイムアウト | デフォルト | ローカルプロバイダー | 環境変数 |
|---|---|---|---|
| ソケット読み取りタイムアウト | 120秒 | 1800秒へ自動延長 | HERMES_STREAM_READ_TIMEOUT |
| 停滞ストリームの検出 | 180秒 | 自動的に無効化 | HERMES_STREAM_STALE_TIMEOUT |
| API 呼び出し(非ストリーミング) | 1800秒 | 変更なし | HERMES_API_TIMEOUT |
ローカルの LLM では、大きなコンテキストのプリフィルに数分かかり、最初のトークンが生成されるまで時間を要することがあります。そのため、ローカルエンドポイントではソケット読み取りタイムアウトが30分に延長されます。4
ローカル Web ダッシュボード(v0.9.0以降)
Hermes Agent をローカルで管理するためのブラウザベースのダッシュボードです。設定の変更、セッションの監視、skill の閲覧、gateway の管理を、設定ファイルやターミナルに触れずに行えます。16 hermes dashboard で起動します。GUI を好む新規ユーザーにとって、最も簡単に使い始められる方法です。
バックグラウンドプロセスの監視(v0.9.0以降)
watch_patternsでは、バックグラウンドプロセスの出力を監視するパターンを設定し、一致した際にリアルタイムで通知を受け取れます。16 エラーの検出、特定のイベント(「ポートで待機中」など)の待機、ビルドログの監視を、ポーリングなしで行えます。v0.8.0で導入されたnotify_on_complete(バックグラウンドタスクの完了時に通知する機能)と組み合わせることで、Hermesはバックグラウンドプロセスを包括的に可観測化できるようになりました。15
プラガブルなcontext engine(v0.9.0以降)
hermes pluginsにより、コンテキスト管理が交換可能なスロットになりました。各ターンでエージェントに提示する内容を制御する独自のcontext engineへ差し替え、フィルタリング、要約、ドメイン固有のコンテキスト注入を行えます。16 これにより、コンテキスト戦略がエージェントのコアループから切り離され、プロジェクトやドメインごとにカスタマイズできます。
バックアップと復元(v0.9.0以降)
hermes backupは、設定、セッション、skills、メモリを含む完全なアーカイブを作成します。hermes importを使うと、バックアップアーカイブから復元できます。16 マシン間の移行、大規模な変更前のスナップショット作成、動作確認済みの設定をチームメンバーと共有する場合に便利です。
Termux / Android対応(v0.9.0以降)
HermesはTermuxを通じてAndroid上でネイティブに動作します。インストール先の調整、モバイル画面向けのTUI最適化、音声バックエンドのサポート、/imageコマンドにより、端末上で利用できます。16
セキュリティ強化(v0.13.0以降)
v0.13.0では8件のP0セキュリティ問題を解消し、1つのデフォルト設定をユーザーにとって安全な方向へ変更しました。18 続くv0.14.0では、さらに12件のP0と50件のP1を解消しています。これには、sudoのブルートフォース攻撃およびsudo-stdinへの対策、危険なコマンドの制限を回避する手法の修正、モデルへ再注入する前のツールエラーのサニタイズ、ダッシュボードプラグインのAPI認証、skills-hubのSSRF対策範囲の拡大、インストール時のサプライチェーン脆弱性情報スキャンが含まれます。19
| 修正項目 | 変更内容 |
|---|---|
| シークレット秘匿化をデフォルトで有効化 | 以前はオプトインでした。明示的に無効化しない限り、ログとhermes debug shareへのアップロードでシークレットが秘匿化されます。v0.12.0ではペイロード破損の報告を受けて秘匿化がデフォルトで無効になっていましたが、v0.13.0ではより安全な基準として再び有効化されました。 |
| Discordのギルド横断DMバイパス(CVSS 8.1) | Discordのロール許可リストがギルド単位になり、あるギルドのユーザーロールによって全ギルドのDMが許可されてしまう経路が閉じられました。 |
| WhatsAppのデフォルト制限 | WhatsAppアダプターは、デフォルトで未登録ユーザーを拒否し、自分自身とのチャットには一切応答しません。 |
| MCP OAuthのTOCTOUウィンドウ | MCP OAuthフローで認証情報を保存する際の競合状態が解消されました。 |
CLIのauth.jsonにおけるTOCTOU |
CLI認証ストアの認証情報書き込み処理に存在した、同様のTOCTOUウィンドウが解消されました。 |
| ブラウザーSSRFの最低限の防御 | ハイブリッドルーティングでは、169.254.169.254や同等のアドレスへのアクセスを試みるリクエストに対し、クラウドメタデータを狙ったSSRFへの最低限の防御が適用されます。 |
| Cronのプロンプトインジェクションスキャン | cronジョブの実行前に、読み込まれたskillの内容を含む、組み立て済みのプロンプトがプロンプトインジェクションの有無についてスキャンされます。 |
hermes debug shareの秘匿化 |
デバッグ共有のアップロードでは、ログの書き込み時だけでなく、アップロード時にもログ内容が秘匿化されます。 |
Hermes環境を運用している場合、v0.13.0とv0.14.0は単なる機能追加ではなく、セキュリティ上重要なアップグレードとして扱ってください。v0.13.0ではDiscordのギルド横断バイパスと2つのTOCTOUウィンドウが解消されています。v0.14.0では、sudoの処理、ツールエラーの再注入、プラグインのAPI、skills-hubのSSRF、依存関係の脆弱性情報に対し、さらにセキュリティ強化が施されています。
v0.21.0では、第4弾のセキュリティ強化が加わりました。 保護対象のエージェント指示ファイル(AGENTS.md、CLAUDE.md、SOUL.md、.cursorrules、skills、メモリストア)への書き込みには常に承認が必要となり、プロンプトインジェクションを受けたエージェントが自らの恒常的な指示をひそかに書き換えることはできなくなりました。このゲートはデフォルトで有効です(security.protected_instruction_files: true。protected_instruction_extra_patternsにはfnmatch形式でベース名の追加パターンを指定できます)。ソースでは、これによって防ぐ攻撃経路を「AGENTS.md / CLAUDE.md / SOUL.mdを編集する、注入された指示」と明記しています。さらに、指示ファイルはcwdのディレクトリツリーから読み込まれるため、「後からエージェントが実行される可能性のある場所に存在するAGENTS.mdは、どれも攻撃対象になり得る」と説明しています。3539 同じリリースでは、ターミナルエラー、.envファイルの読み取り、checkpoints、ACPログからシークレットが漏れる問題も解消されました。また、承認システムがWindowsの破壊的なコマンドとパスを認識するようになり、安定したTCC署名IDによってmacOSの権限付与がアップデート後も維持されるようになっています(1回限りの設定:hermes desktop --setup-tcc-identity。macOS限定で、openssl/security/codesignが必要です)。さらに、上流での侵害を受けてBlenderのMCPカタログ項目とskillが削除され、プラグインのインストールにTier-1セキュリティスキャンが追加されました。3539
実践者向けアーキテクチャ
このセクションは、内部で何が起きているのかを理解し、デバッグ、拡張、パフォーマンスの分析に役立てたい方を対象としています。上流のアーキテクチャドキュメントを総合した内容です。3
エントリーポイント → AIAgent
Hermesのすべてのエントリーポイントは、最終的にAIAgent.run_conversation()を呼び出します。
┌──────────────────────────────────────────────────────────────────┐
│ Entry Points │
│ │
│ CLI (cli.py) Gateway (gateway/run.py) ACP (acp_adapter/) │
│ Batch Runner API Server Python Library │
└──────────┬──────────────┬───────────────────────┬────────────────┘
│ │ │
▼ ▼ ▼
┌──────────────────────────────────────────────────────────────────┐
│ AIAgent (run_agent.py) │
│ │
│ ┌─────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Prompt │ │ Provider │ │ Tool │ │
│ │ Builder │ │ Resolution │ │ Dispatch │ │
│ └──────┬──────┘ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │ │
│ ┌──────┴───────┐ ┌──────┴───────┐ ┌──────┴───────┐ │
│ │ Compression │ │ 3 API Modes │ │ Tool Registry│ │
│ │ & Caching │ │ chat_compl │ │ 47 tools │ │
│ │ │ │ codex_resp │ │ 20 toolsets │ │
│ │ │ │ anthropic │ │ │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└──────────────────────────────────────────────────────────────────┘
上流のアーキテクチャドキュメントをもとにした図です。3
バナーに表示される「28 tools」に対して「47 tools / 20 toolsets」となる理由。 「47 tools」は、上流リポジトリに登録されたツールの総数です。つまり、Hermesがソースコードを提供している、全toolsetの全ツールを指します。実際に稼働しているCLIでは、起動時のバナーにこれより少ない数が表示されます(このガイドの検証に使用した環境では28 tools / 89 skillsと表示されます)。これはバグではありません。多くのtoolsetはオプトイン方式であり、config.yamlのtoolsets:で明示的に有効化する必要があります。たとえば、メッセージングプラットフォームのアダプター、ブラウザ自動化、高負荷なスクレイピングツールなどです。レジストリの総数は「利用可能なもの」、バナーの数は「現在のprofileで有効なもの」を表します。有効なtoolsetはhermes tools --listで確認でき、~/.hermes/config.yamlのtoolsets:ブロックで個別に有効化または無効化できます(実行中のセッション内では/tools list、/tools enable <name>、/tools disable <name>も使用できます。ツールを削除すると、エージェントがツールマニフェストを再構築するため、セッションがリセットされます)。
3つのAPIモード
Hermesはプロバイダー間の違いを3つのAPIモードに抽象化し、実行時に自動で選択します。3
| APIモード | 使用するプロバイダー |
|---|---|
chat_completions |
OpenRouter、z.ai、Kimi、MiniMax、DeepSeek、Alibaba、ほとんどのカスタムエンドポイント、OpenAI互換サーバー |
codex_responses |
OpenAI Codex(ChatGPT OAuth経由) |
anthropic_messages |
Anthropic API(ネイティブ)、Anthropic OAuth、Anthropic互換プロキシ |
runtime_provider.pyのリゾルバーは、18以上のプロバイダーについて、(provider, model)タプルを(api_mode, api_key, base_url)へマッピングします。OAuthフロー、認証情報プール、エイリアス解決もここで処理されます。3
CLIセッション内のデータフロー
User input → HermesCLI.process_input()
→ AIAgent.run_conversation()
→ agent.prompt_builder.build_system_prompt()
→ runtime_provider.resolve_runtime_provider()
→ API call (chat_completions / codex_responses / anthropic_messages)
→ tool_calls? → model_tools.handle_function_call() → loop
→ final response → display → save to SessionDB
上流のアーキテクチャページより。3
プロンプトの組み立て順序
プロンプトスタックには、次の要素が含まれます。13
SOUL.md(エージェントのアイデンティティ。利用できない場合は組み込みのフォールバック)- ツールを考慮した動作ガイダンス
- メモリ/ユーザーコンテキスト(
MEMORY.md、USER.md) - skillsのガイダンス
- コンテキストファイル(
AGENTS.md、.cursorrules) - タイムスタンプ
- プラットフォーム固有の書式設定ヒント
/personalityなど、任意のシステムプロンプトオーバーレイ
SOUL.mdが基盤となり、ほかのすべての要素はその上に構築されます。13
セッションストレージ
SQLiteベースのセッションストレージで、FTS5全文検索に対応しています。セッションには系統追跡(圧縮をまたぐ親子関係)、プラットフォームごとの分離、競合処理を伴うアトミック書き込みが備わっています。3
v0.21.x環境でストレージに問題が発生する場合は、v0.21.2以降を使用してください。このバージョンでは、v0.21.0当時のstate.dbに関する一連の脆弱性(2つ目の書き込み処理が互いのロックを解除する、正常なデータベースが破損と報告される、1件の不正な行によってsessions list全体が失敗する)が解消されました。また、ホストされたルームの連携処理がルートストレージから専用のshared-state.dbへ移され、profile gatewayがマスターセッションストレージを編集可能な状態で開くこともなくなりました。現在のhermes doctorは構造的な破損とFTSインデックスの破損を個別に示します。FTSが破損してもターン全体は失敗せず、検索機能のみが縮退します。さらに、hermes sessions recover --inspect-only(オフライン、非破壊、profile固定)は、出力データベースを作成せずに正規テーブルを読み取れるか報告します。このサブコマンド自体は以前から存在していましたが、ここではまだ説明していませんでした。v0.21.2の新機能をご覧ください。48 SQLiteのジャーナルモードが誤った状態で固定されたストレージに対しては、v0.21.4の期間にオフライン変換ツールhermes sessions set-journal-mode delete|walが追加されました(トップレベルコマンドのhermes sessionsの行をご覧ください)。51
プラグインシステム
検出元は、~/.hermes/plugins/(ユーザー)、.hermes/plugins/(プロジェクト)、pipエントリーポイントの3つです。プラグインは、コンテキストAPIを通じてツール、フック、CLIコマンドを登録します。メモリプロバイダーは、plugins/memory/以下に配置される特殊なプラグインタイプです。3 v0.21.2以降では、厳選され、SHAで固定されたプラグインカタログも用意されており、名前で参照してインストールできます。また、「宣言的で共有可能なプラグインセット」を作成するhermes plugins packも追加されました。1つのhermes-pack.yamlでプラグインセットを正確なコミットSHAに固定し、packのインストール時には通常の固定インストールへ展開されます。機能への同意はプラグインごとに維持されます。48
v0.21.4の期間には、そのカタログがCLIの画面から、配布される成果物へと発展しました。リポジトリのplugin-catalog/ディレクトリは、v2026.9.14時点の9エントリからv2026.9.21時点の228エントリへ増加しました。プラグインごとにレビュー済みのYAML(名前、リポジトリ、メンテナー、階層、カテゴリー、機能)が1つ用意され、正確な40文字のコミットSHAに固定されています。このディレクトリに存在すること自体が登録を意味します。データはCLI向けのplugin-catalog.jsonとして公開され、ライブで取得された後、~/.hermes/cache/以下にキャッシュされます。ドキュメントサイトでは、同じデータからプラグインごとのページ(/docs/plugins/<name>)と作者ごとのページ(/docs/plugins/by/<slug>)が生成されるようになりました。各ページには、ブランチの先端ではなく、固定されたコミットから取得したプラグインのREADMEが表示されます。表示には、生のHTMLを除外するビルド時の許可リストが使用され、追加日/更新日による並べ替えにはコミッターの日付が付与されます。v0.21.4リリースで挙げられた10個のコミュニティプラグインは、いずれもリリースタグ時点でカタログに登録されています。実際のカタログslugは、hermes-tailscale、hermes-ssh、shodan、hermes-terminal、hermes-rss(これとは別にrss-readerもあります)、hermes-resetwatch、done-bell、kiwi、cognee、web-octenです。デスクトップのPluginsハブでは、確認ダイアログを経てプラグインをアンインストールできるようになりました。カタログのプラグインはplugins.manage remove、スタンドアロンのデスクトッププラグインはElectronローダーを通じて処理されます。51
hermes plugins # Interactive enable/disable UI
hermes plugins browse # List every curated plugin catalog entry (v0.21.2+)
hermes plugins search <query> # Search the curated plugin catalog (v0.21.2+)
hermes plugins install <name|repo> # Install from the curated catalog, a Git URL, or owner/repo
hermes plugins enable <name>
hermes plugins disable <name>
hermes plugins list
hermes plugins pack install <src> # Shareable SHA-pinned plugin sets; also: pack export, pack show (v0.21.2+)
互換期間(v0.21.1)は終了しました。外部プラグインは、2026年9月14日までに分割前のインポートパスから移行する必要がありました。 2026年9月の分割(PR #102117)では、プラグインが頻繁にインポートしていた内部要素が移動しました。一時的な
COMPAT_MANIFEST.mdレイヤーにより、移動した1,148個の公開名が旧モジュールから再エクスポートされ、プロセスごと、名前ごとに1回だけ警告(HermesPluginCompatWarning)が表示されていました。削除は予定どおり2026年9月14日に実施されました。配布コード内の日付ゲート(hermes_cli/plugin_compat.pyのCOMPAT_REMOVAL_DATE)によるもので、コードのrevertは不要でした。この日以降、該当するプラグインは読み込まれず、無効化されます。CLIバナー、hermes doctor、hermes updateには赤い通知が表示され、デスクトップでは1回限りのモーダルが表示されます。無効化の理由はhermes plugins listでも確認できます。作者向けには、hermes plugins compat <path>を実行すると、古いパスが残っている間、旧パス -> 新パスを含むすべてのfile:lineが引き続き出力され、終了コード1で終了します(機械可読形式で出力するには--jsonを追加します)。メンテナンスされていないプラグインを使い続けざるを得ない場合は、config.yamlでplugins.allow_deprecated_imports: trueを設定できます。値は引用符付きの文字列ではなく、リテラルのYAMLブール値でなければなりません。旧パスを削除するrevertがまだ適用されていないため、この回避策は現在も機能します。マニフェストとshimは、v2026.9.14、v2026.9.21、v2026.9.24、および9月24日時点のmainに存在します(v0.21.4の期間に互換モジュールへ加えられた変更は、プラグインスキャンのキャッシュとWindowsパスの正規化だけです。v0.21.5の期間にはhermes_cli/plugin_compat.pyは変更されず、削除されたHindsightモジュールのマニフェストエントリだけが除去されました)。そのrevertが適用されて旧パス自体が消えた時点で、この回避策は機能しなくなります。対象となったのは公開されたトップレベル名だけです。非公開名とテスト用のmonkeypatch接合部は、もともと公開インターフェースではなく、復元もされません。4253
デザイン原則
上流のアーキテクチャページより。3
| 原則 | 実際の意味 |
|---|---|
| プロンプトの安定性 | 会話の途中でシステムプロンプトは変化しません。明示的なユーザー操作(/model)を除き、キャッシュを無効にする変更は行われません |
| 観測可能な実行 | すべてのツール呼び出しは、コールバックを通じてユーザーに表示されます。進捗はCLI(スピナー)とgateway(チャットメッセージ)で通知されます |
| 中断可能 | API呼び出しとツール実行は、ユーザー入力またはシグナルによって処理途中でもキャンセルできます |
| プラットフォームに依存しないコア | 1つのAIAgentクラスが、CLI、gateway、ACP、バッチ、APIサーバーに対応します。プラットフォーム間の違いはエントリーポイント側に置かれます |
| 疎結合 | オプションのサブシステム(MCP、プラグイン、メモリプロバイダー、RL環境)は、強い依存関係ではなく、レジストリパターンとcheck_fnゲーティングを使用します |
| Profileの分離 | profileごとに専用のHERMES_HOME、設定、メモリ、セッション、gateway PIDが割り当てられます。複数のprofileを同時に実行できます |
OpenClaw からの移行
Hermes Agent は OpenClaw の後継です。既存の OpenClaw 環境から移行する場合は、次を実行します。65
hermes claw migrate --dry-run # Preview what would be migrated
hermes claw migrate --preset full # Full migration including API keys
hermes claw migrate --preset user-data --overwrite # User data only, no secrets
hermes claw migrate --source /custom/path # Non-default OpenClaw location
hermes claw migrate はデフォルトで ~/.openclaw から読み込み(従来の ~/.clawdbot と ~/.moldbot ディレクトリも自動検出します)、~/.hermes に書き込みます。6
直接インポートされる項目(30以上のカテゴリ):SOUL.md、MEMORY.md、USER.md、AGENTS.md、4つのソースディレクトリにある skills、デフォルトモデル、カスタムプロバイダー、MCP サーバー、メッセージングプラットフォームのトークンと許可リスト(Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Mattermost)、agent のデフォルト設定(推論の労力、圧縮、人間らしい応答遅延、タイムゾーン、サンドボックス)、セッションのリセットポリシー(現在は無効:v0.21.1以降、タイマーによって会話がローテーションされることはありません43)、承認ルール、TTS 設定、ブラウザ設定、ツール設定、実行タイムアウト、コマンド許可リスト、gateway 設定、および3つのソースから取得される API キー。6
手動確認用にアーカイブされる項目: cron ジョブ、プラグイン、フック/webhook、メモリバックエンド(QMD)、skills レジストリ設定、UI/アイデンティティ、ログ、マルチ agent 設定、チャンネルのバインド、IDENTITY.md、TOOLS.md、HEARTBEAT.md、BOOTSTRAP.md。6
API キーの解決では、設定値 → ~/.openclaw/.env → auth-profiles.json の優先順位で3つのソースを確認します。6
トラブルシューティング
「No inference provider configured. Run ‘hermes model’ to choose a provider and model」
新規インストールで最初に遭遇するエラーです。Hermes では、使用するプロバイダーがまだ決定されていません。メッセージのとおり、3つの認証経路のいずれからも利用可能なプロバイダーを取得できていない状態です。次を実行してください。
hermes model
対話形式の選択画面では、対応するすべてのプロバイダーを順に設定できます。Nous Portal、GitHub Copilot、Anthropic、OpenAI Codex の OAuth デバイスコードフローや、セルフホスト型サーバー用のカスタムエンドポイントも含まれます。すでにプロバイダーを設定したはずの場合は、hermes doctor を実行すると、Hermes が実際に認識できている認証情報を確認できます。よくある原因は、API キーを誤った場所に設定していること(シェルの profile ではなく、.env または hermes config set で設定する必要があります)、~/.hermes/auth.json 内の OAuth 認証情報の期限切れ、あるいは config.yaml のカスタムエンドポイントから base_url が失われていることです。認証経路については、認証とプロバイダーで詳しく説明しています。27
「API key not set」
hermes model を実行して対話形式でプロバイダーを設定するか、hermes config set OPENROUTER_API_KEY your_key を実行してください。hermes doctor コマンドを使えば、不足しているキーを正確に確認できます。7
起動時に「Context limit: 2048 tokens」と表示される(ローカルモデル)
Hermes はサーバーの /v1/models エンドポイントからコンテキスト長を自動検出しますが、多くのローカルサーバーは小さなデフォルト値を返します。config.yaml で明示的に設定してください。2
model:
default: your-model
provider: custom
base_url: http://localhost:11434/v1
context_length: 32768
ツール呼び出しが実行されず、テキストとして表示される
サーバーでツール呼び出しが有効になっていないか、サーバー側の実装を通じたツール呼び出しをモデルがサポートしていません。2
| サーバー | 修正方法 |
|---|---|
| llama.cpp | 起動コマンドに --jinja を追加します |
| vLLM | --enable-auto-tool-choice --tool-call-parser hermes を追加します |
| SGLang | --tool-call-parser qwen(または適切なパーサー)を追加します |
| Ollama | ツール呼び出しはデフォルトで有効です。ollama show <model> でモデルが対応しているか確認してください |
| LM Studio | 0.3.6以降に更新し、ツールをネイティブサポートするモデルを使用します |
応答が文の途中で途切れる
考えられる原因は2つあります。2
- サーバー側の出力上限が低い(
max_tokens)— SGLang のデフォルトは応答ごとに128トークンです。サーバーで--default-max-tokensを設定するか、config.yamlのmodel.max_tokensを設定してください。 - コンテキストの枯渇 — モデルがコンテキストウィンドウを使い切っています。
model.context_lengthを増やすか、Hermes でコンテキスト圧縮を有効にしてください。
WSL2 から Windows 上のモデルサーバーに接続すると「Connection refused」になる
WSL2 は独自のサブネットを持つ仮想ネットワークアダプターを使用します。そのため、WSL2 内の localhost は Windows ホストではなく Linux VM を指します。対処方法は2つあります。2
ミラーリングモードのネットワーク(Windows 11 22H2以降):%USERPROFILE%\.wslconfig を編集します。
[wsl2]
networkingMode=mirrored
その後、wsl --shutdown を実行して再起動してください。これで localhost を双方向に利用できます。
ホスト IP を使う代替方法(古い Windows):WSL2 内から Windows ホストの IP を取得し、localhost の代わりに使用します。
ip route show | grep -i default | awk '{ print $3 }'
# Use that IP as the base_url host
さらに、モデルサーバーを 127.0.0.1 ではなく 0.0.0.0 にバインドする必要があります。Ollama では OLLAMA_HOST=0.0.0.0 を設定し、llama-server/SGLang では --host 0.0.0.0 を追加します。LM Studio では「Serve on Network」を有効にしてください。2
反復回数の上限に agent.max_turns が反映されない
config.yaml に agent.max_turns: 500 と記載されているのに、アクティビティ行に N/90(または別の古い上限値)と表示される場合は、~/.hermes/.env に古い HERMES_MAX_ITERATIONS 行が残っている可能性があります。以前のセットアップウィザードは上限値を両方の保存先に書き込んでいました。起動時のブリッジ処理が先行する設定解析エラーによって中断されると、.env に残った値が気付かれないまま優先されます。v0.21.1以降では、hermes doctor がこの重複設定を検出し、hermes doctor --fix を実行すると .env の行を削除して、config.yaml を唯一の正式な設定元にします。41
各種ファイルはどこにある?
この場合は hermes status と hermes dump が役立ちます。hermes logs list を実行すると、すべてのログファイルとそのサイズが表示されます。hermes config path は設定ファイルの場所を、hermes config env-path は .env の場所を表示します。6
FAQ
Hermes AgentとClaude Codeの違いは何ですか?
Claude CodeはAnthropic公式のCLIで、利用できるのはAnthropicモデルに限定されています。Hermes AgentはNous Researchによるオープンソースのエージェントフレームワークで、OpenAI互換のプロバイダーであれば、Nous Portal、OpenRouter、Anthropic、GitHub Copilot、z.ai、Kimi、MiniMax、DeepSeek、Hugging Face、Google、独自にホストするエンドポイントのいずれでも動作します。12 また、HermesにはTelegram/Discord/Slack/WhatsApp/Signal向けのメッセージングgatewayが付属していますが、Claude Codeにはありません。
AnthropicのAPIキーでHermesを利用できますか?
はい。方法は3つあります。2
~/.hermes/.envにANTHROPIC_API_KEYを設定し、hermes chat --provider anthropic --model claude-sonnet-4-6を実行しますhermes modelを実行してAnthropicを選択します。利用可能な場合、HermesはClaude Codeの認証情報ストアを使用します- フォールバックとして、
ANTHROPIC_TOKEN(setup-tokenまたはOAuth token)を手動で設定します
同じマシンですでにClaude Codeを利用している場合は、方法2がおすすめです。更新可能なClaude認証情報を、そのまま更新可能な状態に保てます。
会話を失わずにプロバイダーを切り替えるにはどうすればよいですか?
セッション内で/model provider:modelを使用します。会話履歴、メモリ、skillsはすべてそのまま引き継がれます。9
/model zai:glm-5
/model openrouter:anthropic/claude-sonnet-4
/model custom:local:qwen-2.5
Anthropicを設定しましたが、ビジョン/Web/圧縮が動作しません
現在のビルドでは、従来の原因でこの問題が起こることはほとんどありません。デフォルト(auxiliary.*.provider: "auto")では、ビジョン、承認分類、圧縮、セッションタイトルなど、すべての補助タスクがメインのチャットモデルで実行されます。そのため、Anthropicのみを設定している場合でも、すでに用意されているOAuthでこれらを処理できます。従来のデフォルト(OpenRouter経由のGemini Flash → Nous → Codexの順に自動検出し、いずれも設定されていなければ通知なしで機能を縮退させる方式)は廃止されました。「現在、autoはすべてのユーザーに対してメインモデルを使用し、config.yamlのタスク別オーバーライドは引き続き優先されます」。34
それでも補助タスクが失敗する場合は、設定していないプロバイダーを指すタスク別の明示的なオーバーライド(config.yaml内のauxiliary.<task>.provider / .model)や、古いレガシーキーが残っていないか確認してください。タグv2026.8.31以降、圧縮サマライザーはほかの補助スロットと同様にauxiliary.compression.providerで設定します。従来のcompression.summary_*キーは、そこへ自動的に移行されます(設定バージョン17)。31 Web抽出は、もはやLLMタスクではありません(「LLMは関与しません」)。そのため、現在のビルドでWeb要約に失敗しても、補助モデルの問題ではありません。34 タスクでメインプロバイダーを明示的に使用するには、次のように固定します。
auxiliary:
vision: { provider: "main" }
compression: { provider: "main" }
SOUL.mdとAGENTS.mdの違いは何ですか?
SOUL.mdはエージェントのアイデンティティを定義するファイルで、口調、スタイル、コミュニケーションのデフォルト設定を記述します。~/.hermes/SOUL.mdに配置され、どこでも適用されます。AGENTS.mdはプロジェクト固有のファイルで、アーキテクチャ、規約、コマンド、パスなどを記述し、プロジェクトディレクトリに配置します。13 どこでも適用したい内容はSOUL.mdに、特定のプロジェクトに属する内容はAGENTS.mdに記述してください。
複数のHermesインスタンスを並行して実行するにはどうすればよいですか?
profileを使用します。profileごとに個別のHERMES_HOME、設定、メモリ、セッション、gateway PIDが割り当てられます。6
hermes profile create work --clone
hermes profile use work # Sticky default
hermes -p work chat -q "..." # One-off without switching
hermes profile alias work --name h-work # Wrapper script
HermesはローカルのLLMをサポートしていますか?
はい。カスタムエンドポイントを通じて利用できます。Hermesは、Ollama、vLLM、SGLang、llama.cpp/llama-server、LM Studio、LocalAI、Jan、独自のサーバーなど、OpenAI互換のサーバーであれば動作します。2 サーバーごとの設定については、カスタムおよびセルフホスト型エンドポイントをご覧ください。
起動バナーに表示されるツール数が、このガイドに記載されたHermesのツール数より少ないのはなぜですか?
このガイドに記載した47ツール/20 toolsetsという数字は、アップストリームのアーキテクチャレジストリに基づくもので、Hermesが全toolsetを通じてソースコードを提供しているツールの総数です。実行中の環境では、起動時にデフォルトのtoolsetセットだけが有効になるため、バナーに表示される数はこれより少なくなります(このガイドで使用した参照環境では28ツールと表示されます)。多くのtoolsetはオプトインです。メッセージングgatewayアダプター、ブラウザ自動化、高機能なスクレイピングスタック、いくつかの専門的な統合機能は、読み込む前に~/.hermes/config.yamlのtoolsets:へ明示的に追加する必要があります。レジストリの合計は「有効にすれば利用できるもの」、バナーの合計は「現在のprofileで実際に読み込まれているもの」を表します。hermes tools --listを実行すると、有効なtoolsetと、利用可能だが無効になっているtoolsetを確認できます。実行中に個別のtoolsetを切り替えるには、/tools enable <name>と/tools disable <name>を使用します(無効化するとセッションがリセットされ、エージェントが変更後の構成でツールマニフェストを再構築します)。
プライマリプロバイダーに障害が発生した場合、Hermesはどのようにモデルをフォールバックしますか?
config.yamlでfallback_modelブロックを設定します。2
fallback_model:
provider: openrouter
model: anthropic/claude-sonnet-4
プライマリ側で障害(レート制限、サーバーエラー、認証エラー)が発生すると、Hermesは会話履歴を失うことなく、セッションの途中でフォールバックへ切り替えます。切り替えは1セッションにつき最大1回です。
エージェントは時間とともに自身のskillsを改善できますか?
はい。これがHermes Agentの「自己改善」にあたる部分です。エージェントはskill_manageツールを使ってskillsを作成、更新、削除できます。複雑なワークフローを解明すると、今後再利用できるよう、その手順をskillとして保存します。11 エージェントがskillsを作成するのは、複雑なタスク(ツール呼び出しが5回以上)の完了後、エラーに遭遇して有効な手順を見つけたとき、進め方を修正されたとき、複雑なワークフローを発見したときです。
IDEとの統合機能はありますか?
はい。Hermesは、VS Code、Zed、JetBrains向けのACP(Agent Client Protocol)サーバーとして実行できます。6
pip install -e '.[acp]'
hermes acp
変更履歴
| 日付 | 変更内容 | 出典 |
|---|---|---|
| 2026-09-24 | ガイド v1.23:ガイド初版以来、現行リリースより上に置かれていた v0.14.0 の概要ブロックを、ほかの履歴と同じ新しい順に並べた「新機能」履歴の最古のセクションとして末尾へ移動しました。内容の変更はありません。これにより、要点まとめは「主なポイント」から出典に関する注記を経て「目的別の読み方」へと直接続くようになりました。 | ガイドの構成 |
| 2026-09-24 | ガイド v1.22:Hermes v0.21.5(タグ v2026.9.24、9月24日)– 3回目のロールアップパッチ。厳選したリリースノートは v0.22.0 まで延期されました。 冒頭に新しい「新機能」セクションを追加し、要点まとめから参照できるようにしました。タグ時点のソースまで確認した内容は次のとおりです。Hindsight はコアツリーからプラグインカタログへ移動し(リリースノートには記載なし)、自動移行も用意されました。gateway.multiplex_profiles: false は廃止され、profile 単位のパーキングと gateway.standalone が導入されました。Nous と OpenRouter の選択画面には GPT-6 Sol/Luna と Claude Opus 5.5 が追加されています。「外部メモリプロバイダー」には、同梱される7つのプロバイダーに加え、カタログ提供の Hindsight を掲載しました。「メッセージング gateway」には、廃止されたオプトアウト設定に関する段落を追加しています。互換性ボックスはタグ時点で再確認し、plugin_compat.py に変更はなく、エスケープハッチも引き続き機能します。訂正として、同梱されるプロバイダープラグインは39個ではなく38個であり、OpenCode Free の行には削除済みと明記しました。どちらの変更も9月18日時点のものです。 |
5253 |
| 2026-09-23 | ガイド v1.21:正確性と読みやすさを見直しました。対象は引き続き Hermes v0.21.4(タグ v2026.9.21、これ以降のリリースなし)です。「新機能」は新しい順に並べ、v0.21.3 を独立したセクションにし、要点まとめの先頭には現行リリースを置きました。ペアリングについては、新しい値は decline のみです。allowlist を1つでも設定すると、実効デフォルトは ignore になります。YAML の形式は platforms.<name>.unauthorized_dm_behavior またはトップレベルキーです。stream-json は --query-file を受け付けるため、オプション表に行を追加しました。set-journal-mode には、すべてを停止する必要があることと、Windows の --force について追記しました。ホストシングルトンの段落は、オペレーター向けの挙動説明から始まるようにしました。ライタープロセスに関する文は削除しました。 |
5051 |
| 2026-09-22 | ガイド v1.20:Hermes v0.21.4(タグ v2026.9.21、9月21日)– 2回目のロールアップパッチです。v0.21.3 以降、「非マージコミット5,071件」「変更ファイル5,169件」「マージ済みPR 1,812件」「クローズ済みissue 2,116件」とされ、厳選した解説を v0.22.0 まで延期する簡潔な注記が添えられています。 v0.21.3 ブロックの下に新しい「新機能」セクションを追加しました。見出しに掲げられた5つの数値はすべて、指定された計測コミット 4b8a8134 のローカルクローンで正確に再現できました(タグではリリースコミットが1件追加され、非マージコミットは5,072件です。マージを含む合計5,173件も GitHub の比較 API と一致します)。タグ間の変更規模としては、v0.21.1 の5,139件に次いで史上2番目に大きく、この主張も再確認して引き続き正しいことを確認しました。リリースで意図的に文書化されなかった項目は、タグ時点のソースを検証してからのみ扱い、それぞれ既存の該当セクションへ配置しました。ホストシングルトン(gateway/host_rendezvous.py:OSユーザーごとに各ホストで hermes serve と hermes gateway run をそれぞれ1つに制限し、ホストロックと (pid, createTime) による稼働証明付きのランデブーレコードを使用します。host_attach.py には ATTACH/RESCAN/REPLACE_HOST/REFUSE/START の5つの結果があります。Desktop 側の host-backend-attach.ts は台帳 -> HTTP -> トークン -> WS の順に試行し、ホスト単位の起動ゲートを備えています。「メッセージング gateway」にこの段落を追加しました)。バックエンド所有の単一コネクター操作(tools/connectors/operation.py は「純粋なデータであり、I/O なし」。300秒の期限は意図的に設定キーとして公開されていません。タグ時点のテストに基づき、Desktop/TUI/CLI に manage_connections セットアップカードがあります。Nous 無料枠のサブセクションを拡充しました)。--format stream-json(_parser.py:247-249 と hermes_cli/stream_json.py:system/init -> text/tool_use/tool_result -> 単一の result エンベロープ。-q が必須で、--quiet を暗黙に有効化し、--tui との併用は拒否します。ツール出力の上限は5,000文字です。chat オプション表に行を追加しました)。skills.auto_load(config_defaults.py:1435:「新しい各セッション(CLI、TUI、gateway、cron、API)で完全に読み込まれた状態に固定されます」。プロンプト構築時に1度だけ解決され、存在しない名前は警告してスキップします。HERMES_IGNORE_RULES で抑制できます。新しい「固定 skill」サブセクションを追加しました)。gateway の decline(gateway/config.py:139:丁寧な拒否を1度送信した後、DECLINE_DEDUPE_SECONDS に従って24時間応答しません(#88028)。unauthorized_dm_decline_message を使用し、platforms.<name>.extra でプラットフォームごとに設定できます。Email のデフォルトは ignore です。「ペアリング」セクションを拡充しました)。mcp.discovery_concurrency(config_defaults.py:526:デフォルトは4、0は無制限です(#117373)。無効な値では警告を出してデフォルトへ戻り、それでも全サーバーへの接続を試みます。MCP セクションを拡充しました)。session_search の after/before と、OR 条件へ緩和する再試行(ツールスキーマ :708-725:境界を含む/含まない範囲指定に対応し、ISO または 7d/24h/2w を使用できます。hermes_state_search.py:1151-1163 では、unicode61 インデックスで結果が0件の場合に、いずれかの語へ一致する再試行を行います。完全一致の意味は維持され、OR/NOT/単一語/CJK は対象外です。「セッション検索」を拡充し、同セクションに残っていた古い「Gemini Flash による要約」という記述も、34 に基づいて v0.15.0 の LLM を使わない単一形式の設計へ修正しました)。hermes sessions set-journal-mode delete\|wal(subcommands/sessions.py:177 と sessions_cmd_journal_mode.py:#100896 に対応するオフラインのセルフサービス機能です。他のプロセスが保持している場合は拒否し、ヘッダーバイト18/19を検証します。doctor からもこのコマンドを案内します。sessions の行と「セッションストレージ」を拡充しました)。Desktop の一連の更新(テーマの --dt-font-sans を上書きするフォント項目 desktop.font_family と、アクセシビリティを優先した候補。実行環境をワンクリックで更新でき、失敗時には再試行を明示する「更新エンジン」。plugins.manage remove / Electron ローダーを使用し、確認操作を挟む Plugins ハブのアンインストール機能)。動画カタログ(plugins/video_gen/fal の ltx-2.5 と kling-o3、およびタグ時点の機能記述。toolset 参照の一覧に行を追加しました)。プラグインカタログの拡充(期間中に plugin-catalog/ が9件から228件へ増加しました。SHA で固定された YAML の登録、allowlist レンダラーを通じて固定コミットの README を表示するプラグイン別・作者別Webサイト、コミッター日時による追加・更新順の並べ替えに対応しています。リリースで挙げられた10個のコミュニティプラグインが、実際のslugである hermes-tailscale/hermes-ssh/shodan/hermes-terminal/hermes-rss/hermes-resetwatch/done-bell/kiwi/cognee/web-octen として存在することを確認しました。「プラグインシステム」を拡充しました)。修正項目のカテゴリ(profile/multiplex の分離、cron、kanban、Desktop、state.db)は、リリース自体の延期方針に従い、v0.22.0 の調査まで保留しました。互換性の状態を再検証しました:パスを削除するrevertは依然として反映されていません。マニフェストとshimは v2026.9.21 にも、a53b42ddea 時点の main(2026年9月22日、同日に取得)にも存在します。plugin_compat.py の期間内の変更は、プラグインスキャンのキャッシュと Windows パスの POSIX 形式化のみです(#112576)。リテラル真偽値のガードは :261-268 から :296-303 へ移動しましたが、引き続き is True です。v0.21.1 の箇条書き、v0.21.3 のブロック、「プラグインシステム」ボックス、42 の情報を最新化しました。v2026.9.21 時点で再集計した結果、静的プロバイダーは39(models_catalog_static.py:311 での AST 集計)、プロバイダープラグインのディレクトリも39で、どちらも変更ありません。要点まとめにあるプロバイダー数の基準タグを v2026.9.14 から v2026.9.21 へ更新し、v0.21.3 の「現行リリース」という表現は廃止しました。 |
505142 |
| 2026-09-15 | ガイド v1.19:Hermes v0.21.2(タグ v2026.9.11、9月11日)「state.db パッチリリース」+ v0.21.3(タグ v2026.9.14、9月14日)、およびプラグイン互換性期限後の状況。 v0.21.1 セクションの下に「新着情報」セクションを追加。v0.21.2(「マージを除く947コミット」「マージ済みPR 312件」「コントリビューター140名」)では、まず state.db の信頼性向上キャンペーンを取り上げています(6件のPR、44件のissue:ホスト型ルームの調整処理をルートストアから shared-state.db へ移動—タグ時点の gateway/hosted_rooms.py:398-426 で確認済み、dashboard は最初に読み取り専用で開く、追跡対象の接続レジストリを介した cron ガード、doctor --fix は安全性を証明できない checkpoint を拒否、FTSインデックスが破損してもターンを強制終了せず検索機能を縮退、破損行では sessions list を終了させず ? を表示、profile 固定のバインディング、読み取り専用オープンで書き込みロックを取得しないように変更し4~20秒から0.01秒へ短縮、リリースに記載された運用手順も維持:まず hermes doctor、次に hermes sessions recover --inspect-only—パーサーは hermes_cli/subcommands/sessions.py:185-196。このサブコマンドは対象期間より前から存在しており(v2026.8.31 で確認)、新機能ではなく今回新たに取り上げた機能として記載);複数 profile の分離強化(#107609~#107630 により、v0.19.0 以来掲げてきた「完全に分離」という約束に実在した穴を修正—継承される許可リスト、デフォルト profile のホストへ渡る認証情報、stdio MCP サーバーへ渡る vault シークレット、profile をまたぐ MEDIA: 添付ファイル、兄弟 profile の Nous bearer。Profiles と Messaging Gateway の多重化に関する段落へ、実情を正直に示す注記を追加);パスワードを認識しない認証情報 vault(メタデータのみを持つ名前空間付きハンドルを介し、1Password、Bitwarden、またはローカル vault からサインイン、支払い、自動入力を実行し、パスワードは入力時に解決。マスターパスワードがツール引数になることはありません。保存済みの認証アプリキーからTOTPを生成—タグ時点の agent/vault_backends/ + agent/vault_store.py:74-105 で確認済み);プラグインカタログ(hermes plugins browse/search、カタログ対応の install、pack install/export/show、SHA固定—タグ時点でサブパーサーを確認済み。Plugin System のコマンドブロックを更新);Nous の無料枠+ガイド付き初回起動(無料の推論とコネクター、チャットからの /login、HERMES_GUEST_ONBOARDING=1 はリテラルの 1 の場合にのみ有効—guest-onboarding-flag.test.ts で確認済み。Nous Tool Gateway の下に新しいサブセクションを追加);さらに、デスクトップでプロセスが大量生成される問題を修正。v0.21.3 の短いブロック(「マージを除く1,036コミット」「マージ済みPR 338件」。自動更新されるCloudエージェントへ配信するためタグを作成):single-flight方式のトークン更新により、更新の集中でセッションが失効する問題を解消(コミット 5dea46d13d、#110061)、state.db の書き込みハンドルが重複する問題を解消(コミット 939a2f64b4、#110934)。いずれも v2026.9.11..v2026.9.14 の期間内のみで確認済み。リリース自身による延期の説明(「この期間の完全に精選されたリリースノートは v0.22.0 とともに公開され、v0.21.0 以降のすべてを記載します」…「この期間の内容は何も省略されません」)と、意図的に未記載とされた項目(推論エフォートのピッカー、OpenRouter PKCE、HEIF/AVIF、FAL関連の一連の変更、Slack Agent Sessions API、VMをまたぐWALの拒否)を行内に明記し、v0.22.0 の調査まで保留。v0.21.1 の詳細分解箇条書き、Plugin System のボックス、42では、互換性期限後の記述を過去形に書き換え:削除措置はコードのrevertではなく日付ゲートにより予定どおり有効化されました(v2026.9.14 の hermes_cli/plugin_compat.py:32 で COMPAT_REMOVAL_DATE を設定。:86-90 の removal_in_effect() は2026年9月14日以降true)。対象プラグインは赤い通知とともに無効になりましたが、古いimportパスを削除するrevertはまだ取り込まれていません(COMPAT_MANIFEST.md、compat_manifest.json、shimはタグ時点に加え、2026年9月15日12:55 PTに取得した main の 5d59366010 にも存在)。そのため、plugins.allow_deprecated_imports: true を設定すれば、対象プラグインは引き続き読み込まれます。リテラルの真偽値のみ有効です(plugin_compat.py:261-268、is True—引用符付き文字列ではバイパスは開きません)。changelogのみに記載され、リリースまたはソースで確認済みの項目:Telegram の bots_require_mention によりbotには@mentionが必須となり、bot同士のループを防止。hermes -z --resume はセッションを継続(-z = --oneshot、hermes_cli/_parser.py:113)。受動的な更新確認では30分ごとにgit fetchせず、GitHub API へのアクセスを1日最大1回に制限(v2026.9.11 の banner.py:129-131、v2026.9.14 の :136-139)。hermes backup -k/--keep はデフォルトで最新のzip 3件だけを残すよう整理し(subcommands/backup.py:24-26)、config.yaml のバックアップは上限付きの単一ディレクトリ backups/config/ に保存。model_thresholds のキーは provider:substr の形式でproviderごとに指定可能(agent/context_compressor.py:1558-1567)。--clone-all は cron ジョブをコピーしないよう変更(このフラグがあるのは hermes cron ではなく hermes profile、subcommands/profile.py:24)。kanban promote は未完了の親を拒否し、kanban_request_review は未知のreviewer profileを拒否。/model と補助的なautoは、選択していないproviderへ課金することも、認証情報のないproviderへ自動切り替えすることもありません。ピッカーにDeepSeek V4.1 Flash(Nous Portal+OpenRouter)、GPT Image 2.5、ネイティブAnthropicピッカーのOpus 5+Fable 5.1を追加。debug share のdpasteフォールバックでの保持期間を1日に短縮。v2026.9.14 時点で再確認:静的providerは39(models_catalog_static.py:314 の CANONICAL_PROVIDERS をASTで集計)、providerプラグインのディレクトリも39で、どちらも変更なし。--max-turns のデフォルト値500は現在 cli.py:404(41 の cli.py:400 は、そのタグについては引き続き正しい)。model_catalog.ttl_minutes は20(config_defaults.py:1866)。v0.21.1 が最大期間であるという記述(5,139)は、新しい2期間(ローカル集計でマージを除く959件と1,037件)と比較しても引き続き正しい。TL;DRのprovider数を確認したタグを v2026.9.7 から v2026.9.14 へ更新。 |
484942 |
| 2026-09-08 | ガイド v1.18:Hermes v0.21.1(タグ v2026.9.7、9月7日)――集約パッチ:精選された注記を v0.22.0 に先送りする意図的に簡潔なパッチノートながら、タグ間の差分としては過去最大(「マージ以外のコミット 5,139 件」「マージ済み PR 632 件」)となりました。 Pantheon セクションの上に新しい「新機能」セクションを追加し、ソースで検証した6つのクラスターを取り上げました。内容は、9月の分割再編と 2026-09-14 のプラグイン互換性期限(COMPAT_MANIFEST.md:遅延読み込みへ移行した名前 1,148 件、名前ごとに一度だけ発生する HermesPluginCompatWarning、hermes plugins compat チェッカー、plugins.allow_deprecated_imports という回避策。Plugin System に互換期間のボックスも追加)、明示的な操作だけで区切られる gateway の会話境界(SessionResetPolicy は現在機能しません――Messaging Gateway を更新し、claw 移行リストに注記を追加)、MCP のデバイスコード OAuth(hermes mcp login --flow device、RFC 8628。MCP のコマンドブロックに login と reauth --all を追加。OAuth セッションを通じた profile の所有権管理、不正なメタデータキャッシュの無視、デスクトップクライアント内で完結するコールバック、MCP サーバー起動の -t フィルター)、委任の信頼性(タスクごとの group を持つ delegation.independent_completions による完了単位。デフォルトでは呼び出しごとに1件の完了。結果に orphaned_processes と unread_completions を明記するバックグラウンドプロセスの引き継ぎ、delegation.fallback_providers、ノーマライザーで検証される子チェーン、クラッシュ後も保持される途中結果、子は1時間のキャッシュ階層を継承しない仕様――すべてタグ時点の delegate ツールのソースから確認)、プロバイダー/モデル(高速/flex 階層を備えた GPT-6 Astra と Astra Pro。Codex OAuth ではアカウント制限があり、オプトインの -900k バリアントを用意。claude-fable-5.1、gemini-3.7/3.8-flash、qwen3.8-max-0902、Muse Spark 1.3 と muse-image image_gen プラグイン、Tavily の検索/抽出、管理対象の llama.cpp ランタイム、外部プロセスプロバイダー、model_catalog.ttl_minutes による20分間隔のカタログ更新)、そしてデスクトップの大規模な機能追加(注釈ごとにセレクター/マークアップ/スタイルを保持し、領域別にバッチ化するアプリ内ブラウザーのコメントモード、構造化されたセッション/自動化コントロール、ドラッグによるセッション作成、外部トランスクリプトからのセッションインポート、display.resume_last_session、初回起動時に実 profile の利用同意を取得、組み込みのオプション skill カタログ、デスクトップのロシア語ロケール)です。changelog のみで扱い、コミットまたはソースで検証した項目:cron の信頼性(再起動時の引き継ぎを、検証済みの3つの修正コミットで強化。配信重複排除を直列化し、終了状態を保持。一時停止ジョブ作成時の競合を解消。Discord の cron メディアを対象へ正しくルーティングし、アップロード失敗を報告。出力のない監査 tick をまたいでも継続性を維持)、承認時のシェル解析(GNU env の分割エスケープと argv0 オペランド、env の argv とシェルコメントの境界、引用されたコマンド置換本体でコマンド境界を維持、隔離コンテナ内の approvals.deny)、gateway 起動時の稼働監視 watchdog(hermes_startup_watchdog.py、300秒の期限とハード終了コード 75 を設定する gateway.startup_watchdog)、state.db の耐障害性(sqlite3 の .recover による lost-and-found の復旧、like_scan の FTS ルーティング、新しい docs/state-db-recovery.md)、パフォーマンス(ローカル POSIX ホストでは search_files が ripgrep をネイティブ実行、スキーマ v30 で delegate 子のトランスクリプトを trigram FTS インデックスから除外、メイン経路と補助経路で OpenAI httpx クライアントを共有)、gateway.trust_env、Slack Block Kit の /model ピッカー、リモート sandbox からのメディア配信(認証情報と、それを指すシンボリックリンクは sandbox 外へ一切出ません)。トラブルシューティングには、古い HERMES_MAX_ITERATIONS が残留する問題を検出する doctor チェックを追加しました。タグ時点で v2026.8.31 から v2026.9.7 へ再集計:静的プロバイダーは 39、プロバイダープラグインのディレクトリも 39 で、どちらも v0.21.0 とエントリが完全に同一です――事前調査時の「静的プロバイダーは38で、xai はプラグインに吸収された」という記述は、ソースによって否定されました(xai タプルは静的リストに残っており、移動したのはファイルだけです。hermes_cli/models.py → hermes_cli/models_catalog_static.py:311)。メンタルモデルと CLI のデータフローでは、prompt_builder.py のパスを agent/prompt_builder.py に修正しました。v0.16 の1時間間隔というカタログ更新の記述は、そのバージョンに限定したまま維持し、隣に20分間隔の新仕様を追記しました。既存の記述も再検証し、変更がないことを確認済みです:hermes approvals test の名称に関する注記、--max-turns のデフォルト値 500(タグ時点の cli.py:400。60とする古い docstring は反映していません)、read_file の上限 2000 行、委任の上限 250/10、compression.tail_mode: lean、Node 26、CLI の17ロケール。 |
41424344454647 |
| 2026-07-28 | ガイド v1.12:検索需要に基づく網羅性の見直し――コンバージョン率の高い2つのトピックに、遷移先となる見出しがありませんでした。 新しいリリースはありません。GSC では、hermes swarm と hermes agent swarm が約8位から 4.4〜6.3%、hermes smart model routing が6.7位から 4.9% のコンバージョン率を記録していましたが、どちらの用語にも専用セクションがありませんでした。swarm は Multi-Agent Kanban 内の本文と changelog の行にしかなく、「smart model routing」は脚注以外に一度も登場していませんでした。Multi-Agent Kanban の下に Hermes Swarm とは? を追加しました。swarm を、1つの永続的なボード上で並列に動作するワーカー群として定義し、v0.15.0 の swarm トポロジー、自動分解、タスクごとのモデル上書き、スケジュール済みタスク、worktree 管理を解説するとともに、各仕組みが防ぐ障害を表にまとめています。Provider Rotation & Fallback は Smart Model Routing:Provider Rotation & Fallback に改題し、認証情報プール、フォールバックモデル、補助ルーティングを1つのシステムとして結び付ける導入文を追加しました。このアンカーへの内部リンクは存在しなかったため、改題によるリンク切れはありません。 |
59 2 6 |
| 2026-08-31 | ガイド v1.17:Hermes v0.21.0「The Pantheon Release」(タグ v2026.8.31、8月31日)――精選された集約リリースが公開されました。 Herald セクションの上に新しい「新機能」セクションを追加し、リリース独自の機能領域ごとに整理しました。デスクトップに同梱されデフォルトで有効になる Bot Mode(名前付き profile、決定論的なアバター、@メンション対応のグループチャット)、hermes peer による bot 間 DM(返信は各エージェントの正規 Bot Chat に届きます)、cron の継続性(continuity=true、永続的なメモ帳、monitor-mode での LLM スキップ、ジョブごとの effort 固定――Scheduled Tasks セクションに、タグ時点における4項目すべての仕組みを追加)、subagent のライブオーケストレーション(delegate_task の一覧表示/介入/停止、JSON スキーマの子出力、デフォルト上限を250イテレーション/同時実行する子10件へ引き上げ――config_defaults.py でソースを検証済みで、委任ドキュメントページの 3/50 は古い情報です)、MCP コマンドセンター(hermes:// インストールリンクを追加――MCP セクションを更新)、CLI の大規模な機能強化(/palette と Ctrl+P、および共有レジストリを使う /status をスラッシュコマンド表へ追加し、入力しながら絞り込める /model を記載。リリースノートにある hermes approval-check という名称は、タグ時点では hermes approvals test であることを確認――そのようなサブコマンドは存在しません)、エージェント駆動のアプリ内ブラウザー、プロバイダー/モデルの大規模な追加(6つの新規プロバイダー。マトリックスに Tencent TokenPlan、Nebius Token Factory、Ramp Router、Alibaba Token Plan の行を、ドキュメントから引用した環境変数とともに追加。model_overrides、データ学習階層の警告、pip プロバイダープラグイン)、セキュリティの大規模な強化(AGENTS.md/skill/メモリへの書き込みは常に承認が必要――タグ時点の security.protected_instruction_files: true と tools/file_tools.py のゲートで検証済み。秘匿化の全面適用、Windows の承認対応、hermes desktop --setup-tcc-identity、Blender MCP の削除――Security Hardening に第4の強化項目を追加)、gateway の成熟、8つの skill の追加、そして REVERTED リスト(Model Council の /council、DCP context engine、WS 専用 gateway サーバー――連番付きリプレイ #94219 は実際にリリース済み。Electron は 40.10.2 に戻されました。grep により、取り消された機能はいずれもガイドに記載されていなかったことを確認)です。集約サブセクションで注記を先送りしていた状態は RESOLVED となり、現在は精選されたセクションを参照しています。期間別のブロックはタグごとの記録として維持しました。タグ時点で v2026.8.27 から v2026.8.31 へ再集計:静的プロバイダーは 38 → 39(+tencent-tokenplan)、プロバイダープラグインのディレクトリは 37 → 39(+nebius-token-factory、+router、いずれも auth_type="api_key")、ドキュメントのプロバイダー行は 41 → 45。変更がなく再検証済みの項目:ドキュメント上のプラットフォーム 28 行/Platform enum メンバー 24 件(リストは同一)/アダプターディレクトリ 22 件、同一内容の _BUILTIN_SUBCOMMANDS(73件。peer は集約期間から存在し、version はありません)、ターミナルバックエンド7種+プラグインレジストリ(レジストリはバイト単位で同一)、personality 14種とロケール17種(バイト単位で同一/リストが同一)、compression のデフォルト lean と補助スロットの構成、バイト単位で同一の _startup_fast.py/portal_cli.py。検証中に修正した差異:TTY での hermes chat -q は現在、対話セッションを開始します(新しい --oneshot で回答後に終了する従来の動作へ戻せます)。また、タグ時点のパーサーヘルプに従い、チャット表にある --max-turns のデフォルト値を 90 → 500 に修正しました。 |
35363738394033 |
| 2026-08-27 | ガイド v1.16:Hermes v0.20.6(タグ v2026.8.27、8月27日)— 第4次ロールアップ。 ロールアップのサブセクションに第4の期間を追加しました。リリース自身の説明によると、v0.20.5以降で約1,557ファイルにわたる約1,313コミット、+177,113 / −21,682行、マージ済みPRは約525件です。主な内容は、同意を必須とする実プロファイルでのブラウジング(デフォルトのChromiumプロファイル、Windowsでは承認を得て終了するフロー)、独立したOSウィンドウで動作するデスクトップBrowser、管理対象のSSHリモート更新エンジンとフリートprofileレール、リモートMCPカタログの拡充(Cloudflare、Grafana Cloud、Better Stack、Railwayなど、ベンダーがホストし稼働確認済みのサーバー50以上)、保存済みシークレットに対するオプトイン方式のOSキーチェーン暗号化、新しいピッカーモデル(GLM-5.3-Flash、MiniMax M3 free、MiniMax H3 Max video)、web_search/web_extractのTTL結果キャッシュ、ステミング対応の複数クエリtool_search、制御ソケット経由でgatewayを一時停止するアップデーター、安全でないインプレース更新を拒否するイメージ/パッケージ管理インストール、cronの永続的なインシデント確認応答、Slackのリンク展開制御、共有DockerコンテナIDです。リリース上の2つの記述が既存セクションと矛盾していましたが、どちらもタグ時点で確認し、修正しました。lean-tail圧縮がデフォルトです(Context Compressionをタグ時点のキーに合わせて改稿しました。tail_mode: lean、threshold_tokens、protect_first_n、auxiliary.compression.*配下の要約用設定、設定バージョン17への自動移行を反映し、逆の内容になっていたトラブルシューティング注記も修正しました)。また、ターミナルバックエンドはプラグインで拡張できます(プロバイダーピッカーと同様に、7つの組み込みバックエンドとプラグインレジストリという構成に改めました。組み込み名は予約済みです)。タグ時点の数値を再検証し、v2026.8.19からv2026.8.27へ更新しました。静的プロバイダーは38、プロバイダープラグインのディレクトリは37、Platform enumのメンバーは24、アダプターディレクトリは22、ドキュメントの表は28行です。versionサブコマンドはなく(_BUILTIN_SUBCOMMANDSは73エントリで、worktreeを含みます)、パーサーオプションと引用符付きのヘルプ文字列に変更はありません。BUILTIN_PERSONALITIESも引き続き14種類(helpfulからhypeまで)です。locales/は17カタログ(enと16の翻訳)となり、タグ時点の数を追記しました。mainはタグと同じ位置にあります(ahead_by: 0、ステータスも同一です)。検証中に見つかった差異も修正しました。補助システムの古いデフォルトでは、autoがOpenRouter → Nous → Codexの検出を通じてGemini Flashへルーティングされていましたが、現在はすべての補助タスクをメインチャットモデルへルーティングします。Auxiliary Modelsはタグ時点のスロット一覧に合わせて改稿し、title_generation、tts_audio_tags、triage_specifier、kanban_decomposer、profile_describerを出典付きの短い説明とともに追加しました。web_extractとsession_searchのスロットは上流で削除され、どちらもLLMを使用しなくなりました。また、flush_memoriesもデフォルトから削除されています。Anthropic限定のトラブルシューティング項目も根拠を改めました。リリースの新規インストール手順では未加工のGitHubスクリプトURLが使われていますが、本ガイドでは正規URLのhermes-agent.nousresearch.com/install.shを維持しています。v0.21.0向けの精選されたリリースノートは、引き続き公開予定です。 |
293031323334 |
| 2026-08-26 | ガイド v1.15:訂正 — 新しいリリースはありません(最新タグはv2026.8.19 / v0.20.5、8月21日)。既存の記述をタグ時点で再検証しました。 ターミナルバックエンドは6つから7つとなり、vercel_sandboxを表と設定コメントに追加しました。メッセージングプラットフォームについては、散在していた「22」という件数をタグ時点のドキュメント比較表にある28件へ統一し、集計基準(組み込みPlatform enumメンバー24個、同梱アダプターディレクトリ22個)を明記しました。gateway一覧にはntfyとBuzzも追加しています。プロバイダーについては、「約20 / 約22の主要プロバイダー」を出典に基づく数値(静的なCANONICAL_PROVIDERSエントリ38件に加え、同梱プロバイダープラグイン37件から自動拡張。ドキュメントページのクラウド/サブスクリプション表は41行)へ置き換え、「完全な一覧」という表現を削除しました。QwenのOAuth行を修正し、マトリックスに17行(OpenCode Free、OpenAI API direct、Vertex AI、Azure Foundry、Bedrock、NVIDIA NIM、Ollama Cloud、StepFun、MiniMax OAuth、Meta AI、NovitaAI、Arcee AI、GMI Cloud、Actual Computer、Tencent TokenHub、CommandCode、Alibaba Coding Plan)を追加しました。hermes versionをhermes --versionへ修正しました(タグ時点ではサブコマンドではありません)。hermes honchoにはプラグイン導入時のみ利用可能である旨を注記しました。「fleet --plan」をhermes update --planへ修正しました。Global Optionsには--in、--tui、--cli、--dev、--ignore-rules、--ignore-user-configを追加しました。Top-Level Commandsには_BUILTIN_SUBCOMMANDSから34行を追加し、各フラグを含むhermes worktree list\|pruneも掲載しました。/worktreeスラッシュコマンドを追加し、hermes setup --portalおよびhermes portal login\|info\|open\|toolsを文書化しました。検証時点のmainはタグより1,104コミット先にありましたが、それ以降の変更はすべてv2026.8.27へロールアップされています。v0.21.0向けの精選されたリリースノートは公開予定です。 |
23242526272829 |
| 2026-08-24 | ガイド v1.14:v0.20.5(タグv2026.8.19、8月21日公開)。 ロールアップのサブセクションに第3の期間を追加しました(v0.20.4以降、約746コミット/約323 PR)。主な内容は、キー不要のWebレイヤー(5ベンダーを無料でローテーションし、リングフェイルオーバーに対応。新規インストールではキーが1つもなくてもWeb検索を利用可能)、CLIの改善(あいまい検索対応の/modelピッカー、Ctrl+Pコマンドパレット、情報を拡充した/status)、Bot Modeのグループルームスレッド、折りたたみ可能な要約、PDF/ファイルのドラッグ&ドロップ、hermes worktree list/prune、hermes updateのレシートとフリート向け--plan検証、ジョブごとの推論強度を備えたcronの永続メモリ、Composioの評価結果に基づく実行規律の停滞防止機構、認証不要のopencode-freeプロバイダー、デスクトップのパフォーマンス改善(描画優先のハイドレーション、両レンダラーへのReact Compiler導入)です。精選された完全版リリースノートを伴うv0.21.0は引き続き公開待ちです。要約はリリース自身の対象期間の説明を出典としています。ヘッダーの系譜も更新しました。 |
23 |
| 2026-08-20 | ガイド v1.13:v0.20.3(タグv2026.8.16.2、8月17日公開)およびv0.20.4(タグv2026.8.18、8月18日)。 Herald Releaseの配下に新しいサブセクションを追加しました。このロールアップ系列は単なる安定化にとどまらず、新機能も含むようになっています。v0.20.3(約250コミット/約125 PR):2026-07-28版のステートレスプロトコルをサポートするMCP 2.x SDK移行、コアのチームメイトプロトコルを備えた同梱Bot Modeプラグイン(hermes-bots)、CommandCodeプロバイダープラグイン、Cua Driver 0.20のコンピューター操作ランタイム契約、Pythonランタイムの所有権強化、cronスケジューラーの自己修復、セッション引き継ぎ時のデータ損失修正、エコシステムから移植された機能(/worktree、手作業の編集を保持する/rollback、プラグインインストール時のセキュリティスキャン)です。v0.20.4(約146コミット/約74 PR):フロストピッカーを備えたデスクトップのガラス/半透明サーフェス、Botごとの表示/非表示に対応したタブ式SESSIONS|BOTSサイドバー、skillインストール時にライセンスとセキュリティを確認するNVIDIA SkillEvaluator Tier 1の助言的スキャン、cronのメディア送信強化、hermes updateにおける退避ブランチの正確な表示です。両リリースとも、精選された完全版リリースノートはv0.21.0で提供するとしています。要約は各リリース自身の対象期間の説明を出典としています。ヘッダー文とタグの系譜も更新しました。 |
54 |
| 2026-08-16 | ガイド v1.12:v0.20.0「The Herald Release」(8月3日、タグv2026.8.3)に加え、安定化タグのv0.20.1(8月13日)とv0.20.2(8月16日)。 動作しなくなった手順を3点修正しました。Node 26が必須です(インストーラーはNODE_VERSION="26"に固定され、それより古いランタイムを拒否します。ドキュメントサイトのNode v22という記載は古いため、インストーラーとリリースノートを正とします)。pipとHomebrewは非推奨になったのではなく、廃止されました(「サポート対象の導入経路はシェルインストーラー/Docker/Nixです」)。また、デフォルトの反復回数上限が90から500へ変更されました。これにより、予算負荷の表にあるすべての数値が無効になっていました。インストールコマンドは正規URLのhttps://hermes-agent.nousresearch.com/install.shへ修正しました。削除された機能として、claude-marketplace skillソースが廃止され、ソース一覧ではbrowse-shに置き換えられています。デフォルトのGitHub tapsは現在、openai、anthropics、huggingface、NVIDIA、gstackです。ドキュメントの比較表を直接列挙し、メッセージングgatewayの対応数を22から28プラットフォームへ改めました(ドキュメントでは公式の合計数を公表していません)。Windows(ネイティブ)は初期ベータではなくTier 1です。macOSはApple Siliconのみに対応します。新しいセクションでは、このリリース自体について取り上げています。割り込み発話対応の対話型音声、A2A v1.0、署名付き送信ライフサイクルWebhook、grounded-citations skill、!//init//diff//context//focusのCLI刷新とhermes import-agent、シークレットを参照するcommand-helper、hermes -wのコールドスタート短縮(約14秒から約1.8秒)、デスクトップ向け成果物とPlugin SDKです。変更がないことを確認した項目は、3つの認証経路、~/.hermes/の構成、hermes update、文書化済みのツール一覧です。 |
55 |
| 2026-07-21 | ガイド v1.11:v0.19.0「The Quicksilver Release」(2026年7月20日、タグ v2026.7.20)。「v0.19.0 の新機能」セクションを追加しました。初回ターンの TTFT を約80%短縮(コールド状態の送信→ディスパッチが、CLI/gateway/TUI/デスクトップ/cron 全体で約4.3秒から約0.9秒へ)。推論はデフォルトでリアルタイムにストリーミングされます(display.show_reasoning が ON)。デスクトップでは約20件の PR による高速化(ストリーミング Markdown が14倍高速)を実施し、TUI にはインクリメンタル Markdown を追加しました。pip/Homebrew によるインストールは非推奨となり、「サポート対象外のレガシー」として警告のみが表示されます。PyPI/Homebrew での公開も廃止予定です。これに伴い、インストールセクションと TL;DR を1行インストーラーに修正しました。Bitwarden と 1Password のプロバイダーに対応した差し替え可能な SecretSource(op:// 参照、複数 vault、決定論的な優先順位、変数ごとの出所)を追加しました。スマート承認がデフォルトとなり、フラグが付いたコマンドごとに独立した LLM レビュアーが確認します。YOLO でも維持されるユーザー定義の拒否ルール、/deny <reason>、plugin の pre_tool_call による承認エスカレーションも再導入しました。ターミナルでの請求管理として /subscription と /topup、デスクトップの請求タブを追加し、「個別のサブスクリプションコマンドはない」という記述を撤回しました。state.db にサブエージェントのリアルタイムトランスクリプト、永続的なバックグラウンド委任、配信義務台帳を追加しました。max_async_children は、統合された委任同時実行数の上限へ移行するため非推奨となりました。profile ベースの gateway メッセージルーティングにより、1つの多重化 bot トークンから分離された profile へ振り分けられます(GATEWAY_MULTIPLEX_PROFILES、state.db 内のルーティングインデックス、任意のレガシーミラー sessions.json)。プロバイダー/モデル: Fireworks AI(ピッカーの第2スロット)、DeepInfra、Upstage Solar、GPT-5.6(Sol/Terra/Luna + Pro)のエンドツーエンド対応、grok-4.5 GA、kimi-k3(kimi-k2.x は廃止)、Claude Sonnet 5 の完全統合、プロバイダーごとの enabled: false + excluded_providers、モデル単位/MoA スロット単位のオーバーライドとセッション単位の /reasoning に対応した推論 effort の max/ultra ティアを追加しました。CLI/MCP: hermes sessions export(Markdown/Quarto/HTML/プロンプトのみ/HF-trace、--redact)、/model --once、積み重ね可能な slash-skill 呼び出し、--safe-mode、hermes config get/unset、真のヘッドレス動作に対応した hermes serve、MCP の mcp__server__tool 命名を追加しました。また、記録から漏れていたパッチタグ v0.18.1(タグ v2026.7.7)と v0.18.2(タグ v2026.7.7.2)、2026年7月7~8日も追記しました。いずれもインフラ関連のパッチロールアップで、v0.18.2 の主な修正では、信頼できる Docker ビルドのため WhatsApp Baileys の固定を解除し、7.0.0-rc13 へ更新しています。 |
56 57 |
| 2026-07-16 | 起動時にそのまま表示されるエラー「No inference provider configured. Run ‘hermes model’ to choose a provider and model」に関する最初のトラブルシューティング項目を追加しました。検索需要を踏まえた追加で、対話型ピッカー、hermes doctor、3つの認証方法を案内しています。製品の変更はありません。 |
2 7 |
| 2026-07-01 | ガイド v1.10:v0.18.0「The Judgment Release」(2026年7月1日、タグ v2026.7.1)。「v0.18.0 の新機能」セクションを追加しました。P0/P1 バックログをすべて解消(約692項目)。モデルごとにラベル付けされたアンサンブル出力とリアルタイムストリーミングを備えた第1級機能としての Mixture-of-Agents、プロジェクトのチェックを実行して自身の作業を検証する /goal の完了コントラクト、ワークフローの説明から再利用可能で CONTRIBUTING.md 準拠の skill を作成する /learn、メモリ/skill のタイムラインとデスクトップのメモリグラフを提供する /journey、バックグラウンドでのサブエージェントのファンアウト(委任タスクの同時実行)、Desktop Projects(プロジェクト/repo/lane)、ドレイン調整機能を備えたゼロスケール対応 gateway、Google Vertex AI(GCP サービスアカウント経由の Gemini、自動 OAuth2 更新)、/prompt \$EDITOR コンポーザーを追加しました。出典:hermes-agent releases。 |
22 |
| 2026-06-21 | ガイド v1.9:v0.17.0「The Reach Release」(2026年6月19日、タグ v2026.6.19)。「v0.17.0 の新機能」セクションを追加しました。メッセージング: Photon Spectrum を利用したリレー不要の iMessage(hermes photon login、デバイスコード OAuth)、公式 WhatsApp Business Cloud API アダプター(ブリッジ不要)、SimpleX のグループと添付ファイル、Raft プラットフォーム plugin。モデル: z-ai/glm-5.2(1M)、anthropic/claude-fable-5、laguna-m.1、nemotron-3-ultra、grok-composer-2.5-fast(xAI OAuth、200k)。xAI のデフォルトを grok-build-0.1 に変更し、Anthropic アダプティブモデルから reasoning フィールドを削除しました。デスクトップ/ダッシュボード: リアルタイムの監視ウィンドウを備えたバックグラウンドサブエージェント(delegate_task(background=true))、完全な profile ビルダー、刷新された Skills Hub、Automation Blueprints、安全な 401 ログイン、VS Code Marketplace テーマ、日本語と繁体字中国語の UI。Skills/ツール: image_generate による image-to-image 編集、memory のアトミックな operations バッチ、simplify-code skill、write_mode に代わる真偽値の write_approval。アーキテクチャ: MCP elicitation ハンドラー、差し替え可能な CronScheduler + Chronos、Managed スコープ(/etc/hermes)、Gateway-Gateway リレー。コマンド: /version、/billing、hermes curator run --consolidate(オプトイン)。セキュリティ: shell-escape の denylist バイパスを封鎖し、承認/gateway アダプターを fail-closed 化しました。cron の環境変数をサニタイズし、デバッグダンプ内のシークレットを秘匿化したほか、MCP stdio のデータ流出スクリーニング、urllib3 + PyJWT の CVE 対応更新を実施しました。 |
21 |
| 2026-06-08 | ガイド v1.8:v0.16.0「The Surface Release」(2026年6月5日、タグ v2026.6.5)。ガイドの表題を v0.16 に変更し、「v0.16.0 の新機能」セクションを追加しました。最大のポイントは、Hermes がターミナル専用ではなくなったことです。ネイティブ Hermes Desktop アプリ(Electron、macOS/Linux/Windows)には、ワンクリックインストール、アプリ内セルフアップデート、ストリーミングチャット、ドラッグ&ドロップとクリップボードからの画像貼り付け、Cmd+K パレット、セッションのアーカイブ/検索、ステータスバーのモデルピッカー、安全な WebSocket 経由のリモート gateway 接続(OAuth またはユーザー名/パスワード、profile ごとのホスト、profile をまたぐ @session リンク)、型付き i18n による完全な簡体字中国語翻訳を追加しました。ブラウザー管理パネル(Web ダッシュボードから完全な管理機能へ)には、MCP カタログの有効化/無効化、認証情報管理、webhook/hook 作成、メモリ設定、gateway コントロール、更新前チェックと Debug Share を備えた System ページ、新しい Channels ページ、差し替え可能な認証(ユーザー名/パスワード、セルフホスト OIDC、hermes dashboard register)を追加しました。新しいコマンド: /undo [N](CLI/TUI/メッセージング)、設定可能なデフォルトインターフェース(cli/tui、--cli)、TUI の統合 /model + Sessions オーバーレイ、hermes portal、hermes prompt-size、hermes sessions optimize。新しいモデル: deepseek-v4-flash、MiniMax-M3(1M コンテキスト)、qwen3.7-plus、gemini-3.5-flash。デスクトップランチャーに第1級の xAI Grok OAuth 対応、あいまい検索モデルピッカー、1時間ごとのカタログ更新も追加しました。Skills: デフォルトセットを軽量化(Spotify はネイティブ plugin へ、Linear は hermes mcp install linear へ移行し、機能していない skills を削除)、environments: 関連性ゲート(kanban/docker/s6)、デフォルトで信頼される NVIDIA/skills tap、MCP/plugin ツールの段階的(スコープ限定)開示。セキュリティ: CVE-2026-48710(Starlette BadHost)への対応としてバージョンを1.0.1以上に固定しました。SSRF チェックをイベントループ外へ移し、Bedrock bearer token をサブプロセス環境から除外し、bws_cache.json に読み取りガードを追加しました。危険なパターンには docker restart/stop/kill を追加し、不可視 Unicode のサニタイズも実装しました。P0 を2件、P1 を62件(うち16件はセキュリティタグ付き)解消しました。 |
20 |
| 2026-05-31 | ガイド v1.7.1:v0.15.1(2026年5月29日 01:12 UTC)— Velocity パッチ。 Velocity リリース当日のホットフィックスで、タグ v2026.5.29 系列に固定されています。loopback モードのデプロイに影響していたダッシュボードの 401 再読み込みループを修正しました。Docker では --insecure が暗黙的に適用されなくなりました。再びオプトインするには、HERMES_DASHBOARD_INSECURE=1 を明示的に設定してください。MCP の単独コマンド(npx、npm、node)は、Docker コンテナ内で再び正しく解決されます。Skills ページのソース pill とカテゴリーサイドバーも正しくレンダリングされるようになりました。Kanban ワーカーはプロセスを孤立させず、SIGTERM に正常に応答します。Skills.sh カタログは、サイトマップ探索によって858件から19,932件へ拡大しました。28コミット、21件のマージ済み PR、9人のコントリビューターによるリリースです。v0.15.2(2026年5月29日 13:37 UTC)— Velocity パッケージングパッチ。 wheel と sdist の配布物に plugin.yaml マニフェストが同梱されるよう修正し、ソースツリーをサイドロードしなくても PyPI からインストールできるようになりました。パッケージングのみのホットフィックスで、コントリビューターは4人です。 |
58 |
| 2026-05-28 | ガイド v1.7:v0.15.0(2026年5月28日)— The Velocity release(タグ v2026.5.28)を追加しました。主な内容は、大規模なリファクタリングと新しいオーケストレーション機能です。コードベースのリファクタリング: run_agent.py を76%削減(16,083行から3,821行)し、役割の明確な14個のモジュールへ分割しました。Multi-agent Kanban v2: 高レベルの目標をサブタスクへ自動分解する機能、並列ワーカーを連携させるスウォームトポロジー、タスク単位のモデルオーバーライド、スケジュールタスク、worktree管理を追加しました。パフォーマンス: コールドスタートをさらに1秒短縮し、会話ごとの関数呼び出しを47%削減しました。session_search は4,500倍高速になるよう再設計され、LLM 依存関係と、それに伴う API コストを排除しました。セキュリティ: Promptware防御により、3か所のセキュリティ上の要所でBrainwormクラスのプロンプトインジェクションを防止します。Bitwarden Secrets Managerとの統合により、プロバイダーごとに必要だった複数の API キーを、単一のブートストラップトークンへ置き換えました。Skillバンドル: 1つのスラッシュコマンドで複数のskillを同時に読み込めます。TUIセッションオーケストレーター: 1つのターミナルウィンドウ内で複数のセッションを管理できます。新しいプロバイダー: 画像生成向けにKrea 2(Medium/Large)とFALプラグインへ対応しました。xAI統合の拡充として、Web検索プラグイン、OAuth upstream、廃止済みモデルの検出、自然なTTSポーズも追加しました。実績:1,302件のコミット、747件のマージ済みPR、321名のコミュニティコントリビューター。GitHub のリリースノートによると、同日または翌日のパッチリリースでは、ダッシュボードの401再読み込みループ、Docker の明示的な --insecure 環境変数、Docker における MCP の裸のコマンド(npx、npm、node)解決、Skillsページの復元、KanbanワーカーのSIGTERM処理、サイトマップを通じた全19,932件のSkillsカタログに対応しています。 |
59 |
| 2026-05-21 | ガイド v1.6:v0.14.0(2026年5月16日)— The Foundation releaseを追加しました。主な内容は、より軽量なインストールおよびランタイム基盤と、プロバイダー、gateway、メディア、検証機能の拡充です。SuperGrok OAuth とgrok-4.3の100万トークンコンテキスト、OAuth プロバイダー向けのOpenAI互換 hermes proxy、ファーストクラスの x_search、pip install hermes-agent、依存関係の遅延インストール、約19秒の起動時間短縮、180倍高速なブラウザーCDP呼び出し、22のメッセージングプラットフォームを実現するLINEとSimpleX Chat、Microsoft Teamsのエンドツーエンド対応、/handoff、/subgoal、Telegram/Discordのネイティブな確認ボタン、Discord履歴のバックフィル、ピクセルデータを直接扱う vision_analyze、ターンごとのファイル変更検証フッター、書き込みごとのLSPセマンティック診断、統合された video_generate、非Anthropicプロバイダー向けのcua-driver経由の computer_use、OSC8によるクリック可能なURL、Zed ACP Registry対応、OpenRouter Pareto Codeルーター、NovitaAI、Codex app-serverランタイム、信頼済みの huggingface/skills tap、9個のオプションskill、プラグインの ctx.llm / tool_override、Brave/DDGS Web検索、Qwen Cloudへの名称変更、ネイティブWindowsベータ版、12件のP0と50件のP1対応を追加しました。 |
19 |
| 2026-05-07 | ガイド v1.5:v0.13.0(2026年5月7日)— The Tenacity releaseを追加しました。主な内容は、スウォームを単なる委譲パターンではなくファーストクラスの基本機能へ変える、耐障害性の高いmulti-agent Kanbanボード(ハートビート、再取得、ゾンビ検出、ハルシネーションゲート、タスク単位の max_retries、複数プロジェクトのボード)です。/goal コマンドは複数ターンにわたりエージェントを目標へ集中させます(Ralphループパターンをスラッシュコマンドとして実装)。拡張可能な互換モデルにも対応するGemini優先の新しいvideo_analyze ツールを追加しました。音声クローンに対応するxAI Custom Voices TTSプロバイダーも導入しました。CLI とgatewayメッセージに7言語のi18n(zh-Hans、ja、de、es、fr、uk、tr)を追加しました。ドキュメントはzh-Hansのみに対応します。プラグイン可能なアダプターパターンにより、Google Chatを20番目のメッセージングプラットフォームとして追加し、IRCとMicrosoft Teamsも同じパターンへ移行しました。ProviderProfile ABC + plugins/model-providers/により、コアを変更せずにサードパーティープロバイダーを追加できます。gatewayの再起動、/update、ソースファイルの再読み込みをまたぐセッションの自動再開にも対応しました。Checkpoints v2では、単一ストア設計、実効性のあるプルーニング、ディスク保護策を備えるよう全面的に書き直しました。8件のP0セキュリティ対応: デフォルトで有効なシークレット秘匿化、Discordのクロスguild DMバイパス(CVSS 8.1)、WhatsAppでの未知の相手の拒否と自分宛てチャットのミュート、MCP OAuth のTOCTOU、CLI auth.json のTOCTOU、ブラウザーSSRFの最低限の防御、cronのプロンプトインジェクションスキャン、hermes debug share の秘匿化です。Python/JSON/YAML/TOMLの書き込み後lint、cronの no_agent スクリプト専用モード、Slack/Telegram/Mattermost/Matrix/DingTalk全体のプラットフォーム許可リスト、MCP の機能強化(SSEトランスポート、OAuth 転送、画像MEDIAタグ)も追加しました。v0.12.0以降の実績:864件のコミット、588件のマージ済みPR、829個の変更ファイル、295名のコミュニティコントリビューター、282件のクローズ済みissue(P0が13件、P1が36件)。 |
18 |
| 2026-05-06 | ガイド v1.4:v0.12.0(2026年4月30日)— The Curator releaseを追加しました。主な内容は、gatewayのcron ticker上で動作する自律型バックグラウンドCurator(デフォルト周期は7日)です。skillライブラリをルーブリックに基づいて評価し、使われていないskillを削除し、関連するskillを統合して、実行ごとのレポートを作成します。つまり、アクティブなセッションがない間もHermesが自らを保守します。自己改善ループには、ルーブリックに基づく評価、アクティブな更新を優先する仕組み、適切なランタイム継承、メモリとskillsのみに限定されたtoolsetを追加しました。4つの新しい推論プロバイダー: GMI Cloud、Azure AI Foundry、MiniMax OAuth、Tencent Tokenhubです。LM Studioをファーストクラスへ昇格しました。 リモートモデルカタログのマニフェストは、リリースを待たずに自動更新されるようになりました。2つの新しいメッセージングプラットフォーム: Microsoft Teams(19番目、プラグイン可能なgatewayアーキテクチャ経由)とTencent Yuanbao(18番目、テキストとメディアをネイティブ対応)です。PKCE OAuth と同梱skillによるネイティブSpotify、通話と文字起こしに対応するGoogle Meetプラグイン、PiperローカルTTSプロバイダーも追加しました。ComfyUI v5 + TouchDesigner-MCP は、オプションからデフォルト同梱へ変更しました。 新しいskillsとしてHumanizer、claude-design、design-md、airtableを追加しました。CLI の追加機能:hermes -z ワンショットモード、hermes update --check 事前チェック、/reload-skills スラッシュコマンド、プラグイン可能なビジーインジケータースタイルです。エージェントの遅延初期化と遅延インポートにより、表示上のTUIコールドスタートを約57%短縮しました。セキュリティ面では、ペイロードの破損を防ぐため、シークレット秘匿化をデフォルトで無効化しました。また、復旧不能なコマンドに対する厳格なブロックリストも導入しています。実績:1,096件のコミット、550件のマージ済みPR、213名のコミュニティコントリビューター。 |
17 |
| 2026-04-25 | ガイド v1.3:v0.11.0(2026年4月23日)— The Interface releaseを追加しました。対話型TUIをReact/Inkで全面的に書き直し、Python JSON-RPCバックエンド(tui_gateway)を採用しました。固定表示の入力欄、OSC-52クリップボード対応のライブストリーミング、安定したピッカーキー、ターンごとのストップウォッチとgitブランチを表示するステータスバー、/clear の確認、ライトテーマプリセット、サブエージェントの起動状況を可視化するオーバーレイを備えています。プラグイン可能なトランスポートアーキテクチャとして、フォーマット変換とHTTPトランスポートを agent/transports/ へ切り出し、プロバイダー連携を整理しました。Converse API を介したネイティブAWS Bedrockにも対応しました。5つの新しい推論経路: NVIDIA NIM、Arcee AI、Step Plan、Google Gemini CLI OAuth、Vercel ai-gatewayです。Codex OAuth 経由のGPT-5.5により、新しいOpenAIフラッグシップモデルを、別途 API キーを用意することなくChatGPT Codex OAuth から利用できるようになりました。QRコードをスキャンして設定でき、ストリーミングにも対応するQQBot(17番目のメッセージングプラットフォーム)を追加しました。プラグイン機能の拡張: スラッシュコマンド、ツールディスパッチ、実行ブロック、結果変換に対応しました。/steer <prompt>では、ターンを中断したりプロンプトキャッシュを壊したりすることなく、実行中のエージェントが次回のツール呼び出し後に確認できるメモを挿入し、処理途中で方向修正できます。シェルフックを使えば、Python プラグインなしでスクリプトをライフサイクルフックとして接続できます。Webhook直接配信モードでは、エージェントを経由せず、ペイロードをプラットフォームのチャットへ直接転送してファンアウトできます。オーケストレーターのロール、設定可能なspawn深度、ファイル連携により、委譲機能も高度化しました。ダッシュボードにはプラグインシステム、リアルタイムのテーマ切り替え、i18n、モバイル対応を追加しました。v0.9.0以降の実績:1,556件のコミット、761件のマージ済みPR、1,314個の変更ファイル、224,174行の追加、29名のコミュニティコントリビューター。 |
60 |
| 2026-04-16 | ガイド v1.2:v0.10.0 — Nous Tool Gatewayを追加しました。Nous Portalの有料サブスクライバーは、追加の API キーなしで、管理対象ツール(Firecrawl Web検索、FAL / FLUX 2 Pro画像生成、OpenAI TTS、Browser Useブラウザー自動化)を利用できるようになりました。新しい use_gateway 設定フィールドを使い、ツールごとにオプトインできます。gatewayと直接の API キーが両方設定されている場合、ランタイムはgatewayを優先します。HERMES_ENABLE_NOUS_MANAGED_TOOLS 環境変数は削除されました。Hermes Agent CLI は引き続きMITライセンスで提供され、完全に無料です。 |
61 |
| 2026-04-13 | ガイド v1.1:v0.8.0とv0.9.0の機能を追加しました。ローカルWebダッシュボード、/fast モード、iMessageとWeChatプラットフォーム(合計16)、バックグラウンドプロセスの監視(watch_patterns)、プラグイン可能なcontext engine、hermes backup/hermes import、Termux/Android、xAI、MiMo、Google AI Studio、Qwenプロバイダー、/debug コマンド、包括的なセキュリティ強化です。 |
15 16 |
| 2026-04-10 | ガイド v1.0:Hermes Agent v0.7.0を対象とする初回リリースです。プロバイダー認証、設定、CLI、スラッシュコマンド、ツール、skills、メモリ、gateway、cron、MCP、圧縮、アーキテクチャ、OpenClawからの移行、トラブルシューティング、FAQを収録しました。 | |
| — |
参照
-
Nous Research、“Hermes Agent” プロジェクトの GitHub 上の README。製品概要(自己改善型エージェント、複数プロバイダー対応、メッセージング gateway、ターミナルバックエンド、skill の進化、cron スケジューラー、委任)および “Quick Install” のワンライナーに関する一次情報源です。 ↩↩↩
-
Hermes Agent ドキュメント内の Nous Research、“AI Providers”。全プロバイダーの一覧、プロバイダーごとの認証方式(Nous Portal OAuth、Codex デバイスコード、GitHub Copilot のトークンタイプ、Anthropic の3種類の認証方式、中国の AI プロバイダー、Hugging Face ルーティング、カスタムエンドポイント)、3つの認証経路(
.env内の API キー、hermes modelによる OAuth、config.yaml内のカスタムエンドポイント)、/modelスラッシュコマンドの構文(custom:name:modelを含む)、Ollama/vLLM/SGLang/llama.cpp/LM Studio のセットアップテンプレート、WSL2 のネットワーク設定手順、コンテキスト長の検出チェーン、フォールバックモデルの設定、スマートモデルルーティング、名前付きカスタムプロバイダーに関する一次情報源です。本記事に記載されているプロバイダー固有の環境変数名、トークンタイプ、ベース URL のオーバーライド、モデル識別子は、すべてこのページに基づいています。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent 開発者ガイド内の Nous Research、“Architecture”。システム概要図、ディレクトリ構造、CLI セッションおよび gateway メッセージ経路を通るデータフロー、3つの API モード(
chat_completions、codex_responses、anthropic_messages)、runtime_provider.pyによるプロバイダー解決、SQLite + FTS5 によるセッション永続化、メッセージング gateway の対応プラットフォーム一覧、プラグインシステムの検出元、profile の分離、6つの設計原則に関する一次情報源です。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent ユーザーガイド内の Nous Research、“Configuration”。設定ディレクトリの構造、
config.yamlと.envの規則(「機密情報以外の設定ではconfig.yamlが優先されます」)、設定の優先順位(CLI 引数 → 環境変数 → config.yaml → .env → デフォルト)、コンテキスト圧縮設定(threshold、threshold_tokens、target_ratio、tail_mode、protect_last_n、protect_first_nを含むcompression.*ブロック。config-version-17 への移行後、要約モデルのモデル/プロバイダー/エンドポイントはauxiliary.compression.*に配置されます)、予算逼迫のしきい値(70%で注意、90%で警告)、ローカルプロバイダー向け自動調整を備えたストリーミングタイムアウト、補助モデルの完全な設定ブロック(vision、web_extract、approval、compression、session_search、skills_hub、mcp、flush_memoriesの各スロットを持つauxiliary:)に関する一次情報源です。補助/圧縮/フォールバックスロットにおける"main"プロバイダーの制約も、このページに基づいています。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent ガイド内の Nous Research、“Migrate from OpenClaw”。OpenClaw → Hermes の移行フローに関する情報源です。 ↩↩
-
Hermes Agent リファレンスドキュメント内の Nous Research、“CLI Commands Reference”。本記事で説明しているすべてのトップレベル CLI コマンドに関する一次情報源です。対象には、
hermes chat、hermes model、hermes gateway、hermes setup、hermes auth、hermes status、hermes cron、hermes webhook、hermes doctor、hermes dump、hermes logs、hermes config、hermes pairing、hermes skills、hermes honcho、hermes memory、hermes acp、hermes mcp、hermes plugins、hermes tools、hermes sessions、hermes insights、hermes claw、hermes profile、hermes completion、hermes update、hermes uninstallが含まれます。本記事に記載されているサブコマンドのフラグ、オプションの説明、認証情報プールの動作、ログフィルタリング構文、OpenClaw 移行フラグ、profile 管理コマンド、サービスのインストールコマンドは、すべてこのページに基づいています。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent 入門ガイド内の Nous Research、“Installation”。ワンラインのインストーラーコマンド、インストーラーの動作(前提条件、対応プラットフォーム、Termux の自動検出、Windows/WSL2 の要件)、オプション機能の表、手動インストール手順、検証コマンドに関する一次情報源です。 ↩↩↩↩↩↩↩↩↩
-
Nous Research、“CLI Commands Reference” — 特に、コマンドの出力形式(ヘッダー、環境、アイデンティティ、モデル、ターミナル、API キー、機能、サービス、ワークロード、設定のオーバーライド)と、診断情報を共有するための用途を説明した
hermes dumpセクションをご覧ください。 ↩ -
Hermes Agent リファレンスドキュメント内の Nous Research、“Slash Commands Reference”。本記事に掲載しているすべてのスラッシュコマンド、
COMMAND_REGISTRYアーキテクチャ、CLI とメッセージングの区分、動的な skill スラッシュコマンド、config.yaml内のクイックコマンド、前方一致の動作、メッセージング専用コマンド(/status、/sethome、/approve、/deny、/update、/commands)に関する一次情報源です。 ↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent ユーザーガイド内の Nous Research、“Tools & Toolsets”。ツールカテゴリーの概要、toolset の使用コマンド、7つのターミナルバックエンド(local、docker、ssh、singularity、modal、daytona、vercel_sandbox)、コンテナ設定(cpu、memory、disk、persistent)、コンテナのセキュリティ強化、バックグラウンドプロセス管理 API、sudo サポートに関する一次情報源です。 ↩↩↩↩↩↩↩↩↩↩
-
Hermes Agent ユーザーガイド内の Nous Research、“Skills System”。段階的開示、
SKILL.mdの形式、プラットフォーム固有の skills、条件付き有効化(fallback_for_toolsets、requires_toolsets、fallback_for_tools、requires_tools)、skill_manageによるエージェント管理の skills、skill ハブのコマンドとソース一覧(official、skills-sh、well-known、github、clawhub、claude-marketplace、lobehub)、セキュリティスキャンと信頼レベル、外部 skill ディレクトリに関する一次情報源です。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent ユーザーガイド内の Nous Research、“Persistent Memory”。
MEMORY.md/USER.mdの文字数制限、固定スナップショットのパターン、メモリーツールの操作(add、replace、remove)、保存すべき内容と省略すべき内容、メモリーとセッション検索の比較、外部メモリープロバイダーに関する一次情報源です。タグv2026.9.24時点では、関連する Memory Providers page の9行目に「Hermes Agent には7つの外部メモリープロバイダープラグインが同梱されています」と記載され、さらに「Hindsight など、より多くのプラグインをプラグインカタログから利用できます」と説明されています。このタグのplugins/memory/には、byterover、holographic、honcho、mem0、openviking、retaindb、supermemoryが含まれています。 ↩↩↩↩↩↩↩↩ -
Hermes Agent ユーザーガイド内の Nous Research、“Personality & SOUL.md”。
SOUL.mdの動作(HERMES_HOMEに配置され、上書きされず、システムプロンプトのスロット #1 に挿入され、組み込み前にセキュリティスキャンされます)、SOUL.md と AGENTS.md の違い、組み込み personality の一覧(helpfulからhypeまでの14種類)、config.yaml内のカスタム personality、/personalityのオーバーレイパターン、プロンプトスタック全体の組み立て順序に関する一次情報源です。 ↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent のガイドおよびリファレンス内の Nous Research、“Use MCP with Hermes” と MCP Config Reference。
command、args、envフィールドを使用する、config.yaml内のmcp_servers:設定形式に関する情報源です。 ↩ -
Hermes Agent v0.8.0 Release Notes。2026年4月8日。バックグラウンドプロセスの自動通知、Nous Portal で無料提供される MiMo v2 Pro、各プラットフォームでの
/modelによるライブ切り替え、Google AI Studio のネイティブプロバイダー、Qwen OAuth、非アクティブ時間に基づくタイムアウト、Slack/Telegram の承認ボタン、MCP OAuth 2.1 PKCE、ログの一元管理、プラグインシステムの拡張。 ↩↩↩↩↩ -
Hermes Agent v0.9.0 リリースノート。2026年4月13日。ローカル Web ダッシュボード、Fast Mode(
/fast)、BlueBubbles 経由の iMessage、WeChat + WeCom、Termux/Android、バックグラウンドプロセス監視(watch_patterns)、xAI + Xiaomi MiMo のネイティブプロバイダー、差し替え可能な context engine、統合プロキシ対応、セキュリティ強化(パストラバーサル、シェルインジェクション、SSRF、RCE の修正)、hermes backup/hermes import、/debug+hermes debug share、16の対応プラットフォーム。487件のコミット、269件のマージ済み PR、24人のコントリビューター。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.12.0 リリースノート。2026年4月30日。「The Curator release」。gateway の cron ティッカー上でデフォルトの7日周期で稼働し、skill ライブラリの評価、整理、統合を自律的に行うバックグラウンド Curator。自己改善ループも強化され、ルーブリックに基づく評価、アクティブな更新を優先するバイアス、適切なランタイム継承、メモリと skills に限定されたスコープ付き toolsets が導入されました。新たに4つの推論プロバイダー、GMI Cloud、Azure AI Foundry、MiniMax OAuth、Tencent Tokenhub に対応。LM Studio は第一級のプロバイダーへ昇格しました。リモートのモデルカタログマニフェストは、リリースなしで自動更新されます。新たなメッセージングプラットフォームとして、Microsoft Teams(19番目、差し替え可能な gateway アーキテクチャ経由)と Tencent Yuanbao(18番目、テキスト + メディアのネイティブ対応)を追加。バンドル済み skill による PKCE OAuth 経由のネイティブ Spotify 対応、通話と文字起こしに対応する Google Meet プラグイン、Piper ローカル TTS プロバイダーも加わりました。ComfyUI v5 + TouchDesigner-MCP はデフォルトでバンドルされます。新しい skills は Humanizer、claude-design、design-md、airtable です。CLI:
hermes -zワンショットモード、hermes update --checkの事前チェック、/reload-skillsスラッシュコマンド、差し替え可能な処理中インジケータースタイル。遅延初期化により、TUI のコールドスタートを約57%短縮しました。セキュリティ面では、シークレットの秘匿化がデフォルトで無効になり、復旧不能なコマンドに対する厳格なブロックリストが導入されました。v0.11.0 以降の統計:1,096件のコミット、550件のマージ済み PR、213人のコミュニティコントリビューター。関連情報:v2026.4.30 リリースタグ。 ↩↩↩ -
Hermes Agent v0.13.0 リリースノート。2026年5月7日。「The Tenacity release」。ハートビート、再取得、ゾンビ検出、ハルシネーションゲート、タスクごとの
max_retries、複数プロジェクトのボードに対応したマルチエージェント Kanban ボード。ターンをまたいで目標を固定するための/goalスラッシュコマンド(Ralph ループの基本要素)を追加し、ターン数の上限も設定できます。video_analyzeツールは Gemini を優先しつつ、互換性のあるマルチモーダル拡張に対応。ボイスクローニング機能を備えた xAI Custom Voices TTS プロバイダー。7言語の i18n:zh-Hans、ja、de、es、fr、uk、tr(CLI + gateway メッセージ。ドキュメントは zh-Hans のみ)。差し替え可能なアダプターパターンを通じて Google Chat を20番目のメッセージングプラットフォームとして追加し、汎用的なenv_enablement_fn/cron_deliver_env_varプラグインフックも導入しました。IRC と Microsoft Teams も同じパターンへ移行しています。ProviderProfileABC +plugins/model-providers/により、サードパーティープロバイダーを差し替え可能にしました。gateway の再起動、/update、ソースファイルの再読み込みをまたいでセッションを自動再開できます。Checkpoints v2 は単一ストア方式に刷新され、実際の整理処理、ディスク保護策、孤立したシャドウリポジトリの排除を実現しました。8件の P0 セキュリティ問題を解消:シークレットの秘匿化をデフォルトで有効化、Discord のギルド横断 DM バイパス(CVSS 8.1、ロール許可リストをギルド単位に限定)、WhatsApp で見知らぬ相手をデフォルト拒否 + 自分自身とのチャットには一切応答しない仕様、MCP OAuth の認証情報保存における TOCTOU、認証情報ライター内の CLIauth.jsonTOCTOU、ハイブリッドルーティングにおけるブラウザのクラウドメタデータ SSRF の最低限の防御、skill コンテンツを含む cron の組み立て済みプロンプトに対するプロンプトインジェクション検査、アップロード時におけるhermes debug shareのログ内容秘匿化。その他の主な項目:Python/JSON/YAML/TOML の書き込み後 lint、スクリプトのみを監視する cronno_agentwatchdog モード、Slack/Telegram/Mattermost/Matrix/DingTalk 全体のプラットフォーム許可リスト、MCP の機能強化(SSE トランスポート、OAuth 転送、MEDIA タグ形式の画像結果)。v0.12.0 以降の統計:864件のコミット、588件のマージ済み PR、829件の変更ファイル、295人のコミュニティコントリビューター、282件のクローズ済み issue(P0 が13件、P1 が36件)。 ↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.14.0 リリースノート。2026年5月16日。「The Foundation release」。v0.13.0 以降:808件のコミット、633件のマージ済み PR、1,393件の変更ファイル、165,061行の追加、545件のクローズ済み issue(P0 が12件、P1 が50件)、215人のコミュニティコントリビューター。grok-4.3 の100万トークンコンテキストを利用できる SuperGrok OAuth、
hermes proxy、x_search、PyPI パッケージ化、依存関係の遅延読み込み、セッションをまたぐ1時間の Claude プロンプトキャッシュ、起動時間の約19秒短縮、ブラウザ CDP 呼び出しの180倍高速化、メッセージングプラットフォームを22種に拡大する LINE と SimpleX Chat、/handoff、ネイティブの確認ボタン、Discord の履歴バックフィル、生ピクセルを扱うvision_analyze、ターンごとのファイル変更検証フッター、LSP セマンティック診断、統合されたvideo_generate、cua-driver のcomputer_use、OSC8 リンク、Zed ACP Registry 対応、OpenRouter Pareto Code ルーター、NovitaAI、Codex app-server ランタイム、huggingface/skills、プラグインのctx.llm、tool_override、Brave/DDGS 検索、危険なコマンドに対する防御強化、/subgoal、Qwen Cloud への名称変更、ネイティブ Windows ベータ版、合計16ロケール、広範なドキュメントおよびテストの更新を追加しました。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.16.0 リリースノート。「The Surface Release」、タグ
v2026.6.5、2026-06-06T00:55:58Z 公開(リリースタグの日付は2026年6月5日)。2026年6月8日時点で最新です。新たにネイティブの Hermes Desktop を提供(Electron、macOS/Linux/Windows。安全な WebSocket 経由で OAuth またはユーザー名/パスワードを使用してリモート gateway に接続。profile ごとのリモートホスト、profile をまたぐ@sessionリンク、型付き i18n とdisplay.languageによる簡体字中国語 UI に対応)。Web ダッシュボードは本格的な管理パネルへ拡張されました(MCP カタログの切り替え、認証情報管理、webhook/hook の作成、メモリ設定、gateway 制御、更新前チェックと Debug Share を備えた System ページ、Channels ページ。セルフホスト OIDC やhermes dashboard registerを含むプラグイン可能な認証に対応)。新しいコマンド:/undo [N]、設定可能なデフォルトインターフェース(cli/tui、--cli)、TUI の/modelと Sessions オーバーレイ、hermes portal、hermes prompt-size、hermes sessions optimize。新しいモデル:deepseek-v4-flash、MiniMax-M3(1M context)、qwen3.7-plus、gemini-3.5-flash。xAI Grok OAuth、あいまい検索ピッカー、カタログの1時間ごとの更新にも対応しました。Skills:デフォルトセットの軽量化、environments:による関連性ゲート、デフォルトで信頼されるNVIDIA/skillstap、段階的なツール開示、MCP における false-OAuth-success の修正。セキュリティ:CVE-2026-48710(Starlette BadHost)への対応として1.0.1以降に固定、SSRF チェックをイベントループ外へ移動、サブプロセス環境から Bedrock bearer token を除去、bws_cache.jsonの読み取り保護、危険パターンにdocker restart/stop/killを追加、不可視 Unicode のサニタイズ。2件の P0 と62件の P1 を解決しました(うち16件に security タグ)。リリースノートのマーケティング的な表現(PR/コミット数、「none of this existed a week ago」)は除外し、タグに紐づく具体的な機能とバージョン情報のみを記載しています。2026年6月8日に現セッションで検証済みです。 ↩↩↩↩↩↩↩↩ -
Hermes Agent v0.17.0 リリースノート。「The Reach Release」、タグ
v2026.6.19、2026年6月19日。2026年6月21日時点で最新です。メッセージング:Photon Spectrum 経由の iMessage(デバイスコード OAuth、hermes photon login、Mac リレー不要)。公式 WhatsApp Business Cloud API アダプター(ブリッジプロセスを置き換え)。SimpleX のグループ、ネイティブ添付ファイル、テキストのバッチ処理、自動承認。Raft のバンドル済みプラットフォームプラグイン。モデル/プロバイダー:z-ai/glm-5.2(1M context)、anthropic/claude-fable-5、laguna-m.1、nemotron-3-ultra、grok-composer-2.5-fast(xAI OAuth、200k context)。xAI のデフォルトはgrok-build-0.1に変更。Anthropic の adaptive モデルは最新の thinking contract を使用し、reasoningフィールドは使用しません。CLI/slash:/version、/billing、hermes photon login、hermes curator run --consolidate(オプトイン)、hermes modelGUI、profile の複製。Desktop:バックグラウンド subagent のウォッチウィンドウ(delegate_task(background=true))、Composer のモデルセレクター、再割り当て可能なショートカット、OS ネイティブ通知、スレッドごとの下書き、VS Code Marketplace テーマ、日本語および繁体字中国語 UI。ダッシュボード:完全な profile ビルダー、グローバル profile スイッチャー、セキュリティスキャンを備えて刷新された Skills Hub、Automation Blueprints、安全なログイン(OAuth の背後で 401)。Skills/ツール:複数プロバイダーに対応するimage_generateの画像間編集、memoryのoperationsによるアトミックなバッチ処理、simplify-codeの並列レビュー skill、write_modeに代わる真偽値のwrite_approval。アーキテクチャ:バックグラウンド subagent(ハンドルを即座に返し、結果を turn として再投入)、ツール呼び出し途中の確認に対応する MCP elicitation handler、後から接続された MCP ツールを turn 間で公開、プラグイン可能な CronScheduler と Chronos managed-cron、Managed scope(管理者が/etc/hermesに固定)、Gateway-Gateway リレー。セキュリティ:shell-escape の denylist 回避を解消、承認モジュールが存在しない場合と独自ポリシーの gateway アダプターで fail-closed、cron ジョブスクリプトの環境をサニタイズ、デバッグダンプ内のシークレットを秘匿、公開ステータスからホストのメタデータを除外、MCP stdio のデータ流出パターンをスクリーニング、urllib3 と PyJWT の CVE 対応アップデート。リリースのマーケティング的な表現(コミット/PR 数)は除外しています。2026年6月21日に現セッションで検証済みです。 ↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.18.0 リリースノート(タグ
v2026.7.1)、2026年7月1日 — 「The Judgment Release」。優先バックログを一掃(12日間で全 P0/P1、約692項目を解決)。Mixture-of-Agents をすべてのインターフェースで第一級モデルとして選択でき、各参照モデルの完全な出力を個別のラベル付きブロックとして表示するとともに、最終回答をライブストリーミング。/goalの完了 contract(プロジェクトのチェックを実行し、agent が自身の作業を検証)。/learnコマンド(内容を説明するだけで何でも再利用可能な skill に変換し、CONTRIBUTING.md への準拠も自動化)。/journeyによるメモリ/skill の視覚的なタイムラインと編集機能、および Desktop のメモリグラフ。バックグラウンド subagent のファンアウト(委任した複数のタスクを同時実行)。Desktop Projects(project/repo/lane モデル)。ドレイン調整を備えたスケール・トゥ・ゼロ gateway。Google Vertex AI 対応(GCP サービスアカウント経由の Gemini、OAuth2 token の自動更新)。/prompt$EDITOR コマンド。GitHub のリリースページに照らし、2026年7月1日(PST)に現セッションで検証済みです。v0.18.0 が最新リリースです。 ↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.20.5 リリースノート(タグ
v2026.8.19、記載されたリリース日は8月19日、2026年8月21日公開。2026年8月24日に GitHub API 経由で取得、prerelease: false)。対象期間の説明を原文のまま引用:「約1,250ファイルにわたる約746件のコミット(+111,500/-20,701)— 約323件の PR をマージ。Bot Mode のグループルームスレッド、折りたたみ可能な会話要約、blob-face アバター、ドラッグ&ドロップ対応の PDF/ファイル添付。キー不要の Web tier(5ベンダーの無料ローテーションとリングフェイルオーバー、新規インストール時にキーなしで利用できる Web 検索)。CLI の polish wave(あいまい検索対応の /model ピッカー、Ctrl+P コマンドパレット、より充実した /status)。Composio eval の調査結果を反映した実行規律とランタイム停止ガード。hermes updateのレシートと fleet の--plan検証。hermes worktree list/prune。opencode 不要のゼロ認証プロバイダー。複数質問による確認。Desktop のパフォーマンス改善(paint-first の Bot Mode hydration、compositor spinner、両 renderer への React Compiler 導入)。さらに、cron ジョブに永続メモリとジョブごとの reasoning effort を追加」。リリースでは「この期間の完全に精選されたリリースノートは v0.21.0 とともに公開予定」と繰り返し記載されています。 ↩↩↩↩↩↩↩↩↩↩↩ -
タグ
v2026.8.31時点のターミナルバックエンド(ガイド v1.17 向けに再検証済み。agent/terminal_env_registry.pyはv2026.8.31版とバイト単位で同一、tools/terminal_tool.pyの docstring に記載された内容にも変更はなく、tools/environments/には引き続き同じ7つのバックエンドモジュールがあり、現在はpath_utils.pyhelper も追加されています):tools/terminal_tool.pyモジュールの docstring には、原文で「local、Docker、Modal、SSH、Singularity、Daytona、Vercel Sandbox 環境でコマンドを実行するターミナルツール」とあり、環境選択リストのvercel_sandbox項目には「Vercel Sandbox のクラウド sandbox で実行」と記載されています。バックエンドモジュールtools/environments/vercel_sandbox.pyは、タグ内でdaytona.py、docker.py、local.py、modal.py、singularity.py、ssh.pyとともに存在します。タグ時点の README:「7つのターミナルバックエンド — local、Docker、SSH、Singularity、Modal、Daytona、Vercel Sandbox」。Tools & Toolsets ドキュメントページ(タグ時点のソースはwebsite/docs/user-guide/features/tools.md)では、vercel_sandboxを「スナップショットを利用したファイルシステム永続化を備えるクラウド実行」向けの「Vercel Sandbox cloud microVM」として表に掲載しています。また、設定コメント# or: docker, ssh, singularity, modal, daytona, vercel_sandboxを示し、「VERCEL_TOKEN、VERCEL_PROJECT_ID、VERCEL_TEAM_IDの3つすべてで認証します。…対応ランタイムはnode24、node22、python3.13で、Hermes はデフォルトで/vercel/sandboxをリモートワークスペースのルートとして使用します」と記載しています。v2026.8.31時点では、tools/environments/package に共有基盤も含まれています(BaseEnvironmentABC を備えたbase.py、file_sync.py、modal_utils.py、managed_modal.py)。package の docstring では managed Modal を8番目のバックエンドではなく Modal のモードとして数えています:「Modal には direct モードと Nous-managed モードもあり、terminal.modal_mode で選択します」。 ↩↩↩ -
タグ
v2026.8.31時点のメッセージングプラットフォーム数(ガイド v1.17 で再検証済み。v2026.8.31と同一で、ドキュメントの表は 28 行、Platformenum のメンバーは同じ 24 個、アダプターディレクトリは同じ 22 個です)。Messaging Gateway のドキュメントページ(同タグのソースはwebsite/docs/user-guide/messaging/index.md)には、Telegram、Discord、Slack、Google Chat、WhatsApp、WhatsApp Cloud API、Signal、SMS、Email、Home Assistant、Mattermost、Matrix、DingTalk、Feishu/Lark、WeCom、WeCom Callback、Weixin、BlueBubbles、Photon(iMessage)、QQ、Yuanbao、Microsoft Teams、LINE、ntfy、Raft、IRC、Buzz、SimpleX の 28 行からなる「プラットフォーム比較」表があります。gateway/config.pyでは、24 個の明示的なメンバー(local、telegram、discord、whatsapp、whatsapp_cloud、slack、signal、mattermost、matrix、homeassistant、email、sms、dingtalk、api_server、webhook、msgraph_webhook、feishu、wecom、wecom_callback、weixin、bluebubbles、qqbot、yuanbao、relay)を持つclass Platform(Enum)が定義されており、「プラグインのプラットフォームでは、_missing_()によって必要に応じて作成される動的メンバーを使用するため、この enum を変更しなくてもPlatform("irc")が機能します」と説明されています。同タグのplugins/platforms/ツリーには、a2a buzz dingtalk discord email feishu google_chat homeassistant irc line matrix mattermost ntfy photon raft simplex slack sms teams telegram wecom whatsappという 22 個のアダプターディレクトリがあります。プラットフォームの説明:ntfy のページには、原文どおり「ntfy は、HTTP ベースのシンプルな pub-sub 通知サービスです。ntfy.shの無料公開サーバーでも、セルフホストした任意のインスタンスでも利用できます……ntfy モバイルアプリからトピックを購読し、そのトピックにメッセージを送信してエージェントと会話すると、応答がスマートフォンに返されます」とあります。Buzz のページには、原文どおり「Buzz アダプターは、Hermes を Buzz コミュニティ(Nostr プロトコル上に構築された Block のオープンソースによる人間+エージェントのコラボレーションプラットフォーム)に接続し、Buzz のチャンネル(または DM)とエージェントの間でメッセージを中継します。送信トラフィックではbuzzCLI バイナリをシェル経由で実行し……受信にはネイティブの Nostr WebSocket サブスクリプションを使用します」とあります。どちらのページにも、「hermes gateway setupを実行し、……を選択すると、手順に沿って設定できます」と記載されています。 ↩↩↩ -
タグ
v2026.8.31時点のプロバイダー数(ガイド v1.17 で再検証済み。v0.21.0 では、v2026.8.31時点の静的エントリ 38 個/プラグインディレクトリ 37 個/ドキュメントの行 41 個から、これらの数が変更されています)。hermes_cli/models.pyでは、39 個の静的エントリ(nous、fireworks、openrouter、moa、novita、lmstudio、anthropic、openai-codex、openai-api、alibaba、xai-oauth、xiaomi、tencent-tokenhub、tencent-tokenplan、nvidia、copilot、copilot-acp、huggingface、gemini、vertex、deepseek、xai、zai、kimi-coding、kimi-coding-cn、stepfun、minimax、minimax-oauth、minimax-cn、ollama-cloud、arcee、gmi、kilocode、opencode-zen、opencode-go、bedrock、azure-foundry、ai-gateway、qwen-oauth)を持つCANONICAL_PROVIDERS: list[ProviderEntry]が宣言されています。その後に、「上記のリストにまだ存在しない、providers/ に登録されたプロバイダーを使って CANONICAL_PROVIDERS を自動拡張します。plugins/model-providers// を追加するだけで、新しいプロバイダーをモデル選択画面に表示できます」というコメントがあります。このループで除外されるのは、oauth_device_code、oauth_external、external_process、aws_sdk、copilot、vertexの認証タイプだけです(変更なし)。同タグのplugins/model-providers/ツリーには、39 個のプロバイダーディレクトリがあります(v0.21.0 の期間にnebius-token-factoryとrouterが追加されました)。静的エントリを持たない 9 個(actual、alibaba-coding-plan、commandcode、deepinfra、meta-ai、nebius-token-factory、opencode-free、router、upstage)はいずれもapi_key認証タイプとして解決されます。このうち 7 個はauth_type="api_key"を明示的に宣言しており(新しい 2 個のプラグインも含みます)、commandcodeとopencode-freeはproviders/base.pyからauth_type: str = "api_key"を継承しています。AI Providers のドキュメントページ(同タグのソースはwebsite/docs/integrations/providers.md)には、名前付きプロバイダー 45 個と「カスタムエンドポイント」1 行の表があります(v2026.8.31以降に追加された行は Ramp Router、Nebius Token Factory、Tencent TokenPlan、Alibaba Cloud(Token Plan)で、36 に引用しています)。新しいマトリックス行にある環境変数名、プロバイダーの slug、エイリアス、認証に関する注記は、すべて同表から引用しています。たとえば、「OpenCode Free|キー不要 — API キーもアカウントも不要(プロバイダー:opencode-free、エイリアス:free、opencode_free)。hermes modelまたは/model freeで選択できます。リクエストは匿名で送信されます」、「Google Vertex AI|……サービスアカウントの JSON または ADC を介した OAuth2、GCP の課金が必要」、「AWS Bedrock|……boto3 を介した標準の AWS 認証情報チェーン」、「CommandCode|……GOAT/Pro/Max/Provider プランで利用可能(1 ドルの Go プランは対象外で、API にアクセスできません)」などです。Meta AI の行は、同じページにあるファーストクラスの API キーブロックに由来します。「Meta Model API(Muse Spark ファミリー)……hermes chat --provider meta-ai --model muse-spark-1.2……必須:MODEL_API_KEY」と記載されています。Cerebras は同ページの「その他の互換プロバイダー」表(https://api.cerebras.ai/v1、「ウェハースケールチップによる推論」)にのみ掲載されているため、ファーストクラスのプロバイダーではなく、カスタムエンドポイントの行に含めています。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
タグ
v2026.8.31時点の CLI の機能範囲(ガイド v1.17 向けに再検証済み。引用したグローバルオプションのヘルプ文字列と_BUILTIN_SUBCOMMANDSに関するすべての事実はv2026.8.31から変更されていません。frozenset も同一の全73エントリです。一方、hermes_cli/_parser.pyの変更は 40 で説明しているhermes chat内に限られます)。グローバルオプションとそのヘルプ文字列はhermes_cli/_parser.pyに基づきます。--in(「開始または再開する前に DIR へ移動します。’–resume latest’ または -c と組み合わせると、DIR のワークスペースで最新のセッションが選択され、そのセッションは DIR に留まります(記録された cwd の復元をスキップします)。」)、--ignore-user-config(「~/.hermes/config.yaml を無視し、組み込みのデフォルト設定にフォールバックします(.env 内の認証情報は引き続き読み込まれます)」)、--ignore-rules(「AGENTS.md、SOUL.md、.cursorrules、memory、および事前読み込みされた skills の自動挿入をスキップします」)、--tui(「従来の REPL の代わりに最新の TUI を起動します」)、--cli(「従来の prompt_toolkit REPL を強制します(display.interface=tui を上書きします)」)、--dev(「–tui と併用すると、TypeScript のソースを tsx で実行します(dist のビルドをスキップします)」)、および--version/-V(「バージョンを表示して終了します」)です。hermes_cli/_startup_fast.pyが高速処理するのはargv in (["--version"], ["-V"])のみであり、hermes_cli/main.pyの_BUILTIN_SUBCOMMANDSfrozenset にはversionエントリがありません。CLI コマンドリファレンスにはhermes --version(「バージョン情報を表示します」)が記載されていますが、hermes versionはありません。コマンドの説明は、このタグのhermes_cli/main.pyおよびhermes_cli/subcommands/*.pyにあるパーサーのhelp=文字列に基づき(たとえばapprovalsは「承認プロンプト用ツール(履歴から許可リストの提案を抽出します)」、pauseは「緊急停止:cron/kanban のディスパッチと新しい gateway ターンを一時停止します」、syncは「Skill Sync:デバイス間およびチーム内で skills を同期します」、verifyは「プロジェクトの実行手順を検出し、スモークテストを行います」、loginは「非推奨です。認証情報の管理にはhermes auth、プロバイダーの選択にはhermes model、完全なセットアップにはhermes setupを使用してください。」)、ドキュメントのトップレベルコマンド表とも照合しています。hermes update --planはhermes_cli/subcommands/update.pyにあり、「変更を加えずに更新計画を表示して終了します。インストール方式(git/docker/nix)、すべての profiles で稼働中の各 Hermes サービスとそのスーパーバイザーおよび実行中のコードバージョン、さらに各サービスの再起動方法を表示します。読み取り専用であり、稼働中のフリートでも安全です。」と説明されています。_BUILTIN_SUBCOMMANDSにfleetコマンドは存在しません。hermes worktreeはhermes_cli/main.pyに登録されており(ヘルプ:「蓄積された git worktree とマージ済みブランチを監査し、回収します」)、list(エイリアスはls、audit。「各ツリーを分類します:経過時間、サイズ、判定、理由(デフォルトのアクション)」)、prune(「安全なツリーを削除し、完全にマージ済みのローカルブランチを削除します」)、--repo、--dry-run(「変更を加えずに計画を表示します」)、--trees-only(「worktree のみを削除し、ローカルブランチはそのまま残します」)、--branches-only(「マージ済みのローカルブランチのみを削除し、worktree はそのまま残します」)があります。/worktreeスラッシュコマンドはhermes_cli/cli_commands_mixin.pyの_handle_worktree_commandです(構文ブロック:/worktree、/worktree new [name]、/worktree list、/worktree prune [--dry-run])。CLI ユーザーガイドの「Worktree のクリーンアップ」セクションには、さらに「セッション内では、/worktree prune [--dry-run]でも同じ処理を実行できます(そのセッションが実行されているツリーには一切触れません)。」と記載されています。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
タグ
v2026.8.31時点の Nous Portal コマンド(ガイド v1.17 向けに再検証済み。hermes_cli/portal_cli.pyはv2026.8.31バージョンとバイト単位で同一です)。このタグの README の「API キー収集を省略する — Nous Portal」セクションには、次のように記載されています。「新規インストールでは、コマンドは1つだけです:hermes setup --portal… これにより OAuth 経由でログインし、Nous がプロバイダーとして設定され、Tool Gateway が有効になります。接続状況は、いつでもhermes portal infoで確認できます。」hermes_cli/portal_cli.pyは、portal(ヘルプ:「Nous Portal をセットアップします(ログイン、モデル選択、Tool Gateway)。portal infoも参照してください」)に、login(「Nous Portal にログインしてセットアップします(デフォルト。1回限りのオンボーディング)」)、info(「Portal の認証と Tool Gateway のルーティング概要を表示します」)、open(「デフォルトブラウザーで Portal のサブスクリプションページを開きます」)、tools(「Tool Gateway のツールと、Nous 経由でルーティングされるツールを一覧表示します」)を登録しています。また、コードコメントには「statusはinfoの非表示の後方互換エイリアスとして維持されています。」とあります。Tool Gateway のドキュメントページには、hermes setup --portal # Fresh install: Nous OAuth + set Nous as provider + turn on the Tool Gateway in one goとhermes portal info # Portal auth + Tool Gateway routing summaryが掲載されています。同じタグの CLI コマンドリファレンスには、現在もhermes portal [status|open|tools]と記載されています。 ↩↩↩ -
GitHub による API の比較。
NousResearch/hermes-agent、v2026.8.19...main、2026年8月26日取得:ahead_by: 1104、behind_by: 0。リリースの API では、最新タグとしてv2026.8.19(Hermes Agent v0.20.5、2026-08-21T12:16:39Z 公開)が掲載されており、そのリリースノートには「この期間の完全なキュレーション済みリリースノートは v0.21.0 で公開され、v0.20.0 以降のすべての変更が記載されます。」とあります。2026年8月27日に新しいタグで再確認したところ、v2026.8.27...mainはahead_by: 0、behind_by: 0、status: identicalを返しました。つまり、mainは現在 v0.20.6 タグと完全に一致しています。 ↩↩ -
Hermes Agent v0.20.6 リリースノート(タグ
v2026.8.27、記載されたリリース日は8月27日、2026-08-27T12:06:53Z 公開。2026年8月27日に GitHub の API 経由で取得。プレリリース:false)。原文の位置付けは次のとおりです。「パッチリリースです。このタグでは、v0.20.5 以降にマージされた約525件の PR を、下流の利用者(Docker イメージ、ホステッドデプロイ、新規インストール)向けの安定版タグ付きリリースとしてまとめています。」対象期間については、原文で次のように説明されています。「v0.20.5(v2026.8.19、8月21日タグ付け)以降、この期間には約1,313件のコミットが約1,557個のファイルに加わり(+177,113 / -21,682)、約525件の PR がマージされました。これには、同意を必須とする実プロファイルでのブラウジング(ローカルブラウジングでデフォルトの Chromium profile を使用し、Windows では承認を得て閉じるフローに対応)、独立した OS ウィンドウを持つデスクトップ Browser、マネージド SSH リモート更新エンジンとフリート profile レール、リモート MCP カタログの大幅な拡充(Cloudflare、Grafana Cloud、Better Stack、Railway を含む、実環境で検証済みのベンダーホスト型サーバー50件以上)、web_search/web_extract の TTL 結果キャッシュ、デフォルトとなった lean-tail 圧縮、ステミング対応の複数クエリ tool_search、保存済みシークレットを OS キーチェーンで暗号化するオプトイン機能(起動のたびに macOS Keychain のプロンプトが表示されることはなくなりました)、ツリーを強制終了する代わりにコントロールソケット経由で gateways を一時停止するアップデーター、安全でないインプレース更新を拒否するイメージ/パッケージ管理型インストール(#91277 Phase 3)、cron の永続的インシデント確認と、より明確なコード差異エラー、Slack のリンク展開制御、共有 Docker コンテナ ID、差し替え可能なターミナル環境バックエンド、そして各ピッカーに追加された新モデル(GLM-5.3-Flash、MiniMax M3 free、MiniMax H3 Max video)が含まれます。」このリリースでは、さらに次の説明が繰り返されています。「この期間の完全なキュレーション済みリリースノートは v0.21.0 で公開され、v0.20.0 以降のすべての内容(ハイライト、機能分野、全コントリビューターのクレジット)が記載されます。この期間の内容に省略はありません。」 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
タグ
v2026.8.31時点の圧縮について、ガイド v1.17 向けにv2026.8.31で再検証しました。tail_mode: str = "lean"、("legacy", "lean")ガード、agent_init のデフォルト値"lean"、設定バージョン17への移行、そして後述する補助設定の古いコメントに関する注記は、いずれも新しいタグでも該当します(context_compressor.pyには固定済みサマリールートの再試行パスが追加されましたが、引用したデフォルト値には一切影響しません)。agent/context_compressor.pyのContextCompressor.__init__では、tail_mode: str = "lean"がデフォルトです。コメントには「Lean tail mode (#compaction-v2): ‘lean’ = small clamped recency tail + verbatim-user-message summary section + recovery pointers; ‘legacy’ = 0.20window tail (shipping behavior)」とあり、ガードはself.tail_mode = tail_mode if tail_mode in ("legacy", "lean") else "lean"です。agent/agent_init.pyはcompression.tail_modeを読み取り、デフォルト値として"lean"を使用します。そのコメントでは、両モードが数値で説明されています。「’lean’ (default) keeps a clamped 2.5%/10K-25K verbatim tail with recovery-pointer machinery … ‘legacy’ restores the pre-#87326 0.20threshold verbatim tail, which on big-window/raised-threshold setups hoards 100-240K tokens per compaction.」設定ドキュメントのページ(タグ時点のソースはwebsite/docs/user-guide/configuration.md)には、compression:ブロックとしてenabled、threshold: 0.50、threshold_tokens: null、target_ratio: 0.20、tail_mode: lean(v2026.8.31での注記:「’lean’ (default - clamped 2.5% tail, 10K-25K, with a detailed session log + anchor index + session_search recovery pointers in the summary, all from ONE auxiliary summarizer call; ~3x fewer retained tokens after compaction) or ‘legacy’ (0.20×threshold verbatim tail)」)、protect_last_n: 20、protect_first_n: 3が示されています。サマライザーの調整項目はauxiliary.compression(model、provider、base_url)の配下に配置され、次の注記があります。「compression.summary_model、compression.summary_provider、compression.summary_base_urlを含む古い設定は、初回読み込み時に自動的にauxiliary.compression.*へ移行されます(設定バージョン17)。手動での対応は不要です。」この移行処理はhermes_cli/config_migrations.pyの_migrate_to_17です(「Version 16 -> 17: remove legacy compression.summary_ keys」)。コンテキスト圧縮の開発者向けページ(タグ時点のソースはwebsite/docs/developer-guide/context-compression-and-caching.md)では、tail_modeのデフォルトがleanと表に記載され、「50万トークンの実セッションでの結果:保持量は約162Kに対して約49K」「lean tail 内の古いツール結果は、復旧ポインターを含む1行のスタブへ縮約されます」と説明されています。また、サマリーモデルに関する警告(v2026.8.31時点)も掲載されています。「サマリーモデルには、メインのエージェントモデルと同等以上の大きさのコンテキストウィンドウが必要です。……そうでない場合、コンプレッサーはサマリーを生成せずに中間のターンを削除し、会話のコンテキストが気付かれないまま失われます。」(上流には古い記述が1か所残っています。設定ページの「補助設定の全リファレンス」では、auxiliary.compressionのスロットに依然として「Context compression timeout (separate from compression. config)」というコメントがあります。ただし、移行コード、対話形式のhermes model補助モデル選択機能、同ページ内の圧縮セクションでは、より新しい内容で一致しています。) ↩↩↩↩↩↩↩ -
タグ
v2026.8.31時点のプラグイン可能なターミナルバックエンドです(ガイド v1.17 向けに再検証済みで、agent/terminal_env_registry.pyはv2026.8.31版とバイト単位で同一です)。agent/terminal_env_registry.pyのモジュールdocstringには、原文のまま引用すると「Central map of registered pluggable terminal backends. Populated by plugins at load time via PluginContext.register_terminal_environment_provider; consumed by tools.terminal_tool._create_environment」および「Built-in backend names are reserved - register_provider rejects a provider whose name collides with one, so a plugin can never shadow the in-tree docker/modal/… implementations」とあります。また、意図的に「no active-provider resolution here: the active backend is whatever TERMINAL_ENV / terminal.backend names, exactly as for built-in backends.」という設計になっています。BUILTIN_BACKEND_NAMESのfrozensetには、7つのバックエンドに内部モードのエイリアスmanaged_modalを加えた、local、docker、singularity、modal、managed_modal、daytona、vercel_sandbox、ssh が格納されています。新しいドキュメントページターミナル環境プロバイダーのプラグイン(タグ時点のソースはwebsite/docs/developer-guide/terminal-environment-plugin.md)には、原文のまま引用すると次のようにあります。「Hermes runs shell commands through a pluggable set of terminal backends. The built-in backends (local, Docker, Singularity, Modal, Daytona, Vercel Sandbox, SSH) live in the core repo under tools/environments/. Third-party sandbox vendors integrate as plugins instead - a standalone plugin repo installed under ~/.hermes/plugins/, registering a backend the user selects exactly like a built-in one via terminal.backend in config.yaml」。さらに、登録済みプロバイダーが担う領域(コマンドのディスパッチ、hermes setupのバックエンド選択機能、ダッシュボードのプローブステータス、hermes status/hermes doctorのチェック、システムプロンプトの環境ヒント、コンテナのパス/cwd処理、シークレットの除去、セッション単位のサンドボックス分離)が表にまとめられています。設計目標については、次のように説明されています。「プロバイダーでこれらのフラグを宣言することにより、典型的な『新しいバックエンドが分類箇所Nから漏れる』種類のバグを防げます。コアは名前をハードコードしたリストではなく、各箇所でレジストリを参照します。」 ↩↩↩ -
タグ
v2026.8.31での再検証結果です(ガイド v1.17)。ロケール:locales/ツリーには17個のメッセージカタログがあります。内訳はen.yamlと16言語の翻訳(af、ar、de、es、fr、ga、hu、it、ja、ko、pt、ru、tr、uk、zh-hant、zh)で、v2026.8.27と同一です。パーソナリティ:hermes_cli/personality.pyのBUILTIN_PERSONALITIESには、helpfulからhypeまで同じ14項目(helpful、concise、technical、creative、teacher、kawaii、catgirl、pirate、shakespeare、surfer、noir、uwu、philosopher、hype)が含まれています。このファイルはv2026.8.27版とバイト単位で同一です。タグ時点で変更された件数:静的なCANONICAL_PROVIDERSの項目は39件(以前は38件)、plugins/model-providers/のディレクトリは39件(以前は37件)です。26 と 36 を参照してください。変更されていない件数:Platformenumのメンバーは24件(gateway/config.pyのメンバー一覧は同一で、追加されたのはroom_link_urlgatewayフィールドのみ)、plugins/platforms/のアダプターディレクトリは22件、ドキュメントのプラットフォーム比較表は28行です。_BUILTIN_SUBCOMMANDSには同一の73項目が含まれています(peerとworktreeは存在しますが、依然としてversionはなく、approval-checkもありません。後者はhermes approvals testに対するリリースノート上の名称です)。hermes_cli/_startup_fast.pyとhermes_cli/portal_cli.pyは、それぞれのv2026.8.27版とバイト単位で同一です。 ↩↩↩↩ -
タグ
v2026.8.31時点の補助モデルルーティング(ガイド v1.17 向けに再検証済みです。新しいタグの"auxiliary"デフォルトブロックには、同一のスロット一覧、削除に関する注記、スロット以外の設定が含まれており、以下のドキュメントからの引用も一字一句同じです)。タグ時点のソースwebsite/docs/user-guide/configuration.mdにある設定ドキュメントのページから、そのまま引用します。「デフォルト(auxiliary.*.provider: "auto")では、Hermes はすべての補助タスクをメインチャットモデル、つまりhermes modelで選択したものと同じプロバイダー/モデルへルーティングします。使い始めるための設定は必要ありませんが、高価な推論モデル(Opus、MiniMax M2.7 など)では、補助タスクによって相応のコストが加算される点に注意してください。」同ページの「なぜ ‘auto’ はメインモデルを使用するのか」という注記には、次のようにあります。「以前のビルドでは、アグリゲーターのユーザー(OpenRouter、Nous Portal)を、プロバイダー側の安価なデフォルトへ振り分けていました。これは予想外の挙動でした。アグリゲーターのサブスクリプション料金を支払っているユーザーの補助トラフィックを、別のモデルが処理していたためです。現在、autoはすべてのユーザーにメインモデルを使用し、config.yamlのタスク別オーバーライドは引き続き優先されます。」Web 抽出については、次のように記載されています。「(Web 抽出は補助タスクではありません。web_extractとブラウザのスナップショットでは、長いコンテンツを決定論的に切り詰め、全文を保存してread_fileでページングできるようにします。LLM は関与しません。)」正式なスロット一覧は、タグ時点のhermes_cli/config_defaults.pyにある"auxiliary"デフォルトブロックです。vision、compression、skills_hub、approval、review、mcp、title_generation、memory_query_rewrite、tts_audio_tags、triage_specifier、kanban_decomposer、profile_describer、goal_judge、curator、monitor、background_review、moa_reference、moa_aggregator が含まれます(スロット以外の設定として transient_retries、free_only、openrouter_model、stream_only_base_urls もあります)。各スロットにはprovider、model、base_url、api_key、timeout、extra_body、およびタスク別のreasoning_effortが含まれます。同じファイルの削除に関する注記から、そのまま引用します。「web_extract は補助 LLM を使用しなくなりました。ページは切り詰めて保存され、read_file へのポインターが付与されます(要約は行われません)。ブラウザのスナップショットも同じ方式です。古いauxiliary.web_extract.*ブロックはここから削除されました。ユーザーの config.yaml ファイルに既存の値が残っていても害はなく、無視されます。」また、「session_search は補助 LLM を使用しなくなりました(PR #27590 — 単一形式のツールが DB の内容を直接返します)」とあり、ブロックにflush_memoriesキーは存在しません。スロットの概要は、同じファイルのコメントと一致しています(「Triage specifier — Kanban の Triage 列にある大まかな1行の記述を具体的な仕様へ詳述し、todoに昇格させます。hermes kanban specifyから呼び出されます」、「Kanban decomposer — トリアージタスクを、説明に基づいて専門 profile へルーティングされる子タスクのグラフに分解します。hermes kanban decomposeおよび Kanban の自動分解ディスパッチャーから呼び出されます」、「Profile describer — profile が得意とすることを1~2文で自動生成します。hermes profile describe <name> --autoおよびダッシュボードの自動生成ボタンから呼び出されます」、「Goal judge — /goal 実行の最新レスポンスが目標/契約を満たしているか評価します」、「Curator — skill 使用状況をレビューするフォークです」、「Background review — メモリを保存するか、skill を修正するかを判断する、ターン後の自己改善フォークです」)。さらに、設定ページの完全なリファレンスにあるコメント(「Gemini 3.1 TTS の非表示オーディオタグ挿入」、「自動生成されるセッションタイトル。言語が空の場合は会話に従います」、auxiliary.title_generation.enabled: falseで自動タイトルを無効化できます)と、Kanban ドキュメントのページの設定表(「auxiliary.kanban_decomposer| タスクグラフを生成するモデル(Decompose から呼び出されます)」、「auxiliary.profile_describer| profile の説明を自動生成するモデル(hermes profile describe --autoから呼び出されます)」)にも記載されています。対話形式で設定するには、hermes modelを実行し、「Configure auxiliary models」を選択してタスク別ピッカー(vision、title_generation、tts_audio_tags、compression、approval、triage_specifier、kanban_decomposer、profile_describer、delegation)を開きます。Delegation の項目は、サブエージェントが「サイド LLM 呼び出しではなく、完全な子エージェント」であるため、トップレベルのdelegation.*に保存されます。 ↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.21.0 リリースノート。「The Pantheon Release」、タグ
v2026.8.31、記載されたリリース日は8月31日、公開日時は2026-08-31T19:29:49Zです。統計の行をそのまま引用します。「v0.20.0 以降: 約5,800件のコミット · 約2,475件の PR をマージ · 約5,680ファイルを変更 · 約869,000行を追加 · 約135,000行を削除 · 約2,100件の issue をクローズ · 760人以上のコントリビューター」。位置づけについては、次のように記されています。「The Pantheon Release。v0.20.0 で Hermes は使者となり、言葉を発し、ほかのエージェントへ届けました。v0.21.0 では神々が集結します。」また、「このリリースには、v0.20.1~v0.20.6 のインフラストラクチャパッチタグの全内容がまとめられており、それらの期間についてもここに完全な記録があります。」上記で使用した機能分野別の引用を、そのまま示します。Bot Mode — 「Bot Mode はデスクトップアプリに同梱され、デフォルトで有効になりました。すべての agent profile に名前、決定論的に生成されるアバターの顔(ランダム化/ロックのコントロール付き)、共有名簿内の居場所が与えられます」および「以前の『マルチエージェント』は配管のような基盤を意味していましたが、今では同僚でいっぱいのチャットアプリのように見えます」(#87886、#88243、#89386、#96726)。hermes peer— 「返信は各エージェントの正規の Bot Chat に届くため、エージェント間の会話は単発で終わらず、永続的に保存されて確認できます」(#88725、#88178、#91487)。cron — 「continuity=trueは各実行の出力を次回へ引き継ぎます(そのため、monitor は以前報告した内容と照合して重複を排除できます)。すべてのジョブに永続的なメモ帳スクラッチパッドが用意され、monitor モードのジョブは変更がない場合、LLM を完全にスキップします」(#91447、#80774、#81139、#81138)。delegation — 「実行中の子エージェントを一覧表示し、実行途中で進路修正を指示したり、早期停止して途中結果を保持したりできます。子エージェントの出力に対する任意の JSON スキーマ検証、結果に表示される delegation ごとのコスト、引き上げられたデフォルト値(250イテレーション、同時実行する子エージェント10体)も追加されました」(#85232、#81144、#81142、#86506、#86745)。MCP — 「明示的な確認を経て MCP サーバーをインストールするhermes://ディープリンク」(#87525~#87581)。CLI — 「Ctrl+P でファジー検索対応のコマンドパレットが開き、/modelピッカーは入力に応じて絞り込み、/statusは推論モード、保留中の承認、context 使用量を表示します。また、ステータスバーには、項目ごとの切り替え機能付きで、キャッシュヒット率(%)、レイテンシ、毎秒トークン数をリアルタイム表示できます」(#90730、#90717、#90745、#98250、#98282、#97666)。ブラウザ — 「Hermes が直接移動、クリック、読み取りを行えるようになりました」(#90197、#89366)。プロバイダー — 「Meta Model API(Muse Spark)が組み込みプロバイダーとして加わり、CommandCode、Tencent TokenPlan、Nebius Token Factory、Ramp Router、Actual Computer も追加されました」(#88565、#88308、#97917、#97916、#97915、および #79644/#26491 の救済対応)。セキュリティ — 「保護対象のエージェント指示ファイル(AGENTS.md、skills、メモリストア)への書き込みには常に承認が必要になりました。これにより、プロンプトインジェクションを受けたエージェントが、自身の恒久的な指示をひそかに書き換えることを防ぎます」(#81152)。これに加えて、リダクションの全面的な見直し(#80965)、Windows の承認処理範囲(#84428)、TCC identity(#95091)、Blender MCP の削除(#83404)も含まれます。取り消された項目については、次のようにそのまま記載されています。「Model Council mode (/council) — 導入後に取り消されたため、このリリースには含まれていません。」、「DCP context engine — 導入後に取り消されたため、このリリースには含まれていません。」、「WS-only gateway server (#94245) — マージ後に取り消されました(#96118)。FastAPI は引き続きデスクトップの起動パスに残っています。シーケンス番号付きイベントリプレイ(#94219)は実際にリリースされました。」、「Electron は 40.10.2 にロールバックされ、TCC interpreter anchor は削除されました(リリースされた署名 identity 方式に置き換えられたためです)。」バグ修正セクションは、次の一文で締めくくられています。「……さらに、およそ2,000件分のクローズ済み issue に相当する修正があり、この期間は1日平均で約85件の PR がマージされました。」 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
タグ
v2026.8.31で追加された新しいプロバイダー。hermes_cli/models.pyには、ProviderEntry("tencent-tokenplan", "Tencent TokenPlan", "Tencent TokenPlan (Hy4 preview via api.lkeap.cloud.tencent.com, Anthropic Messages)")(静的エントリ #39)、カタログモデルhy4-preview、hy3、hy3-preview、および表示専用の選択グループ"tencent": ("Tencent Hy", "Hy4 / Hy3 via TokenHub & TokenPlan", ["tencent-tokenhub", "tencent-tokenplan"])が追加されています。plugins/model-providers/にはnebius-token-factory/とrouter/が追加され、どちらもauth_type="api_key"を宣言しているため、自動拡張の対象となります。router プラグインの docstring から原文を引用すると、「Ramp Router(Ramp の LLM gateway)のプロバイダー profile。https://api.router.com/v1にある OpenAI Responses 互換の単一エンドポイントが、各リクエストを上流プロバイダー(OpenAI、Anthropic、xAI、Fireworks など)に振り分け、フォールバックと支出制御をサーバー側で処理します」…「Responses API がネイティブの通信形式です。」…「有効なモデル ID は、そのキーでGET /v1/modelsを実行した際に返されるものです(BYOK アカウントでは追加エントリが表示されます)。そのため、この profile にはfallback_modelsがありません。モデル名を決してハードコードしないという Router 自身の指針に従い、選択画面ではライブ取得した情報を使用します」とされています。タグ時点の AI プロバイダーのドキュメントページには、名前付きプロバイダー 45 件と Custom Endpoint の行が掲載されています。v2026.8.27以降に追加された 4 行は、原文では次のとおりです。「Ramp Router |RAMP_ROUTER_API_KEY(~/.hermes/.env内)(provider:router、aliases:ramp-router、ramp、router.com、Responses ネイティブの gateway、アカウント単位のライブカタログ)」、「Nebius Token Factory |NEBIUS_API_KEY(~/.hermes/.env内)(provider:nebius-token-factory、aliases:nebius、nebius-tf、tokenfactory)」、「Tencent TokenPlan |TOKENPLAN_API_KEY(~/.hermes/.env内)(provider:tencent-tokenplan、aliases:tokenplan、tencent-lkeap、Anthropic Messages エンドポイント)」、「Alibaba Cloud (Token Plan) |ALIBABA_TOKEN_PLAN_API_KEY(~/.hermes/.env内)(provider:alibaba-token-plan、中国本土向けエンドポイント:alibaba-token-plan-cn)— Model Studio の定額トークンプラン」。タグ時点では、model_overridesはhermes_cli/config_defaults.pyにあります("model_overrides": {}。明示的なmodel_overrides.<provider>.<model_id>エントリはカタログより優先され、_defaultエントリはカタログで扱われていないモデルに限り、不足項目を補完します)。 ↩↩↩↩↩↩↩↩ -
タグ
v2026.8.31における cron の継続性。cron のドキュメントページ(タグ時点のソースはwebsite/docs/user-guide/features/cron.md)から原文を引用すると、「continuity=trueを設定すると、ジョブ自身の直近の出力が実行のたびに注入されます。通常、定期ジョブは毎回何も覚えていない状態から始まるため、ニュース調査では同じ記事を再び報告し、監視では同じ条件について再び通知してしまいます。continuity を有効にすると、前回の報告内容を確認したうえでジョブが起動し、重複を排除して続きから作業できます」、「2 回目以降の実行では、前回の出力の前に継続性を示す文言(『すでに報告した内容を繰り返さない』)が追加されます … 内部では、このフラグはcontext_fromの予約済みselfエントリとして保存されます」、「CLI ではhermes cron create "every 6h" "Scan for news" --continuityを使用し、既存のジョブで切り替えるにはhermes cron edit <job_id> --continuity/--no-continuityを使用します。同じ切り替え項目が、dashboard の cron エディターとデスクトップの Bot Mode ルーチンダイアログにもあります」とされています。ジョブ単位の effort については、「ジョブごとに、モデルの固定設定とは独立して固有の思考レベルを指定できます。選択肢はnone、minimal、low、medium、high、xhigh、max、ultraです。設定した場合、そのジョブの実行ではグローバルのagent.reasoning_effortとモデル単位のagent.reasoning_overridesの両方より優先されます」と原文にあり、hermes cron create/edit --reasoning-effort highで設定します。Bot Chat への配信については、「bot-chatは、出力を実際のメッセージとして profile の標準『Bot Chat』セッションへ配信します … ここでの受信者は bot 自身です。bot は出力を受信メッセージとして受け取り、対応が必要な内容を処理して、そのチャット内で応答します」と原文にあります。Notepad については、cron/notepad.pyモジュールの docstring に、「各 cron ジョブが、スケジュールされた起動をまたいで状態(カーソル、ウォーターマーク、ウォッチリスト)を保持するために使用できる小さな KV スクラッチパッド」とあります。上限は「MAX_VALUE_BYTES(16 KB)」および「MAX_JOB_TOTAL_BYTES(64 KB)」で、その理由は「notepad は実行のたびにプロンプトへ注入されるため、際限なく増大すると起動時のプロンプトが毎回膨れ上がる」ためです。また、「書き込み経路は CLI(hermes cron notepad <job_id> set <key> <value>)であり、実行中の agent がターミナルツールを介して呼び出します。モデル用のツールは追加されません」とされています。Monitor mode については、cron/monitor.pyの docstring に、「Monitor mode の cron 対応 — ハッシュによって抑制される変更検出」とあり、「低コストの monitor source(monitor_scriptまたはmonitor_url)」を接続します。「変更なし → agent の実行そのものが完全に抑制されます(LLM も配信も行われません)。その tick は、何も通知しないno_change実行として記録されます」、「出力は完全に同一のバイト列かどうかで比較され、タイムスタンプの除去や空白の正規化は行われません。Monitor script は安定した出力を生成する必要があります … そうでなければ、tick のたびに変更と見なされます」、「enabler: #80774」と記載されています。 ↩↩↩↩↩↩↩ -
タグ
v2026.8.31における稼働中の subagent オーケストレーション。delegation のドキュメントページ(タグ時点のソースはwebsite/docs/user-guide/features/delegation.md)の「実行中の Subagent を制御する」では、操作方法として{"action": "list"}、{"action": "steer", "subagent_id": "sa-0-1a2b3c4d", "message": "focus on pricing instead"}、{"action": "stop", "subagent_id": "sa-0-1a2b3c4d"}が示されています。原文では、「listは、その会話で稼働中の子について、subagent_id、goal、status、running_seconds、accepting_steer、ライブ transcript のパスを返します」、「stopは、次のイテレーション境界で子を早期終了します。途中までの結果も通常の完了メッセージとして会話に戻されます」と説明されています。制御操作は「呼び出し元自身の spawn tree に限定されます。ある会話から別のセッションの子を参照したり制御したりすることはできません。また、1 ターンあたりの subagent spawn 上限を消費しないため、上限到達後もstopを使用できます」。steer の配信では競合状態が正直に扱われ(「キューに入ったことは配信済みを意味しませんが、架空の成功が報告されることはありません」)、pending_steerは結果へ取り込まれ、子が先に終了した場合はmissed_steerとして記録されます。デフォルトについては、hermes_cli/config_defaults.pyでdelegation.max_iterations: 250(「subagent ごとのイテレーション上限。各 subagent には、親の max_iterations とは独立した固有の予算が割り当てられます」)と、delegation.max_concurrent_children: 10(「統一された同時実行上限。バッチあたりの並列実行可能な子の最大数であると同時に、バックグラウンド(background=true)の delegation unit の最大同時実行数でもあります …(非推奨となった max_async_children を置き換えます)」)が設定されています。上流には古い記述が 1 か所残っており、delegation のドキュメントページ自体には、依然として「デフォルトでは 3 タスク」と記載され、設定リファレンスにも「max_iterations: 50 …(デフォルト: 50)」と示されています。配布されているconfig_defaults.pyとリリースノート(「デフォルト値を引き上げ(250 イテレーション、同時実行可能な子 10 件)」)のほうが新しく、内容も一致しています。 ↩↩ -
タグ
v2026.8.31におけるセキュリティ強化。保護対象の指示ファイル:hermes_cli/config_defaults.pyでは、security.protected_instruction_files: True(コメント:「エージェント指示ファイル(AGENTS.md/CLAUDE.md/SOUL.md/…)への書き込み」)がデフォルトであり、protected_instruction_extra_patterns: [](ベース名に対する fnmatch)も設定されています。tools/file_tools.pyでは、このゲートを実装しています。_PROTECTED_INSTRUCTION_BASENAMES = frozenset({"agents.md", "claude.md", "soul.md", ".cursorrules", ...})を対象とする「保護されたエージェント指示ファイル(常に承認を求めるゲート)」であり、脅威モデルについて原文どおり「攻撃経路:AGENTS.md / CLAUDE.md / SOUL.md を編集する、注入された指示」および「プロジェクトコンテキストの指示ファイルは cwd ツリーから読み込まれるため、エージェントが後で実行される可能性のある場所に存在する AGENTS.md は、すべて有効な標的となる」と記されています。TCC ID:hermes desktop --setup-tcc-identityはhermes_cli/main.pyに実装されています。_desktop_macos_setup_tcc_identity(identity: str = "Hermes Local Signing")は「hermes desktop --setup-tcc-identity用のワンショット設定」であり、「(–setup-tcc-identity は macOS 専用のため、スキップします)」および「(–setup-tcc-identity には openssl、security、codesign が必要です……)」というガードがあります。秘匿化処理の一斉強化(#80965、#80964、#81675、#81686、#88232)、Windows における承認処理の対応拡大(#84428)、Blender MCP の削除(#83404)、Tier-1 のプラグインインストール時スキャン(#80728)については、リリースノートに基づいています。35 ↩↩↩↩ -
タグ
v2026.8.31における CLI の変更。hermes_cli/commands.pyのCOMMAND_REGISTRYには、CommandDef("palette", "Open the fuzzy command palette (also Ctrl+P)", "Info", ...)およびCommandDef("status", "Show session, model, token, and context info", "Session", ...)が登録されています。/statusは共有レジストリのセッションコマンドであり、メッセージング専用ではありません。_BUILTIN_SUBCOMMANDS(73 エントリ、v2026.8.27と同一)にはapproval-checkエントリがありません。v0.21.0 のリリースノートでhermes approval-check(#81137)と呼ばれているドライランは、実際にはhermes approvals testです。このタグのhermes_cli/subcommands/approvals.pyにあるパーサーのヘルプでは、「コマンドに対する承認判定をドライランします(コマンドは実行しません)」と説明され、--backend(「評価対象のターミナルバックエンド種別(デフォルト:local……)」)と--jsonを使用できます。hermes_cli/_parser.pyの変更はhermes chat内に限られます。-q/--queryのヘルプは現在、「実行するクエリ。実際の TTY では、プロンプトを最初のターンとして文字どおり送信し、対話セッションを開始します。–oneshot、-Q のいずれかと組み合わせた場合、または非 TTY 環境では、回答して終了します」となっています。新しい--oneshotフラグには、「-q/–query-file 使用時:対話セッションを開始せず、クエリに回答して終了します(従来の単一クエリ動作)。非 TTY の標準入出力、および -Q/–quiet では暗黙的に有効になります」と記されています。また、--max-turnsの説明は「会話の各ターンで許可するツール呼び出しの最大反復回数(デフォルト:500、または設定内の agent.max_turns)」です。 ↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.21.1 リリースノート。タグは
v2026.9.7、記載されたリリース日は9月7日、公開日時は2026-09-07T22:17Z です。本文は意図的に簡潔で、原文では「タグ付きデプロイメントと下流の利用者向けに、v0.21.0 以降の現在の main をまとめた」「パッチリリース」とされています。準備時点の期間統計は、「4,364 件の変更ファイルにわたる、マージを除く 5,139 件のコミット(+601,014 / -768,419)」および「マージされた PR 632 件」です。また、「この期間の完全な編集済みリリースノートは v0.22.0 とともに公開されます」と記載されています。ローカルクローンで確認したところ、git rev-list --count --no-merges v2026.8.31..v2026.9.7は 5,140、git diff --shortstatは +601,018 / -768,423 でした。本文の数値はリリースコミット前のスナップショットであり、差分はリリースコミットちょうど 1 件分です。これ以前で隣接タグ間の最大期間はv2026.7.20..v2026.7.30で、マージを除くコミット数は 2,790 件でした(ローカルクローンでv2026.3.12以降の隣接する全タグペアを計測)。トラブルシューティング項目の doctor チェックは、このタグのhermes_cli/doctor_config.py:330-362(_drift_max_iterations_ghost)です。起動時のブリッジが、それ以前に発生した設定解析エラーで処理を中止すると、.envに残った古いHERMES_MAX_ITERATIONSがagent.max_turnsを上書きします(issue #17534)。hermes doctor --fixを実行すると、該当行が.envから削除されます。現行セッションでの検証日は2026年9月8日です。 ↩↩↩↩↩ -
タグ
v2026.9.7のCOMPAT_MANIFEST.md(リポジトリルート、3,869 行)。原文には、「2026年9月の分割(PR #102117)により、Hermes Agent の大規模なモジュールは目的別のファイルへ分割されました」、「内部インポートパスは安定した API ではありません」、「このレイヤーは一時的なもので、2026年9月14日に削除されます。 単一のコミットとして追加されており、そのコミットをリバートすることで削除されます」とあります。動作を示す表では、2026年9月14日より前は、プラグイン名、日付、hermes plugins compatを示す黄色の通知が表示され、プラグインは「読み込まれ、旧パスの解決ごとにHermesPluginCompatWarningが 1 回発行されます」。2026年9月14日以降は、「赤色の通知:プラグインは無効」となり、「読み込まれません。hermes plugins listに理由が表示されます」。Desktop では「一度限りのモーダル」が表示されます。回避策について、原文では「config.yamlにplugins.allow_deprecated_imports: trueを設定すると、リバートによって実際にパスが削除されるまで、期日後も影響を受けるプラグインを読み込み続けます」とされています。種別ごとの件数は、moved-lazy が 1148、import が 592、restored-def が 290、restored-helper が 41、restored-import が 17、module-stub が 3、unrestorable が 34 です。対象は公開されているトップレベル名のみであり、「テストの monkeypatch 用差し替え箇所も同様に維持されません」。hermes_cli/subcommands/plugins.py:104-112のチェッカー用パーサーはhermes plugins compat [path] [--json]で、説明の原文は「有効化されているすべての外部プラグインを静的にスキャンし、分割前のモジュールパス(COMPAT_MANIFEST.md を参照)のインポートを検出して、file:line、old path -> new path の形式で出力します。影響を受けるプラグインが 1 つでもある場合は終了コード 1 となります」です。このタグで分割後の構成を検証しました。agent/はトップレベルモジュール 214 個と 7 つのサブパッケージ(lsp、monitoring、pet、proxy_sources、secret_sources、transports、verify)、hermes_cli/subcommands/はモジュール 61 個です。CANONICAL_PROVIDERSはhermes_cli/models_catalog_static.py:311にあり、39 エントリの slug はhermes_cli/models.pyにあるv2026.8.31の一覧と同一です(xaiの静的タプルを含み、plugins/model-providers/も引き続き 39 ディレクトリ)。旧トップレベルのprompt_builder.pyは削除され、現在はagent/prompt_builder.pyにあります。run_agent.pyは引き続きルートにあるAIAgentの定義元です。その後の状況をガイド v1.19 向けに再検証しました(2026年9月15日)。削除はリバートではなく、日付ゲートとして予定どおり有効になっています。タグv2026.9.14では、hermes_cli/plugin_compat.py:32にCOMPAT_REMOVAL_DATE = _dt.date(2026, 9, 14)が設定されています。removal_in_effect()(86~90 行目)は、その日付以降、またはマニフェストファイルが存在しない場合に true を返します。allow_deprecated_imports()(261~268 行目)は、リテラルのブール値だけを受け付けます(ガードは... is True。ソース内のコメントは「リテラルのブール値のみ」であるため、"false"や"no"のような YAML 文字列で削除後の回避策が有効になることはありません)。旧パスを削除するリバートは、まだ適用されていません。COMPAT_MANIFEST.md、compat_manifest.json、hermes_cli/plugin_compat.pyは、いずれもv2026.9.14と commit5d59366010時点のmain(2026年9月15日 12:55 PT、同日取得)に存在します。そのため、回避策を使えば、引き続き旧パスを解決できます。ただし、リバートが適用された時点で機能しなくなります。ガイド v1.20 向けにも再検証しました(2026年9月22日)。依然としてリバートはなく、3 ファイルすべてがタグv2026.9.21と commita53b42ddea時点のmain(2026年9月22日コミット、同日取得)に存在します。v2026.9.21でも、ゲートとガードに実質的な変更はありません。COMPAT_REMOVAL_DATEは引き続きplugin_compat.py:32、removal_in_effect()は :86、allow_deprecated_imports()は現在 :296-303 にあり、同一のリテラルブール値ガード(... is True)を使用しています。コメントは現在、「リテラルのブール値のみ:YAML の"false"/"no"で削除後の回避策を有効にしてはなりません」となっています。v0.21.4 の期間におけるこのモジュールの変更は、パフォーマンスと移植性に関するものだけです。プロセス全体で共有するスキャンキャッシュが追加され、各プラグインディレクトリの(relpath, mtime_ns, size)ファイルシグネチャをキーとして使用します(多重化 gateway は提供対象の profile ごとにプラグインを 1 回検出しますが、すべてのプラグインのソースを毎回再解析すると、起動経路で profile あたり約 0.4 秒かかっていました)。また、ネイティブ Windows でヒットしたパスが POSIX 形式になりました(#112576)。マニフェスト自体からは、opencode 関連の 2 行(_OPENCODE_KEYLESS_EXTRA_SLUGS、is_opencode_zen_free_model)が削除されましたが、構造的な変更はありません。 ↩↩↩↩↩↩↩↩↩ -
タグ
v2026.9.7のdocs/session-lifecycle.md、セクション「6. 明示的な会話境界」より、全文を原文どおりに引用:「非アクティブ状態や実時間の経過によって会話が切り替わることはありません。/newと/resetは明示的な境界を作成し、長い履歴は引き続きコンテキスト圧縮によって管理されます。従来のタイマー設定は無視されます。既存のSessionResetPolicyデータ型は互換性維持のためだけの不活性なデータであり、ランタイムポリシーではありません。明示的に一時停止した場合は、次の受信ターンで引き続き境界が作成されます。復旧時には、明示的な境界と過去に確定された境界が尊重され、再び開かれることはありません。リソースのみの退避と WebSocket の孤立プロセス回収を行っても、会話は再開可能なままです。」 ↩↩↩↩ -
タグ
v2026.9.7における MCP 認証。パーサー:hermes_cli/subcommands/mcp.py:55-66–login(「OAuth ベースの MCP サーバーを強制的に再認証」)は、browser/deviceを選択肢とする--flowを受け取ります。ヘルプの原文は「OAuth フロー(oauth.flow を上書き):ブラウザーの PKCE または RFC 8628 デバイスコード」です。reauth(「1つの OAuth MCP サーバー、またはすべてのサーバー(–all)を再認証」)は、省略可能な名前と--allを受け取ります。デバイスコードフローは対象期間内のコミットf5afe8bd40「feat: CLI からのデバイスコードを使用して MCP サーバーを認証」で導入されました。関連する堅牢化として、対象期間内のコミット件名にはf914c9b070「fix(mcp): OAuth セッション全体で profile の所有権を適用」、f94307a7f7「fix: 不正な形式の MCP OAuth メタデータキャッシュを無視」、e3ba651b6d「fix(desktop): クライアントローカルのコールバックを介して MCP OAuth を中継」があります。toolset でフィルタリングされた起動:tools/mcp_tool_discovery.py:412-426– このフィルターは、「hermes -z -t <toolsets>」が「呼び出し元に不要なサーバーのコールドスタートを省略」できるようにするためのものです。空のフィルターを指定すると、MCP の読み込み自体が省略されます。 ↩↩↩ -
タグ
v2026.9.7における委任の信頼性。delegate ツールのソースから確認しています。完了単位:tools/delegate_tool_dispatch.py:326-341(_units_of)– 原文:「デフォルトでは無効です(delegation.independent_completions)。呼び出し全体が1つの単位となり、1つのメッセージとして返されます。タスクごとに完了通知が殺到し(それぞれが新しいターンになります)、その挙動を想定していない orchestrator が分断されていました。」単位は、異なる各タスクgroup(初出順)につき1つと、グループ化されていない各タスクにつき1つです。それぞれが個別に会話へ再入力されます。対象期間内のコミットc89f3b8800「fix(delegation): デフォルトで呼び出しごとに1つの完了通知を送信し、キューに入った単位が停止しないように修正」。バックグラウンドプロセスの引き継ぎ:コミット3c0d90e8ef「feat(delegation): subagent がバックグラウンドプロセスを親へ引き継ぎ、残存プロセスは信頼せず名前を記録」。このタグでは、tools/delegate_tool_child_run.py:744-763(account_background_processes)が、引き継がれたプロセスを結果に記録します。また、引き継がれず実行中のプロセスをorphaned_processes、終了済みながら出力が一度も読み取られていないプロセスをunread_completions(出力末尾付き)として一覧化してから、cleanupがそれらを強制終了します。docstring によると、親は子が主張する「watcher running」を信頼するのではなく、「ランタイムからその事実を通知されなければならない」とされています。引き継ぎに使う動詞はprocess_manage(action="handoff")(子のみ)であり、レジストリのロック下でprocess_registry.transfer_ownershipを介してProcessSession.owner_task_idを切り替えます(同タグのtools/AGENTS.md「Delegation」セクション)。フォールバックの設定項目:hermes_cli/config_defaults.pyのdelegation.fallback_providers。コメントの原文:「固定されていない子の場合、null = 親のチェーンを継承、[] = フォールバックを無効化。provider、endpoint、model のいずれかで固定された子には、この設定で明示的に宣言しない限りフォールバックはありません。」tools/delegate_tool_config.py:417-425(_resolve_child_fallback_chain)でのチェーン検証:「不正な形式のエントリは、標準の正規化処理によって除外されます。」クラッシュ耐性:tools/async_delegation.py:222-246は、複数の子を含む実行中の単位で完了した各子を、その単位自身の行へ永続的に記録します("partial": True)。そのため、単位が完了する前にクラッシュしても、完了済みの子は保持されます。キャッシュ階層:tools/delegate_tool.py:106-112(_apply_child_cache_ttl)、原文:「委任された子が1時間のキャッシュ階層を使用することはありません。」_cache_ttl == "1h"を持つ子は"5m"に設定されます。 ↩↩ -
タグ
v2026.9.7におけるプロバイダーとモデル。Astra の階層:hermes_cli/models_catalog_static.py:22-25–openai/gpt-6-astra-fastは「価格2倍、priority 階層」、-flexは「価格0.5倍、flex 階層」で、さらに-pro-fast/-pro-flexがあります。gpt-6-astraと-proはOPENROUTER_MODELSに含まれ、_OPENROUTER_ONLY除外セットには含まれていないため、Nous Portal でも提供されます。Astra のアクセス制限と 900K:hermes_cli/codex_models.py:96-101(「Astra はアカウント単位で制限されます。提供を示せるのは、アカウントに紐づくライブカタログだけです」)およびagent/model_metadata.py:1447-1462– Codex OAuth が提示するのは 272K ですが、gpt-6-astraは 900K に対応可能です。コメントには「提示値は 272K。920,043 の入力は成功し、1,000,043 は拒否(2026年9月4日の実測)」とあります。また、CODEX_CONTEXT_VARIANT_SUFFIX = "-900k"は「選択画面でのみ使用するオプトインのサフィックスであり、通信では一切送信されません」(OpenRouter 側の Astra コンテキストはmodel_metadata.py:334によると 1,050,000)。同じ静的ファイルに追加された新しいカタログエントリ(30〜42行目):anthropic/claude-fable-5.1、google/gemini-3.8-flashとgemini-3.7-flash、qwen/qwen3.8-max-0902とqwen/qwen3.8-flash、meta/muse-spark-1.3と-contributor(agent/model_metadata.py:349によるとコンテキストは 1M)。muse-image:plugins/image_gen/meta-ai/__init__.py(「Meta Model API(muse-image):OpenAI 互換(https://api.meta.ai/v1)」、muse-image-1.0などのモデル)。Tavily:hermes_cli/config_defaults.py:2522-2525、原文「AI ネイティブなウェブ検索と抽出に使用する Tavily API キー(省略可能。Tavily を選択した場合はキーなしでも動作)」、ツールはweb_searchとweb_extract。webブロックには、Tavily は「hermes toolsによるキーなしのオプトイン方式で、ring のメンバーではない」と記されています。管理対象の llama.cpp ランタイム:hermes_cli/local_runtime/パッケージ(「管理対象の llama.cpp ランタイム」)、config_defaults.py:2327の設定ブロック(「公式バイナリ、監視対象の」サーバー1台。ドキュメント参照先はuser-guide/local-models)、デスクトップ側のインターフェースapps/desktop/src/api/local-models.ts。外部プロセス型プロバイダー:agent/auxiliary_client.py:4740-4799(_resolve_external_process_branch、「登録済みの profile を介して提供される PROVIDER_REGISTRY のexternal_processプロバイダー」)。登録済みの profile をキーとするため、「ツリー外の ACP プロバイダー」も解決できます。カタログの更新間隔:hermes_cli/config_migrations.py:622-627で設定を 39 から 40 へ移行(「model_catalog.ttl_hours -> ttl_minutes(デフォルト20)」、ユーザー向けメッセージ「モデルカタログは20分ごとに更新されるようになりました(model_catalog.ttl_minutes)」)。hermes_cli/model_catalog.pyは、ttl_minutesがまだデフォルト値の場合に限り、従来のttl_hoursを尊重します。 ↩↩↩ -
タグ
v2026.9.7時点の Desktop の更新。コメントモード:タグ時点のwebsite/docs/user-guide/desktop.md。記載の要点を原文に沿って示すと、「プレビューブラウザーのバーで 注釈を追加 をクリックし、ライブページ上の任意の要素をクリック(またはドラッグして範囲を指定)してメモを入力します。保存した各コメントは、番号付きのピンとしてページ上に残ります」。「ピンを保存しても、ターンが送信されることはありません」。「N件のコメントを追加 を選ぶと、ピンごとに切り抜かれたスクリーンショットと、各コメントを示す短いプロンプトがコンポーザーに添付されます」。「各要素へのコメントには、その要素の CSS セレクター、マークアップ、レイアウトに関係する計算済みスタイルが含まれます。そのため、エージェントは画像から推測せず、ソース内で該当要素を特定できます」。「パスワードや非表示フィールドの値、キーやトークンに見える属性は、マークアップがページ外へ送られる前に秘匿化されます」。「大きなバッチは、各コメントがページのどの部分にあるかに基づいてグループ化されます。そのため、20件余りのコメントも、コメントごとに1タスクとなるのではなく、少数の作業単位にまとまります」。「各グループは独立した DOM サブツリーであるため、通常は別々のファイルに変更が及びます。これにより、並列ワーカーへ安全に引き渡せます」。対象期間内のコミット:10f2a20966「feat(desktop): アプリ内ブラウザーにコメントモードを追加」、e4bda3ff77「feat(desktop): ブラウザーのコメントに要素のセレクター、マークアップ、スタイルを含める」。セッションコントロール:8cb2bcc8c1「構造化されたセッションコントロールを公開」+bfddf556bf「構造化されたセッションコントロールを復元」+dffd8d62c2「セッション自動化コントロールを追加」。6b1e12c7f4「新規セッション、プロジェクト+コントロール、profile グループからドラッグしてセッションを作成」。9186e3ebc5「他のコーディングエージェントのトランスクリプトを対象としたセッションインポートビュー」。a1c25d393a「Capabilities → Skills に、ワンクリックでインストールできる組み込みのオプション skill カタログ」。ロシア語ロケール:a922dad9d8「feat(desktop): ロシア語(ru)ロケールを追加」+269e5bde33(ロケールのテストとドキュメントにruを登録。対象期間内にapps/desktop/src/i18n/ru.tsが新規追加された一方、CLI のlocales/は引き続き17個のカタログです)。display.resume_last_session:hermes_cli/config_defaults.py:777、デフォルトはTrue。コメントの原文は「Desktop はコールドスタート時に最後のチャット/ページを再び開きます(Settings → Appearance にもあります)」。実 profile の同意:apps/desktop/src/app/chat/right-rail/real-profile-consent-dialog.tsx(「実 profile ブラウジングの初回表示時に出す同意プロンプト」。browser.use_real_profileが無効な状態で Browser ペインを開くと表示されます。同意すると、Capabilities のトグルと同じ設定キーに書き込みます。「今はしない」を選ぶとそのアプリ実行中は表示されず、「今後表示しない」を選ぶと次回以降の起動にも設定が引き継がれます)。 ↩↩ -
Hermes Agent v0.21.2 リリースノート、「state.db パッチリリース」。タグは
v2026.9.11、記載されたリリース日は9月11日、公開日時は2026-09-11T19:20Zです。原文の説明:「v0.21.0 ではセッションストアの接続処理を大幅に書き換えましたが、一部の環境でstate.dbが不安定になりました。2つ目の書き込みプロセスが互いのロックを解除し、正常なデータベースが破損として報告され、1件の不正な行によってsessions list全体が失敗していました」。コミット04dd80a977で測定された統計:「マージを除く947件のコミット」、「変更された1,869個のファイル」、「マージされた312件の PR」、「140人のコントリビューター」(ローカルクローンでの確認:git rev-list --count --no-merges v2026.9.7..v2026.9.11= 959。本文の数値はプレリリース時点のスナップショットであり、v0.21.1 と同じパターンです)。キャンペーン見出しの原文:「state.db 信頼性向上キャンペーン(6件の PR、44件の issue をクローズ)」(PR #108076、#108082、#108130、#108086、#108074、#108067)。更新時のガイダンス原文:「まずhermes doctorを実行してください。構造上の破損とインデックスの破損を正しく区別して示すようになり、再構築だけでは不十分な場合はhermes sessions recover --inspect-only(profile 固定)を案内します」。タグ時点でのソース検証:ルートストアから分離されたホストルームの状態はgateway/hosted_rooms.py:398-426にあります。default_db_pathは、profile gateway に対して「マスターのstate.dbではなく、共有ルートのshared-state.db」を解決します。また、その docstring では、6 gateway のフリート全体で繰り返し観測された複数ライターによる破損(2026-09-03)を、profile gateway がマスターセッションストアを書き込み可能な状態で決して開いてはならない理由として挙げています。hermes sessions recoverのパーサーはhermes_cli/subcommands/sessions.py:185-196にあり、--inspect-onlyのヘルプ原文は「正規テーブルを読み取れるかどうかのみを報告し、出力データベースは作成しません」です。このサブコマンドは対象期間より前から存在しており(v2026.8.31時点のhermes_cli/main.pyにあります)、本ガイドでは未記載でした。認証情報 vault:agent/vault_backends/__init__.pyの docstring(「ブラウザー認証情報 vault のログインバックエンド」。ハンドルはバックエンドごとに名前空間化されるため、ブラウザーツールはスキーマを変更せずにルーティングできます。外部マネージャーはセッションごとにロックを解除するまでロックされます。マスターパスワードは「ツールの引数にも、argv にもならず、永続化もされません」)、agent/vault_backends/base.py(LoginBackendは「ログインのメタデータのみを一覧表示し(シークレットは決して表示しません)、入力時に1件のパスワードを解決します」)、agent/vault_store.py:74-105(認証キーとして使用できるのは base32 シードまたはotpauth://totpURI のみで、カウンターベースの HOTP は拒否され、コードはtotp_nowで生成されます)。バックエンドのlocal.py、onepassword.py、bitwarden.pyに加え、agent/secret_sources/{onepassword,bitwarden,command}.pyもすべてタグ時点で存在します。hermes_cli/subcommands/plugins.pyのプラグインカタログ用サブパーサー:installのヘルプは「厳選カタログ、Git URL、または owner/repo からプラグインをインストール」、searchは「厳選された Hermes プラグインカタログを検索」、browseは「厳選プラグインカタログの全エントリを一覧表示」、packは「宣言的で共有可能なプラグインセット(hermes-pack.yaml)」で、install/export/showを備えます。apps/desktop/electron/guest-onboarding-flag.test.tsのゲストオンボーディング:テストタイトルの原文は「guestOnboardingEnabled:env が正確に “1”、または argv に –guest-onboarding がある場合に無料枠が有効になる」。このテストスイートでは、'true'、'0'、空文字列はいずれも無効になること、さらにdesktopBackendSpawnEnvが「起動時の決定を最後に設定し、継承された値を決して漏らさない」ことを検証しています。リリースに記載されたマルチ profile 強化の issue 群は #107609〜#107630 です。現セッションでの検証日は2026年9月15日です。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.21.3 リリースノート。タグは
v2026.9.14、記載されたリリース日は9月14日、公開日時は2026-09-14T16:04Zです。目的の原文:このタグは「以下のリモート gateway のサインイン修正を、最新のリリースタグへ自動更新される Cloud エージェントに届けるために存在します」。コミット9b419a2d3cで測定された統計:「マージを除く1,036件のコミット」、「変更された2,642個のファイル」、「マージされた338件の PR」(ローカルクローンでの確認:git rev-list --count --no-merges v2026.9.11..v2026.9.14= 1,037。今回も差分はリリースコミットです)。記載された2項目はいずれもローカルクローンで検証済みで、この対象期間にのみ存在します。コミット5dea46d13d「fix(dashboard-auth): Cookie ゲートとネイティブルートで1回の更新を single-flight 化し、イベントループ外で処理」(#110061、#55712 を修正。Portal 側の hermes-portal#1209 と対になっており、30日間のスライディングアイドル期限と、ローテーション済みトークンの5分間の猶予期間を実装)と、コミット939a2f64b4「fix: 長時間稼働するプロセスが重複する state.db ライターハンドルを生成しないようにする」(#110934、#100896 と #103339 を修正)です。延期に関する原文:「この期間の完全な厳選リリースノートは v0.22.0 とともに公開し、v0.21.0 以降のすべてを記載します」、および「この期間の内容は何も省略されません」。リリースで意図的に未記載とされた項目には、サーバーからクライアントへの JSON-RPC リクエストと Pydantic ワイヤーコントラクトレジストリ、すべてのモデルピッカーでの推論エフォート選択、OpenRouter OAuth PKCE、HEIF/HEIC/AVIF デコード、Honcho のピアモデル刷新、FAL カタログへの追加(Wan 3.0、Kling 3.0/Kling Image v3、MiniMax H3 Max Turbo、Gemini Omni Flash 1.1、Meta Muse)、Slack に貼り付けた表と Agent Sessions API、多重化された profile の分離と gateway の稼働性に関する修正、クロス VM ファイルシステム上での state.db WAL の拒否があります。リリース自身の説明どおり、これらはすべて v0.22.0 の精査まで保留されています。現セッションでの検証日は2026年9月15日です。 ↩↩↩ -
Hermes Agent v0.21.4 リリースノート、タグ
v2026.9.21、記載されたリリース日は9月21日、公開日時は2026-09-21T18:10:55Zです。目的の原文は次のとおりです。「パッチリリースです。このタグでは、v0.21.3以降にマージされた約1,800件のPRを、下流の利用者向け(Docker イメージ、Hermes Cloud、ホステッド環境へのデプロイ)に安定版のタグ付きリリースとしてまとめています。この期間の精選された完全なノートはv0.22.0に持ち越されます」。統計はコミット4b8a8134009a時点で測定されており、「5,169個の変更ファイル」にわたる「5,071件の非マージコミット」(+312,961 / -62,855)、「1,812件のマージ済みPR」、「2,116件のクローズ済みissue」です。ローカルクローンでの検証でも、5つの数値すべてを正確に再現できました(git rev-list --count --no-merges v2026.9.14..4b8a8134= 5,071、git diff --shortstat= 5,169ファイル、+312,961 / -62,855)。タグコミットd337b736aa「chore(release): v0.21.4 (v2026.9.21)」は4b8a8134の子であるため、非マージコミットは5,072件、マージを含む合計は5,173件となります。また、v2026.9.14...v2026.9.21に対する GitHub の比較 API では、total_commits: 5173, ahead_by: 5173, behind_by: 0と報告されています。期間別ランキング(ガイドv1.21向けに9月23日に再確認):隣接するすべてのv2026.*タグ間で非マージコミット数を比較すると、v2026.8.31..v2026.9.7(リリースコミットを含めて5,140件)が首位、v2026.9.14..v2026.9.21(5,072件)が2位で、v2026.7.20..v2026.7.30(2,790件)を上回っています。リリースに記載されたマージ済みPR数では、1,812件が単一期間の集約ノートとして過去最大です(v0.21.1は「632件のマージ済みPR」、v0.19.1は「約1,000件以上のPR」。v0.21.0の「約2,475件」はv0.20.0以降の6つのv0.20.xタグにまたがるため、単一のタグ間期間ではありません)。延期に関する原文は「この期間の精選された完全なリリースノートはv0.22.0とともに公開され、v0.21.0以降のすべてが記載されます」および「この期間の内容は何ひとつ省略されません」です。意図的に未文書化とされた一覧には、gatewayのシングルトンロックとランデブーレコード、および実行中のホストバックエンドにDesktopを接続する仕組み、バックエンド管理のコネクタ操作とDesktop/TUI/CLI のセットアップカード、--format stream-json、skills.auto_load、Desktopのチャット/UI用フォント選択機能、ローカルエンジンのワンクリック更新、Pluginsハブからのアンインストール、未認証DMに対するdeclineの動作、mcp.discovery_concurrency、session_searchのafter/before境界とOR条件を緩和した再検索、hermes sessions set-journal-mode、動画カタログへのLTX 2.5とKling O3の追加、プラグイン別・作者別のカタログWebサイトページと固定コミットのREADMEおよび追加日・更新日による並べ替え、「カタログに追加された多数の新しいコミュニティプラグイン(tailscale、ssh、shodan、terminal、rss、resetwatch、done-bell、kiwi、cognee、Octen)」(リリースでの略称。タグ時点のカタログ項目はhermes-tailscale、hermes-ssh、shodan、hermes-terminal、hermes-rss、hermes-resetwatch、done-bell、kiwi、cognee、web-octen)、さらに「profile/multiplexの分離、cron、kanban、Desktop、state.dbに関する多数の修正」が挙げられています。更新方法は、gitインストールの場合はhermes update、またはインストーラーのワンライナーです。「Docker / Hermes Cloud:イメージはこのタグからビルドされます(nousresearch/hermes-agent:v2026.9.21)」。このセッションでの検証日は2026年9月22日です。 ↩↩↩↩↩↩ -
v0.21.4で公表された項目は、タグ
v2026.9.21のソースで確認済みです(ガイドv1.20、2026年9月22日。運用者向けルールの追加はガイドv1.21、9月23日)。ホストのシングルトン:gateway/host_rendezvous.pyのdocstringには、「ホスト全体のシングルトン・ランデブー:OSユーザーごと、ROLEごとに1つのロックと1つのレコード」、「ホストごとに正確に1つのhermes serveと1つのhermes gateway runを実行し、それぞれが全profileを多重化する」とあります。ホストのflock/msvcrtロックは「獲得したプロセスの存続中は保持」され、ランデブーレコードも使用するため、2回目の起動時には「同じ稼働中のプロセスであることを証明し、2つ目のポートをバインドする代わりにATTACH」できます。(pid, createTime)を使い、「古さは推測せず、必ず証明する」設計です(「アタッチするクライアントは、再利用されたPIDのポートへ決して接続してはならない」)。ロックのルートは$HERMES_GATEWAY_LOCK_DIR、未設定の場合は$XDG_STATE_HOME/hermes/gateway-locksで、OSユーザー単位にスコープされます(gateway/status.py:308-324:相対パスのXDG_STATE_HOMEは無視され、~/.local/stateへフォールバックします)。運用者向けの処理:gateway/run.py:5466-5499の_host_attach_or_noneは、ATTACH時にアタッチメッセージを表示して終了コード0で終了し、REFUSE時は拒否します。REPLACE_HOST時には、「どのhomeから起動されたかにかかわらず、HOSTプロセス」へ--replaceを送信し、--forceでは確認を省略します(「所有者が停止している、または虚偽の状態を返す場合に運用者が使える脱出口」)。_claim_host_gateway_role(gateway/run.py:5331-5346)では、ロック競合に敗れたプロセスがEX_TEMPFAIL(75)で終了します。「生成されるすべてのスーパーバイザーは75を再試行し、その再試行時には所有者のレコードが存在する」ためです。gateway/host_attach.pyには5つの結果があります:ATTACH、RESCAN->ATTACH(制御ソケットのrescan-profiles)、REPLACE_HOST、REFUSE(「決して黙って2つ目を起動しない」)、START(スタンドアロンのprofile別gatewayは「移行が強制されるまで(#109417)」共存します)。Desktop側:apps/desktop/electron/host-backend-attach.ts(「ホスト上で実行中のHermesバックエンドへアタッチする(多重化専用、Desktop側)」)。I/Oの段階的処理では、マシンルートの起動台帳を読み取り、「HTTP readiness -> 提供されたセッショントークン -> WebSocket auth」の順で候補を検証します。また、「2つのアプリが同時に起動しても、2つではなく1つのバックエンドが生成されるように、ホストレベルのゲート」を保持します。HOST_SPAWN_GATE_STALE_MS = 60_000です。コネクター操作:tools/connectors/operation.py:1には、そのまま「manage_connections呼び出しごとに、バックエンドが所有する接続操作を1つ実行する。純粋なデータであり、I/Oは行わない」とあります。OPERATION_DEADLINE_SECONDS = 300.0で、コメントは「設定キーではない:クランプによる制限付きでも、ユーザーが待機時間を調整できる仕組みは危険だった(PR1には含まれたが、マージされていない)」です。ツールはmanage_connectionsとして登録されています(tools/connectors/tool.py:16,48,113)。ターゲットごとのrequired_envは「({name, prompt, required})。カードは各エントリに対してフィールドを描画し、必須項目すべてにテキストが入力されるまで、その操作を保留する」仕様です。3つのフロントエンドに対応するカードは、tests/hermes_cli/test_mcp_catalog_env_boundary.py:330で「コネクターカードのバックエンド(Desktop/TUI/CLI設定カード)は、同じくシークレットのみを分離する」と説明されています。stream-json:チャットパーサーのhermes_cli/_parser.py:247-249では、--formatの選択肢がtext/stream-json、デフォルトがtextで、ヘルプにはそのまま「’stream-json’は改行区切りのJSONイベント(JSONL)を出力し、–quietを暗黙的に有効化する。–tuiとは併用できない」とあります。hermes_cli/stream_json.pyのモジュールdocstringでは、「stdoutの各行に1つのJSONオブジェクトを出力する……system/init->textの差分 /tool_use/tool_result-> 最後に1つのresultエンベロープ(終了コード、最終テキスト、トークン統計)。診断情報とsession_idはstderrに残る」と説明されています。_TOOL_OUTPUT_CAP = 5000で、禁止された組み合わせでは終了コード2となります。hermes_cli/stream_json.py:23のstream_json_requestedは、終了コード2で終わる前にqueryまたはquery_fileのいずれも受け付けます(cli.py:1703-1705のFireエントリーポイントは、すでに解決済みのクエリを確認します)。hermes_cli/_parser.py:218-222の--query-file PATHは-qと相互排他的なグループに含まれ、ヘルプにはそのまま「コマンドラインの代わりにファイルから単一のクエリを読み取る(’-‘はstdinを読み取る)。任意のテキストを安全に扱える:シェルによる解釈は一切行われない」とあります。読み取りは_read_query_file(hermes_cli/main.py:1735-1762)が行い、タグv2026.8.19から存在します。契約テストはtests/hermes_cli/test_stream_json.pyにあります(「stream-jsonでは決してstdoutに出力されてはならない」を含みます)。skills.auto_load:hermes_cli/config_defaults.py:1435、デフォルトは[]で、コメントにはそのまま「新しい各セッション(CLI、TUI、gateway、cron、API)で常に完全ロードされるよう固定するskill名。エージェントのプロンプトが最初に構築される際に1度だけ解決される。存在しない名前や無効な名前は警告してスキップする。HERMES_IGNORE_RULESは、ほかの自動注入コンテキストと同様にこのリストを抑制する」とあります。decline:gateway/config.py:137-139のコメントには、そのまま「’pair’はペアリングコードをDMで送信し、’ignore’は黙って破棄する。’decline’は丁寧な拒否を1度送信した後、その送信者に対してgateway.pairing.DECLINE_DEDUPE_SECONDSの間は応答しない(#88028)」とあります。UNAUTHORIZED_DM_BEHAVIORS = {"pair", "ignore", "decline"}で、フィールドのデフォルトは"pair"(:626)、空のunauthorized_dm_decline_messageはDEFAULT_UNAUTHORIZED_DM_DECLINE_MESSAGEになります(返信文は「ペアリング」セクションに引用されています)。gateway/pairing.py:37,565-576にはDECLINE_DEDUPE_SECONDS = 24 * 3600と、エイリアスを考慮した拒否タイムスタンプがあります。プラットフォーム別の解決処理とEmailのデフォルトはget_unauthorized_dm_behavior(gateway/config.py:803-809)にあり、「Emailは受信トレイ型なので、独自のunauthorized_dm_behaviorで明示的に有効化しない限り、デフォルトは"ignore"となる(グローバルデフォルトでは有効化されない)」と説明されています。pair/ignoreおよびEmailのルールを含むキー自体は、この期間より前から存在します(v2026.9.14のgateway/config.py:564,736-742に存在し、2026年3月の#1919で導入)。新しいのはdeclineだけです。実効デフォルト:gateway/authz_mixin.py:699-740の_get_unauthorized_dm_behaviorでは、docstringに従い「明示的なプラットフォーム別設定、Email -> “ignore”、明示的なデフォルト以外のグローバル設定、アダプターのdm_policy(pairing -> “pair”、allowlist/disabled -> “ignore”)、allowlistが設定されている場合 -> “ignore”……それ以外 -> “pair”」の順で処理します(#9337)。グローバル設定は!= "pair"の場合にのみ参照されます。YAMLの構造:platforms.<name>配下のプラットフォーム別キーはPlatformConfig.extraへ昇格されます(gateway/config.py:456-460、#10206)。トップレベルのキーまたはネストされたgateway.unauthorized_dm_behaviorはgateway/config_loader.py:39-46,102によって橋渡しされ、hermes gateway setupはwrite_platform_config_fieldを通じてplatforms.<name>.unauthorized_dm_behaviorを書き込みます(hermes_cli/config.py:2061-2069、hermes_cli/gateway_setup_wizard.py:182-184,219-249。選択肢は「不明な送信者を丁寧に拒否する(1度だけメッセージを送り、その後は応答しない)」)。拒否メッセージはグローバル設定のみです(gateway/run_inbound.py:139)。discovery_concurrency:hermes_cli/config_defaults.py:526のデフォルトは4です。tools/mcp_tool_discovery.py:27-40では、「mcp.discovery_concurrencyで上書きでき、0は無制限を意味する(#117373)」とされています。整数以外または負の値の場合は「is not a non-negative integer; using %d」とログへ記録し、デフォルトを使用します。ゲートではなく上限として機能することは、tests/tools/test_mcp_tool.py:2813(「同時接続数を制限する(並行性は維持され、すべてのserver」が接続する))で固定されています。session_searchの境界と再試行:tools/session_search_tool.py:578,621-635,708-725では、afterは「セッション開始時刻の包含的な下限。ISO形式の日付/日時(例:2026-06-01)または相対期間(7d、24h、2w = 過去N以内)」、beforeは「セッション開始時刻の排他的な上限。ISO形式の日付/日時(日付のみの値は、その日のUTC午前0時)または相対期間(7d = 1週間より前)」です。どちらも「Discoveryの構造専用」で、「sortは順位付けのバイアスであり、境界ではない」とされています。スキーマの安定性を保つため、新しいパラメーターは「detailの後に追加」されています。hermes_state_search.py:1151-1163にはOR条件を緩和した再試行があり、コメントにはそのまま次のようにあります。「語句間の暗黙的なANDにより、言い換えられた複数語のクエリでは、1語でも欠けている保存済みの文に一致しない……完全一致クエリと部分文字列のフォールバックがすべて失敗した場合、いずれかの語句に一致するunicode61インデックスで再試行する。……結果が0件の場合にのみ有効になるため、ヒット時には完全一致のセマンティクスが維持される。明示的なOR/NOT、単一語、およびCJKへルーティングされたクエリは対象外とする」。専用のテストスイートはtests/hermes_state/test_search_or_relaxed_fallback.pyです。set-journal-mode:パーサーはhermes_cli/subcommands/sessions.py:177にあり、ヘルプにはそのまま「オフライン状態(すべての保持元を停止)でstate.dbのjournal_modeをWALとDELETEの間で変換する」とあります。hermes_cli/sessions_cmd_journal_mode.pyのdocstringでは、#100896向けのオフライン・セルフサービス手順とされています(それ以前は、「ドキュメント化されていない、手動実行のPRAGMA journal_mode=DELETEだけが脱出口だった」)。「別のプロセスがファイルまたはサイドカーを保持している間は拒否し(foreign_state_db_holders)、オープナーの終了を待たずに切り替え(_set_journal_mode_no_wait)、その後、モードを表すためにSQLiteが書き込むヘッダーバイト18/19を検証する」仕組みです。ディスパッチには「オフライン:変換対象のストアを開いてはならない」と記されています(hermes_cli/sessions_cmd.py:982)。hermes doctorは、デフォルト以外のストアに対して--db付きでこのコマンドを推奨します(hermes_cli/doctor_platform.py:148,163)。パーサーの説明にはそのまま「gateway、dashboard、およびすべてのCLIを停止した状態で実行すること。いずれかのプロセスがファイルを保持している場合は拒否し、モードを切り替えた後、ファイルヘッダーを検証する」とあります。--forceのヘルプは「Windowsのみ:すべてのHermesプロセスを自分で停止した後、存在しない保持元スキャンを省略して続行する」です(hermes_cli/subcommands/sessions.py:176-189)。これは_refusalで強制されます(sessions_cmd_journal_mode.py:40-44:「Windowsではデータベースが非使用状態であることを証明できない――保持元スキャンがないため」)。Desktopの更新群:フォントフィールドはapps/desktop/src/app/settings/chat-font-setting.tsx(CONFIG_PATH = 'desktop.font_family'、550 msの自動保存)にあり、themes/chat-font.tsにはOpenDyslexic、Atkinson Hyperlegible、Lexend、Inter、IBM Plex Sans、Source Sans 3、Noto Sans、Segoe UI、SF Pro Textが候補として定義されています。空の場合はテーマの書体を使用します。これはthemes/context.tsx:279を通じて適用され、テーマトークン--dt-font-sansを上書きします。エンジンの更新はapps/desktop/src/app/settings/local-models-settings.tsxとそのテストにあります。管理対象のローカルランタイムがupdate_availableを報告すると「Update engine」ボタンを表示し、進捗を報告するruntime-installジョブとしてinstallLocalRuntimeを実行します。テストでは、「明示的な更新に失敗した場合、直接再試行できる状態で表示を維持し、ステージ済みモデルは表示しない」ことを確認します。Pluginsハブからのアンインストールはapps/desktop/src/app/capabilities/plugins/plugins-tab.tsxとそのテストにあり、「確認ダイアログが承認された後にのみplugins.manage removeを通じてアンインストールする」仕様です。スタンドアロンのDesktopプラグインでは、ElectronローダーのuninstallDiskPluginを使用します。動画カタログ:plugins/video_gen/fal/__init__.py:43-44,99-101には、ltx-2.5(「LTX 2.5」、「Lightricksのオープンソース音声動画モデル。ネイティブ音声に対応し、最大20秒 / 4K(i2v)、カメラモーションのプリセットを備える」、低価格tier、lightricks/ltx-2.5/text-to-video/fastと/image-to-video/fast、アスペクト比16:9/9:16、整数の再生時間。:128には「falは1440p/2160pで10秒を超えるLTX 2.5を拒否する」)と、kling-o3(「Kling O3 (Standard)」、「Kuaishouの最先端モデル。ネイティブなマルチショットのストーリーテリング、任意の音声、3~15秒」、プレミアムtier、文字列形式の再生時間3~15、i2vでは画像からアスペクト比を取得し、generate_audioは実際に機能する切り替え)が追加されています。ペイロードのテストはtests/plugins/video_gen/test_fal_plugin.py:641,681、一覧の行はwebsite/docs/reference/toolsets-reference.md:72にあります。カタログの拡充:plugin-catalog/はv2026.9.14時点で9エントリとremoved.yaml、v2026.9.21時点では228エントリとremoved.yamlです。エントリの構造はplugin-catalog/hermes-tailscale.yamlに従い、name、repo、40桁の16進数sha、description、maintainer、tier: community、category、docs_url、capabilitiesで構成されます。採用と公開のモデルはhermes_cli/plugin_catalog.py:4-10,33にあり、「正確な40文字のコミットSHAに固定される。ディレクトリ内に存在すること自体が」採用を意味します。website/scripts/extract-plugins.pyは/docs/api/plugin-catalog.jsonへ公開し、LIVE_CATALOG_URLから取得したデータを~/.hermes/cache/plugin-catalog.jsonへキャッシュします。Webサイトのページはwebsite/plugins/plugin-catalog-pages/index.jsにあり、「/docs/plugins/にはエントリごとに1ページ」、「/docs/plugins/by/にはmaintainerごとに1ページ」を生成します。「マージされたカタログPRだけが、ページの出現、変更、消失を引き起こす」仕組みで、サイトは「機能を縮退させることはあっても、決して失敗しない」設計です。readme.jsは、各エントリのREADMEをshaのraw URL経由で「固定されたコミットから」レンダリングします。「ブランチ先端からは決して取得しない」ため、ページにはカタログのレビュー担当者が確認したREADMEがそのまま表示されます。ビルド時の許可リストに基づくレンダリングでは、生のHTMLを除去し、上限は512 KB、ホストはraw.githubusercontent.comとgitlab.comのみに制限されます。readme: falseで無効化できます。作者slugとコミッター日付に基づく追加・更新スタンプはwebsite/scripts/extract-plugins.py:80,142にあります。リリースで名前が挙げられた10個のcommunityプラグインはすべて、50に記載されたslugでこのタグのエントリとして存在します。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.21.5 リリースノート、タグ
v2026.9.24、記載されたリリース日は9月24日、公開日時は2026-09-24T10:09:38Zです。目的の原文は次のとおりです。「パッチリリースです。このタグでは、v0.21.4以降にマージされた約460件のPRを、ダウンストリームの利用者(Docker イメージ、Hermes Cloud、ホスト型デプロイメント)向けの安定版タグ付きリリースとしてまとめています。この期間の詳細なリリースノートはv0.22.0まで延期されます。」統計は、タグのコミットf97608f178(「chore: release v0.21.5 (2026.9.24)」)時点で計測されており、「非マージコミット1,610件」、「変更ファイル4,828件」(+164,132 / -149,440)、「マージ済みPR 460件」、「クローズ済みissue 475件」です。ローカルクローンでの確認でも、コミット数と差分の数値は完全に再現できました(git rev-list --count --no-merges v2026.9.21..v2026.9.24= 1,610、マージを含めると1,638、git diff --shortstat= 4,828ファイル、+164,132 / -149,440)。PR数とissue数は独立して確認していません。本文の「意図的に文書化していない項目」一覧には、NousおよびOpenRouterのカタログに追加されたGPT-6「Sol/Terra/Luna」とClaude Opus 5.5、gateway.standaloneによるprofile単位の停止・起動・再起動、Desktop plugin-SDKの展開が記載されていますが、Hindsightには触れていません。更新手順の原文は「hermes update(gitインストールの場合)、またはインストーラーのワンライナーを再実行」と「このタグからイメージをビルド(nousresearch/hermes-agent:v2026.9.24)」です。 ↩↩↩↩ -
タグ
v2026.9.24のソースで確認したv0.21.5の項目(ガイドv1.22、2026年9月24日)。Hindsight:コミット4cbf862abe「chore(memory): remove the bundled hindsight provider (moved to the plugin catalog)」(9月22日)は、このタグの祖先です。タグ時点のplugins/memory/には7つのプロバイダーディレクトリ(byterover、holographic、honcho、mem0、openviking、retaindb、supermemory)があり、v2026.9.21時点では8つでした。コミット73c598e319「build: drop the hermes-agent[hindsight] extra」により、pyproject.tomlから削除されています。plugin-catalog/hindsight.yaml:repo: https://github.com/vectorize-io/hindsight、maintainer: vectorize-io、tier: community、requires_hermes: ">=0.21.4"。移行処理:hermes_cli/memory_provider_migration.pyのdocstring(1~14行目)では、2つのフックとして「hermes update」と「agent init」が挙げられています。75行目では「Memory provider ‘{name}’ moved out of core – installed its plugin from the catalog」と出力します。recover_at_startup()(110行目)は「security.allow_lazy_installsを尊重」します。この関数はhermes_cli/update_cmd_deps.py:535-536とagent/agent_init.py:1315-1316から呼び出されます。ディスク上での影響と検証コマンド:memory-providers.md:482-490。Multiplex:hermes_cli/gateway_multiplex_mode.pyの10行目には「明示的なfalseは廃止されました」、43~44行目には「gateway.multiplex_profiles: falseは廃止され、trueに書き換えられました」とあります(コミットb936546561、9月23日)。gateway.standalone:hermes_cli/profiles.py:979-982には、「DEFAULT profileがstandaloneになることはありません。DEFAULT profile自体がホストであり、そこにこのキーが設定されている場合はプロセスごとに1度だけ警告します」とあります(コミット0238c9d740)。一時停止:コミット4c342c05de「ホストmultiplexer配下の1つのprofileを停止、起動、再起動」。multi-profile-gateways.md:120-138, 233-244(「一時的な互換性shim」、「gateway.standaloneが優先される」)。モデル:hermes_cli/models_catalog_static.pyのOPENROUTER_MODELS、32行目および36~37行目(anthropic/claude-opus-5.5、openai/gpt-6-sol、-sol-pro、gpt-6-luna、-luna-pro)。162行目のnousリストは、これをもとに生成されます。タグのモデル選択カタログにはgpt-6-terraというモデルIDが存在しないため、ここではSolとLunaのみを記載しています。プロバイダー:314行目のCANONICAL_PROVIDERSは39件として解析されます(ASTによる集計、変更なし)。plugins/model-providers/には、v2026.9.21とv2026.9.24のどちらにも38個のディレクトリがあり、v2026.9.14では39個でした。コミット998f614c7f「feat(providers): remove the keyless opencode-free tier」(9月18日)で、このpluginが削除されました。コミットメッセージには「OpenCodeの無料tierは、OpenCodeクライアント外からの匿名トラフィックに対してHTTP 403を返すようになりました」とあります。hermes_cli/auth.py:1255-1259には、opencode-free、free、opencode_freeに対してopencode-zenとopencode-goを案内するエラーが残されています。互換性:COMPAT_MANIFEST.md、compat_manifest.json、hermes_cli/plugin_compat.pyは、このタグと、aa8a33d22d(9月24日)時点のmainの両方に存在します。git diff v2026.9.21 v2026.9.24 -- hermes_cli/plugin_compat.pyの結果は空です(32行目のCOMPAT_REMOVAL_DATE、296~303行目の「Literal boolean only」チェック)。2つのマニフェストから削除されたのは、削除済みのplugins.memory.hindsightのエントリのみです(-7 / -12行)。 ↩↩↩↩↩↩↩↩ -
Hermes Agent v0.20.3 リリースノート(タグ
v2026.8.16.2、記載されたリリース日は8月16日、公開日は2026年8月17日)およびv0.20.4 リリースノート(タグv2026.8.18、2026年8月18日)。どちらも2026年8月20日にGitHub API経由で取得しました(prerelease: false)。v0.20.3の原文は次のとおりです。「MCP 2.x SDKへの移行と2026-07-28版ステートレスプロトコルへの対応、コアのチームメイトプロトコルを備えた同梱のBot Mode(hermes-bots)plugin、CommandCodeプロバイダーplugin、サブプロセスのPythonランタイム所有権の堅牢化(PYTHONHOME/PYTHONPATHの分離)、コンピューター操作向けCua Driver 0.20ランタイムコントラクト。」v0.20.4の原文は次のとおりです。「デスクトップのガラス/半透明サーフェス対応(マットガラス、フロストピッカー、macOSでの事前選択)、botごとの表示/非表示に対応したタブ式SESSIONS|BOTSサイドバー、… skillインストール時のNVIDIA SkillEvaluator Tier 1アドバイザリースキャン(ライセンス+セキュリティチェック)。」両リリースとも、「この期間の詳細なリリースノートはv0.21.0で公開されます」と記載されています。 ↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.20.0 リリースノート、「The Herald Release」、タグ
v2026.8.3、2026年8月3日。安定化タグとしてv2026.8.13とv2026.8.16があります。リリースの原文は次のとおりです。「すべてのインストーラー/修復/アップグレードでNode 26が必須」、「brewおよびpip/PyPI wheelチャネルを廃止(サポート対象はshellインストーラー/Docker/Nix)」、「デフォルトの反復上限を90から500へ変更」、「claude-marketplaceソースを削除」。Nodeの最低バージョンは、インストーラーのソースであるscripts/install.shでも独立して確認できました。NODE_VERSION="26"と、「Node.js $(node –version) is too old (Hermes requires Node >=26)」というガードがあります。また、ヘッダーコメントには正式なワンライナーcurl -fsSL https://hermes-agent.nousresearch.com/install.sh | bashも記載されています。相違点に注意してください。ドキュメントのインストールページには、依然としてNode v22と記載されており、どちらの情報と比べても古くなっています。プラットフォームのtierはプラットフォームサポート、skillsのソースとデフォルトのtapはskillsを参照しました。28プラットフォームという数は、メッセージングの比較表を列挙して算出したものです。同ページでは公式の総数を公開していません。すべて2026年8月16日に取得し、確認済みです。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.19.0 リリースノート、「The Quicksilver Release」、タグ
v2026.7.20、2026年7月20日。2026年7月21日時点で最新です。v0.18.0以降の統計:コミット約2,245件、マージ済みPR約1,065件、クローズ済みissue約3,300件、コミュニティ貢献者450人以上。パフォーマンスの中核:初回ターンのTTFTを約80%短縮し、コールド状態での送信からディスパッチまでをCLI/gateway/TUI/デスクトップ/cron全体で約4.3秒から約0.9秒へ短縮(PR #59332)。display.show_reasoningをデフォルトでONにし、トークン単位でレスポンスを描画することで、推論過程をリアルタイム配信(PR #59389)。デスクトップではストリーミングMarkdownの14倍高速化を含む約20件のPRによる高速化を実施し、TUIにはインクリメンタルMarkdownを導入。pip/Homebrewによるインストールは非推奨となり、「サポート対象外のレガシー」として警告のみを表示。PyPI/Homebrewでの公開も廃止予定です(PR #57225)。差し替え可能なSecretSourceインターフェースを導入し、Bitwardenと1Passwordのプロバイダー、op://参照、複数vault、決定的な優先順位、変数ごとの出所情報に対応(PR #59498)。スマート承認をデフォルト化(フラグが付いたコマンドごとに独立したLLMレビュアーを使用)し、YOLOでも維持されるユーザー定義の拒否ルールと/deny <reason>を追加(PR #62661、#59164、#54518)。pluginのpre_tool_callによる承認エスカレーションも再導入(PR #60504)。ターミナルでの請求管理として/subscriptionと/topupを追加し、デスクトップには請求タブを導入(PR #51639)。subagentのライブトランスクリプトファイルと永続的なバックグラウンド委任(PR #67479、#63494)、state.db内の配信義務台帳(PR #67181)を追加。max_async_childrenは、委任処理の統一された同時実行数上限に置き換えられ非推奨となりました(PR #56955)。GatewayではprofileベースのルーティングとGATEWAY_MULTIPLEX_PROFILESに対応し、ルーティングインデックスをstate.dbへ移行。sessions.jsonは任意のレガシーミラーとなりました(PR #64835、#65700、#60589、#59203)。プロバイダー/モデル:Fireworks AIを選択画面の2番目に配置された正式対応プロバイダーとして追加(PR #62593)。DeepInfra、Upstage Solar、GPT-5.6 Sol/Terra/Luna + Proのエンドツーエンド対応(PR #61616)、grok-4.5 GA、kimi-k3(kimi-k2.xは廃止)、Claude Sonnet 5の完全統合、プロバイダーごとのenabled: falseとexcluded_providersに対応(PR #67971)。推論強度にmax/ultra階層を追加し、モデル単位/MoAスロット単位のオーバーライドとセッションスコープの/reasoningに対応(PR #62650、#64458)。CLI/MCP:hermes sessions exportでMarkdown/Quarto/HTML/プロンプトのみ/HF-trace形式と--redactに対応(PR #60186)。/model --once(PR #67113)、複数のスラッシュskillの連続呼び出し(PR #57987)、--safe-mode、hermes config get/unset(PR #65540)、真のヘッドレス動作に対応したhermes serve(PR #55923)、MCPのmcp__server__tool命名形式(PR #52750)を追加。リリースのマーケティング的な表現は除外しています。また、対象期間内に取り消された項目(iron-proxyの送信ファイアウォール、dynamic-workflow skill、memoryのprovider-actions)は、リリース済み機能として意図的に記録していません。現セッションでの検証日は2026年7月21日です。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.18.1 リリースタグおよびv0.18.2 リリースタグ、2026年7月7〜8日。v0.18系のインフラストラクチャ向けパッチ集です。v0.18.2の実質的な修正では、WhatsApp Baileysの固定を解除して7.0.0-rc13を使用し、Dockerビルドの信頼性を高めています。両パッチ期間の内容はv0.19.0リリースノートに統合され、完全に文書化されています。 ↩
-
Hermes Agent v0.15.1 リリースノートおよびHermes Agent v0.15.2 リリースノート。v0.15.1(2026年5月29日01:12 UTC)は、Velocityの同日hotfixです。loopbackモードでdashboardが401リロードループに陥る問題を修正。Dockerでは明示的な
HERMES_DASHBOARD_INSECURE=1が必須となり、MCPの単独コマンド(npx、npm、node)がDockerコンテナ内で解決されるようになりました。Skillsページのソースpillとカテゴリサイドバーを復元し、Kanban workerがSIGTERMに応答するよう修正。Skills.shカタログはsitemap経由で858件から19,932件に拡大しました。コミット28件、マージ済みPR 21件、貢献者9人。v0.15.2(2026年5月29日13:37 UTC)はパッケージングのみのhotfixで、wheelおよびsdistディストリビューションにplugin.yamlマニフェストを同梱し、ソースをサイドロードしなくてもPyPIからインストールできるようにしました。貢献者は4人です。 ↩ -
Hermes Agent v0.15.0 リリースノートおよびHermes Agentリリースページ。「The Velocity release」、タグ
v2026.5.28。統計:コミット1,302件、マージ済みPR 747件、コミュニティ貢献者321人。run_agent.pyを76%リファクタリング(14モジュールに分割し、16,083行から3,821行へ削減)。マルチエージェントKanbanプラットフォーム(自動分解、swarmトポロジー、タスクごとのモデルオーバーライド、スケジュール済みタスク、worktree管理)を追加。session_searchを再設計して4,500倍高速化し、LLMへの依存を解消しました。3つのセキュリティ上の要所で、Brainworm系プロンプトインジェクションに対するpromptware防御を実装。Bitwarden Secrets Managerとの統合により、プロバイダーごとの複数のAPIキーを単一のブートストラップトークンに置き換えました。skill bundleにより、1つのスラッシュコマンドで複数のskillを読み込めます。1つのターミナルウィンドウで複数セッションを管理できるTUIセッションオーケストレーターを追加。画像生成向けにKrea 2(Medium/Large)とFAL pluginをサポート。xAI統合では、web検索plugin、OAuthアップストリーム、廃止モデルの検出、音声出力での自然なTTSポーズを追加しました。GitHubで言及されたパッチリリースでは、dashboardの401リロードループ、Dockerの--insecureで明示的な環境変数HERMES_DASHBOARD_INSECURE=1が必要となる変更、Docker内でのMCP単独コマンド(npx、npm、node)の解決、Skillsページのレンダリング、Kanban workerのSIGTERM処理、sitemap経由の全19,932件のSkillsカタログを修正しました。さらに、.mdの配信、gateway probeの安全性、web URLの秘匿化、kanban-workerのビジョン機能、hindsight observationのデフォルト値に関する小規模な修正も含まれます。 ↩↩↩↩ -
Hermes Agent v0.11.0 リリースノート。2026年4月23日。「The Interface release」では、Python JSON-RPCバックエンド(
tui_gateway)を備えたインタラクティブCLIをReact/Inkで全面的に書き直しました。差し替え可能なトランスポートアーキテクチャ(agent/transports/)、Converse API経由のネイティブAWS Bedrock、5つの新しい推論経路(NVIDIA NIM、Arcee AI、Step Plan、Google Gemini CLI OAuth、Vercel ai-gateway)、Codex OAuth経由のGPT-5.5を追加。QRスキャンによるセットアップに対応した17番目のメッセージングプラットフォームとしてQQBotを導入しました。pluginの拡張ポイント(スラッシュコマンド、ツールディスパッチ、実行のブロック、結果の変換)も拡充。/steer <prompt>では、プロンプトキャッシュを壊すことなく、次のツール呼び出し後にコンテキストを注入して、実行途中のエージェントへ指示を与えられます。Python pluginを使わずにライフサイクルイベントを処理できるshell hook、ペイロードをプラットフォームのチャットへ直接転送するwebhook直接配信モード、オーケストレーターの役割、設定可能なspawn深度、ファイル連携を備えた高度な委任機能を追加。dashboard pluginシステム、リアルタイムのテーマ切り替え、i18n、モバイル対応も導入しました。v0.9.0以降の統計:コミット1,556件 · マージ済みPR 761件 · 変更ファイル1,314件 · 追加224,174行 · コミュニティ貢献者29人。併せてHermes Agent v0.11.0 GitHub リリースタグもご覧ください。 ↩↩↩ -
Hermes Agent v0.10.0 リリースノート。2026年4月16日。「Tool Gateway リリース」。Nous Portal の有料サブスクライバー向けに Nous Tool Gateway を統合し、追加の API キーなしで Firecrawl のウェブ検索、FAL / FLUX 2 Pro の画像生成、OpenAI TTS、Browser Use のブラウザ自動操作を利用できます。新しい
use_gateway設定フィールドにより、ツールごとに利用を選択できます。gateway と直接指定した API キーの両方が設定されている場合、実行時には gateway が優先されます。hermes toolsおよびhermes statusと完全に統合されています。非推奨の環境変数HERMES_ENABLE_NOUS_MANAGED_TOOLSを置き換えるものです。実装は @jquesnelle(emozilla)が担当しました。Hermes Agent CLI は引き続き MIT ライセンスの完全なオープンソースです。gateway は既存の Portal サブスクリプション製品との統合であり、CLI に設けられた有料の利用制限ではありません。サブスクリプション料金と登録については、Nous Portal もご覧ください。 ↩↩↩