hermes@agent:~/.hermes$ cat hermes.md

Hermes Agent:実践者向けリファレンス(2026年版)

# v0.13 Tenacityでは、ハートビートとゾンビ検出を備えたマルチエージェントKanban、/goal Ralphループのロック機構、video_analyze、xAI Custom Voices TTS、7言語のi18n、20番目のプラットフォームとなるGoogle Chat、ProviderProfileによるプラガブルプロバイダー、セッションの自動再開、Checkpoints v2、8件のP0セキュリティ修正が追加されました。

words: 2870 read_time: 59m updated: 2026-05-07 18:57
$ less hermes.md

TL;DR: Hermes Agent は、Nous Research が開発するオープンソースの自己改善型 AI エージェントです。CLI として、またマルチプラットフォーム対応のメッセージングゲートウェイとして動作し、永続的なアイデンティティと記憶をディスクに保存し、使うほど成長するスキルを集約します。OpenAI 互換のあらゆる LLM プロバイダー(Nous Portal、OpenRouter、Anthropic、GitHub Copilot、z.ai、Kimi、MiniMax、DeepSeek、Alibaba、Hugging Face、Google、または自前のセルフホストエンドポイント)と連携できます。12 多くの新規ユーザーが最初につまずくのはプロバイダー認証です。Hermes は約 19 の主要プロバイダーとカスタムエンドポイントをサポートしており、認証経路は 3 種類あります(.env 内の API キー、hermes model による OAuth、または config.yaml でのカスタムエンドポイント設定)。まず学ぶべきはこの認証モデルです。どのプロバイダーが解決されるかによって、その他すべての挙動が決まります。

Hermes Agent は、チャットのラッパーではなく、本格的なエージェントランタイムとして動作します。ファイルシステムを読み取り、サンドボックス化されたバックエンドでコマンドを実行し、Web をスクレイピングし、サブエージェントを起動し、スケジュールされた cron ジョブを実行し、Telegram/Discord/Slack/WhatsApp/Signal/Email と単一のゲートウェイプロセスから対話し、経験から自身のスキルを生み出します。1 CLI は run_agent.py の会話ループ上に構築されたターミナル UI であり、ゲートウェイはメッセージングプラットフォームからのメッセージを同じ会話ループにルーティングする長時間稼働プロセスです。3

カジュアルな利用とエキスパートの利用を分けるのは、5 つのシステムへの習熟度です。 これらを使いこなせば、Hermes は強力な戦力倍増装置となります。

  1. プロバイダー解決:認証フローが API 呼び出しにどうマッピングされるか
  2. 設定の階層config.yaml + .env + auth.json + SOUL.md + AGENTS.md
  3. ツール + ツールセットシステム:エージェントができること、およびプラットフォームごとのゲーティング
  4. スキルシステム:エージェントが作成・進化させる手続き的記憶
  5. ゲートウェイ + cron + プロファイル: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.jsonSOUL.mdMEMORY.mdskills/ は Hermes が直接管理します。SOUL.md は手動で編集できますが、その他はエージェント自身が触れるファイルです。4
  • Hermes は OpenClaw の後継です。 移行する場合は、hermes claw migrate で 30 以上のカテゴリの状態を自動的にインポートできます。5
  • サービス品質は補助モデルに依存します。 ビジョン、Web 要約、圧縮、メモリフラッシュはすべて独立した補助 LLM を使用します。デフォルトでは自動検出により Gemini Flash が選ばれます(OpenRouter → Nous → Codex の順)。これらが何も設定されていない場合、補助スロットをメインプロバイダーに向けるまで、これらの機能はサイレントに劣化します。4

以下のすべてのセクションは、hermes-agent.nousresearch.com/docs のアップストリームドキュメント、および github.com/NousResearch/hermes-agent のソースツリーに基づいています。すべての事実に関する記述には、参照元のアップストリームページを示す脚注が付いています。

自分に合った経路を選ぶ

必要なこと 参照先
Hermes をインストール Installation — ワンラインインストーラーまたは手動手順
プロバイダーにサインイン Authentication & Providers — このガイドの中心セクション
セッション中にモデルを切り替え The hermes auth Command および /model 構文については Custom & Self-Hosted Endpoints
ローカル LLM を実行 Custom & Self-Hosted Endpoints — Ollama、vLLM、SGLang、llama.cpp、LM Studio
メッセージングプラットフォームと接続 Messaging Gateway — Telegram、Discord、Slack、WhatsApp、Signal、Google Chat(合計 20 プラットフォーム)
スキルの作成またはインストール Skills System — プログレッシブディスクロージャー + スキルハブ
すべての CLI コマンドの詳細リファレンス このまま読み進めるか、CLI Commands に直接ジャンプ

Hermesの仕組み:メンタルモデル

Hermesは、あらゆるエントリーポイントから呼び出せる単一の会話ループを中心に構築されています。エントリーポイントには、CLI(cli.py)、メッセージングgateway(gateway/run.py)、エディター統合用のACPアダプター、バッチランナー、そしてAPIサーバーがあります。3 これらはすべて最終的にrun_agent.py内のAIAgent.run_conversation()を呼び出し、以下の処理を実行します:

  1. prompt_builder.pyを通じて、SOUL.mdMEMORY.mdUSER.md、skills、コンテキストファイル、ツールガイダンスからシステムプロンプトを構築3
  2. runtime_provider.pyでランタイムプロバイダーを解決 — このステップで認証、ベースURL、APIモードが決定されます3
  3. 3つのAPIモード(chat_completionscodex_responsesanthropic_messages)のいずれかでプロバイダーを呼び出し3
  4. 返されたツールコールをmodel_tools.pyと中央ツールレジストリ(tools/registry.py)を通じてディスパッチ3
  5. モデルが最終レスポンスを生成するまでループし、セッションをFTS5付きのSQLiteに永続化3

このループを理解することが重要なのは、パーソナリティ、メモリ、skills、圧縮、フォールバックといったすべての機能が、これらのステージのいずれかに接続されているからです。設定キーが何をするのか疑問に思ったとき、答えはたいてい「上記ループのステージ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をどこに保存するのか」という疑問の答えは、必ずこの中のいずれかです。


インストール

ワンラインインストーラーが95%のユーザーに推奨される方法です。Python、uv、Node.js、ripgrep、ffmpegのインストール、リポジトリのクローン、仮想環境の作成、グローバルhermesコマンドの設定まですべて自動で処理されます。7

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

Linux、macOS、WSL2、Android/Termuxで動作します(インストーラーがTermuxを自動検出し、テスト済みのAndroidバンドルに切り替えます)。7 ネイティブWindowsはサポートされていません — WSL2をインストールし、そこから上記コマンドを実行してください。7

インストール完了後:

source ~/.bashrc    # or ~/.zshrc
hermes              # Start chatting

前提条件はgitのみです。インストーラーがuv経由でPython 3.11(sudo不要)、Node.js v22(ブラウザ自動化とWhatsAppブリッジ用)、ripgrep、ffmpegを自動プロビジョニングします。7

インストールの確認

hermes version      # Check version
hermes doctor       # Diagnose config/dependency issues
hermes status       # Show current configuration + auth state
hermes dump         # Copy-pasteable setup summary for debugging

hermes doctorは不足しているものとその修正方法を正確に教えてくれます。7 hermes dumpは、GitHubのissueやDiscordスレッドでヘルプを求める際に貼り付けるための診断コマンドで、シークレットが自動削除されたセットアップ全体のプレーンテキストサマリーを出力します。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バンドル(croncliptymcphonchoacpを含む)

Termuxのインストールコマンドは異なりますuv pipではなく、constraintsファイル付きのpipを使用します:

python -m pip install -e ".[termux]" -c constraints-termux.txt

これは、Android上で.[all]を実行するとvoice extra経由でfaster-whisperが取り込まれ、Android向けに公開されていないctranslate2ホイールに依存するためです。7


認証とプロバイダー

Hermesは約19のファーストクラスプロバイダーとカスタムエンドポイントをサポートし、3つの異なる認証パスを提供します。ここでは認証の全体像をパスごとに整理し、お持ちの認証情報に合うものを見つけられるようにしています。

3つの認証パス

Hermesのすべてのプロバイダーは、次の3つの認証パターンのいずれかに分類されます。

Path 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

Path 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

Path 3 — config.yaml内のカスタムエンドポイント。 OpenAI互換のAPIであれば何でも対応します — Ollama、vLLM、SGLang、llama.cpp、LM Studio、LiteLLMプロキシ、Together AI、Groq、Azure OpenAI、または独自にセルフホストしたサーバーなど。hermes model → Custom endpointから一度設定すれば、config.yamlに永続化されます。2

プロバイダーの全マトリクス

ファーストクラスプロバイダーの完全な一覧と、それぞれの正確なセットアップフローは次のとおりです。2

プロバイダー 認証パス セットアップ
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
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、エイリアス: dashscopeqwen
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
xAI (Grok) ネイティブプロバイダー 直接APIアクセスとモデルカタログを備えたファーストクラスプロバイダー(v0.9.0以降)。x-grok-conv-idヘッダー経由でプロンプトキャッシュを自動有効化します。216
xAI Custom Voices APIキー 音声クローン機能付きTTSプロバイダー。v0.13.0で新規追加。config.yamltts:配下で設定し、xAIキーを.envに記載してください。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 ポータルリクエストサポート付きのOAuthプロバイダー(v0.8.0以降)。15
カスタムエンドポイント config.yaml hermes model → “Custom endpoint”(config.yamlに保存)

Anthropic: 3つの認証方法

Anthropicには独自のセクションを設けています。HermesはClaudeへの3つの異なるパスをサポートしており、適切なものを選ぶことが重要だからです。アップストリームのドキュメントから引用します。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は2つのモードでサポートされています。直接Copilot API(推奨)と、ローカルのCopilot CLIをサブプロセスとして起動するCopilot ACPです。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 tokenghp_*トークンを返す場合は、代わりにhermes modelを使用してOAuth経由で認証してください。2

中国系AIプロバイダー(ファーストクラスサポート)

Hermesはz.ai/GLM、Kimi/Moonshot、MiniMax(グローバル + China エンドポイント)、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_URLKIMI_BASE_URLMINIMAX_BASE_URLMINIMAX_CN_BASE_URLDASHSCOPE_BASE_URLの各環境変数で上書きできます。2

Z.AIはエンドポイントを自動検出します。 z.ai/GLMプロバイダーを使用すると、Hermesは複数のエンドポイント(グローバル、China、コーディング系バリアント)を試行し、お使いの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の単一の真実の情報源(single source of truth)となります。2 旧来の環境変数OPENAI_BASE_URLLLM_MODELメインモデルの設定にはもう読み込まれませんhermes modelを使用するか、config.yamlを直接編集してください。2OPENAI_BASE_URL + OPENAI_API_KEYは、補助的なprovider: "main"ルーティングパスのフォールバックとしては引き続き有効ですので、そこで使用している場合は安易に削除しないでください。)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のコンテキスト長はデフォルトで非常に低く(24GB VRAM未満では4,096トークン)設定されています。OLLAMA_CONTEXT_LENGTHまたはModelfileで引き上げる必要があります — OpenAI互換のAPIはクライアントからのコンテキスト長を受け付けないため、Hermes側で設定することはできません。2 エージェント用途では少なくとも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_jsonmistraldeepseek_v3deepseek_v31xlampythonicです。これらのフラグがない場合、ツール呼び出しはプレーンテキストとして返されてしまいます。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.yamlmodel.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 327682 その後、hermes modelhttp://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 ABCplugins/model-providers/ディレクトリを提供し、サードパーティの推論プロバイダーがコアの修正なしに組み込めるようになっています。18 プロバイダーがOpenAI、Anthropic、Codex互換のAPIモードを話せるなら、認証パス、ベースURL、モデルカタログ、キャッシュヘッダーを宣言するProviderProfileサブクラスを実装できます。Hermesは組み込みプロバイダーと同じruntime_provider.pyパスでこれを解決します。これがv0.13.0のプロバイダー拡張の背景にあるアーキテクチャ変更です。プロバイダーを追加するためにコアコードを編集するのではなく、プラグインを出荷する仕組みになりました。

コンテキスト長の検出

アップストリームのドキュメントによれば、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(3800以上のモデルをカバーするコミュニティ管理のレジストリ) → フォールバックデフォルト(128K)。2 このシステムはプロバイダーを意識しているため、誰がサービングするかによって同じモデルが異なるコンテキスト上限を持ちうります(例: claude-opus-4.6はAnthropic直接では1Mですが、GitHub Copilotでは128K)。2

プロバイダーローテーション & フォールバック

認証情報プール。 同じプロバイダーに対して複数の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セッションにつき最大1回しか発動しません。2 フォールバックでサポートされるプロバイダーは次のとおりです: openrouternousopenai-codexcopilotcopilot-acpanthropichuggingfacezaikimi-codingminimaxminimax-cndeepseekai-gatewayopencode-zenopencode-gokilocodealibabacustom2

補助モデル

Hermesは「補助」モデルとして軽量なモデルを使い、サイドタスクを処理します: 画像解析、Webページの要約、ブラウザのスクリーンショット解析、危険コマンドの承認分類、コンテキスト圧縮、セッション検索の要約、スキルマッチング、MCPツールのディスパッチ、メモリフラッシュなどです。4 デフォルトでは自動検出(OpenRouter → Nous → Codex)でGemini Flashを使用します。

補助タスクごとに使用するモデルとプロバイダーを設定できます。 すべての補助スロットは同じ3つのつまみを使います: providermodelbase_url4

auxiliary:
  vision:
    provider: "auto"                # "auto", "openrouter", "nous", "codex", "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: 30
    download_timeout: 30
  web_extract:
    provider: "auto"
    model: ""
    timeout: 360
  approval:
    provider: "auto"
    model: ""
    timeout: 30
  compression:
    timeout: 120
  session_search: { provider: "auto", model: "", timeout: 30 }
  skills_hub:    { provider: "auto", model: "", timeout: 30 }
  mcp:           { provider: "auto", model: "", timeout: 30 }
  flush_memories:{ provider: "auto", model: "", timeout: 30 }

"main"プロバイダーオプションは「メインエージェントが使うプロバイダーをそのまま使う」という意味です — auxiliary:compression:fallback_model:の設定内でのみ有効です。トップレベルのmodel.provider設定では有効ではありません。カスタムOpenAI互換エンドポイントをメインモデルとして使用する場合は、model:セクションでprovider: customを設定してください。4

なぜこれが重要なのか: Anthropic OAuthのみを設定している(OpenRouterキーがない)場合、デフォルトの補助フォールバックチェーンが最初にOpenRouterを試すため、ビジョン、Web要約、圧縮が劣化または失敗します。補助タスク用にOPENROUTER_API_KEYを追加するか、各補助スロットをメインプロバイダーを使うように再設定してください。

auxiliary:
  vision:
    provider: "main"
  web_extract:
    provider: "main"

これは新規のHermesユーザーが遭遇する「機能がサイレントに動かない」最大の落とし穴です。

設定システム

Hermesにはレイヤー構造の設定システムがあります。優先順位を理解することが重要です。上位のレイヤーが下位のレイヤーをオーバーライドするためで、そのレイヤーの1つは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キー、ボットトークン、パスワード)→ .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 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 checkhermes config migrateは、hermes updateを実行するたびに走らせるべきコマンドです。アップデートで新たに追加され、まだ自分のファイルに含まれていない設定オプションを検出してくれます。6

設定の優先順位

Hermesは複数のソースから設定を読み込みます。同じ値が複数のソースで設定されている場合、優先度の高いソースが優先されます。4

  1. CLI引数hermes chat --model anthropic/claude-sonnet-4(呼び出しごとのオーバーライド)
  2. 環境変数 — プロセス起動時に適用
  3. config.yaml — 主要な設定ファイル
  4. .env — シークレット専用
  5. 組み込みのデフォルト値 — 他に何も設定がない場合に適用

CLIフラグは、その単一の呼び出しに対しては常に勝ちます。config.yamlは長期的な信頼できる設定ソースです。

ローカライゼーション(v0.13.0+)

v0.13.0では、CLIとgatewayメッセージに7つのロケールが追加されました。中国語(簡体字)、日本語、ドイツ語、スペイン語、フランス語、ウクライナ語、トルコ語です。18 ドキュメントは現在zh-Hansのみローカライズされています。ロケールはLC_ALL / LANG環境変数、またはconfig.yaml内の明示的なlocale:キーから解決されます。英語は引き続きデフォルトであり、翻訳がまだカバーしていない文字列のソース・オブ・トゥルースとなります。

profile — 複数の隔離されたHermesインスタンス

profileを使えば、複数の隔離されたHermesインスタンスを持てます。それぞれが独自のconfig、セッション、skill、メモリ、gateway PIDを持ちます。「仕事用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

CLI コマンド

このセクションでは、トップレベルの CLI コマンドについて実践的なリファレンスを提供します。コードに基づく正式なリファレンスについては、上流のCLI Commands Referenceを参照してください。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で開始
--yolo 危険なコマンドの承認プロンプトをバイパス
--pass-session-id セッションIDをエージェントのシステムプロンプトに含める

トップレベルコマンド

コマンド 用途
hermes chat インタラクティブまたはワンショットのチャット
hermes model デフォルトのプロバイダーとモデルをインタラクティブに選択
hermes gateway メッセージング gateway の実行・管理
hermes setup インタラクティブなセットアップウィザード
hermes auth 認証情報の管理 — 追加、一覧、削除、リセット、戦略の設定
hermes status エージェント、認証、プラットフォームのステータスを表示
hermes cron cron スケジューラーの確認とティック実行
hermes webhook 動的な webhook サブスクリプションの管理
hermes doctor 設定と依存関係の問題を診断
hermes dump サポート/デバッグ用のコピペ可能なセットアップ概要
hermes logs エージェント/gateway/エラーログの表示、追跡、フィルタリング
hermes config 設定の表示、編集、移行、クエリ
hermes pairing メッセージングペアリングコードの承認・取り消し
hermes skills skill の閲覧、インストール、公開、監査
hermes honcho Honcho クロスセッションメモリの管理
hermes memory 外部メモリプロバイダーの設定
hermes acp Hermes を ACP サーバーとして実行(エディタ統合)
hermes mcp MCP サーバー設定の管理、Hermes を MCP サーバーとして実行
hermes plugins プラグインの管理
hermes tools プラットフォームごとに有効なツールを設定
hermes sessions セッションの閲覧、エクスポート、整理、削除
hermes insights トークン/コスト/アクティビティの分析を表示
hermes claw OpenClaw 移行ヘルパー
hermes profile profile の管理(複数の隔離インスタンス)
hermes completion シェル補完スクリプトの出力(bash/zsh)
hermes whatsapp WhatsApp ブリッジの設定とペアリング
hermes version バージョン情報の表示
hermes update 最新コードの取得と依存関係の再インストール
hermes uninstall システムから Hermes を削除(--full で設定/データも削除)
hermes backup 設定、セッション、skill、メモリの完全バックアップ(v0.9.0+)16
hermes import バックアップアーカイブからの復元 — マシン間の移行やロールバックに対応(v0.9.0+)16
hermes dashboard ブラウザベースのエージェント管理用ローカルWebダッシュボードを起動(v0.9.0+)16
hermes debug share トラブルシューティング用のデバッグレポートをペーストビンにアップロード(v0.9.0+)16

hermes chat — メインエントリーポイント

引数なしの hermes でインタラクティブチャットが起動します。hermes chat はオプション付きの明示的な形式です。6

hermes chat -q "Summarize the latest PRs"           # One-shot, non-interactive
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 "..." ワンショット、非インタラクティブプロンプト
-m, --model <model> この実行でモデルを上書き
-t, --toolsets <csv> カンマ区切りの toolset を有効化
--provider <provider> プロバイダーを強制指定(全一覧を参照)
-s, --skills <name> このセッションに1つ以上の skill をプリロード
-v, --verbose 詳細出力
-Q, --quiet プログラマティックモード(バナー、スピナー、プレビューなし)
--resume <session> chat から直接セッションを再開
--worktree 隔離されたgit worktreeを作成
--checkpoints 破壊的変更の前にファイルシステム checkpoint を有効化
--yolo 承認プロンプトをスキップ
--source <tag> セッションのソースタグ(デフォルト: cli、統合時は tool を使用)
--max-turns <N> ターンごとのツール呼び出し最大反復回数(デフォルト: 90)

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 は単なる tail -f よりも強力です。レベル、セッションID、時間範囲によるフィルタリングを同時に実行できます。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.1agent.log.2 などを確認してください。6

hermes doctor — 診断

hermes doctor [--fix] は問題が発生した際に最初に実行すべきコマンドです。設定の妥当性、依存関係の存在、API キーの利用可能性、サービスのステータスを確認し、--fix で自動修復を試みることもできます。6

診断結果を他者と共有するには、hermes dump を使用してください。API キーがマスクされたコンパクトなプレーンテキストの概要が生成され、GitHub の issue や Discord スレッドにそのまま貼り付けられます。6


スラッシュコマンド

スラッシュコマンドは、アクティブなチャットセッション(CLI またはメッセージングプラットフォーム)内で実行されます。これらは hermes_cli/commands.py 内の共有 COMMAND_REGISTRY からディスパッチされており、そのため、ほとんどのコマンドはどの環境でも同じように動作します。9

セッション制御

コマンド 説明
/new(エイリアス /reset 新しいセッションを開始
/clear 画面をクリアして新しいセッションを開始
/history 会話履歴を表示
/save 現在の会話を保存
/retry 直前のメッセージを再試行
/undo 直前のユーザー/アシスタントのやり取りを削除
/title <name> 現在のセッションにタイトルを設定
/compress 会話コンテキストを手動で圧縮
/rollback [number] ファイルシステムのcheckpointを一覧表示または復元
/stop 実行中のすべてのバックグラウンドプロセスを終了
/queue <prompt> 次のターンに向けてプロンプトをキューに追加。注意点: /q/queue/quit の両方が要求しているため、最後に登録された方が優先され、実際には /q/quit に解決されます。常に /queue と明示的に入力してください。9
/resume [name] 名前を付けた以前のセッションを再開
/statusbar(エイリアス /sb コンテキスト/モデルのステータスバーを切り替え
/background <prompt>(エイリアス /bg プロンプトを別のバックグラウンドセッションで実行
/btw <question> 一時的なサイド質問(ツールなし、永続化されない)
/plan [request] 同梱の plan skill を読み込み、実行する代わりにプランを記述
/branch [name](エイリアス /fork 現在のセッションを分岐
/goal <target> エージェントを目標にロックし、ターンをまたいでもタスクから外れないようにします。Ralph-loop パターンをファーストクラスのプリミティブとして提供。ターン予算を設定可能。v0.13.0 で新規追加。18

設定とモデル

コマンド 説明
/config 現在の設定を表示
/model [model-name] 現在のモデルを表示または変更
/provider 利用可能なプロバイダーと現在のプロバイダーを表示
/personality [name] パーソナリティオーバーレイを設定
/verbose ツールの進捗表示を切り替え
/reasoning 推論の負荷と表示を管理
/skin 表示スキン/テーマを表示または変更
/voice [on\|off\|tts\|status] CLI 音声モードを切り替え
/yolo YOLO モードを切り替え(承認プロンプトをスキップ)
/fast Fast Mode を切り替え — OpenAI および Anthropic モデル向けの優先処理(v0.9.0以降)16
/debug すべてのプラットフォームでクイック診断を実行(v0.9.0以降)16

/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

ツール、Skills、情報

コマンド 説明
/tools [list\|disable\|enable] [name...] 現在のセッションのツールを管理
/toolsets 利用可能な toolset を一覧表示
/browser [connect\|disconnect\|status] ローカル Chrome CDP 接続を管理
/skills skill の検索、インストール、確認、管理
/cron cron タスクを管理
/reload-mcp config.yaml から MCP サーバーをリロード
/plugins インストール済みプラグインを一覧表示
/help すべてのコマンドを表示
/usage トークン使用量、コスト、期間を表示
/insights 使用状況の分析を表示(過去30日間)
/platforms メッセージングプラットフォームのステータスを表示
/profile アクティブな profile 名とホームを表示

動的なスキルスラッシュコマンド

インストールされたすべての skill は、自動的にスラッシュコマンドとして公開されます。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

また、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 — 保留中の危険なコマンドを拒否
  • /update — Hermes Agent を最新版に更新
  • /commands [page] — すべてのコマンドと skill をブラウズ(ページネーション付き)

そして一部は CLI 専用です:/skin/tools/toolsets/browser/config/cron/skills/platforms/paste/statusbar/plugins9

ツール&ツールセット

Hermesには、Web検索、ブラウザ自動化、ターミナル実行、ファイル編集、メモリ、委任、RLトレーニング、メッセージ配信、Home Assistant連携などをカバーする幅広い組み込みツールレジストリが標準搭載されています。10 ツールは論理的なツールセットにまとめられており、プラットフォームごとに有効・無効を切り替えられます。

主要カテゴリー

カテゴリー 説明
Web web_searchweb_extract Web検索とページコンテンツの抽出
ターミナル&ファイル terminalprocessread_filepatch コマンドの実行とファイル操作
ブラウザ browser_navigatebrowser_snapshotbrowser_vision テキストとビジョンによるインタラクティブなブラウザ自動化
メディア vision_analyzevideo_analyzeimage_generatetext_to_speech マルチモーダル分析と生成。video_analyze はGeminiを最優先としつつ、互換性のあるマルチモーダルプロバイダーへの拡張サポートを備えています(v0.13.0以降)。18
エージェントオーケストレーション todoclarifyexecute_codedelegate_task プランニング、明確化、コード実行、サブエージェント委任
メモリ&リコール memorysession_search 永続メモリ+セッション検索
自動化&配信 cronjobsend_message スケジュールタスク、アウトバウンドメッセージング
統合 ha_*、MCP tools、rl_* Home Assistant、MCP、RLトレーニング

代表的なツールセット名には webterminalfilebrowservisionimage_genmoaskillsttstodomemorysession_searchcronjobcode_executiondelegationclarifyhomeassistantrl などがあります。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

ターミナルバックエンド

ターミナルツールは6種類の異なる環境でコマンドを実行できます。10

バックエンド ユースケース
local 自分のマシンで実行(デフォルト)— 開発、信頼できるタスク
docker 隔離されたコンテナ — セキュリティ、再現性
ssh リモートサーバー — サンドボックス、エージェントを自身のコードから遠ざける
singularity HPCコンテナ — クラスタコンピューティング、rootlessで実行可能
modal サーバーレスのクラウド実行
daytona クラウドサンドボックスワークスペース — 永続的なリモート開発環境

バックエンドの切り替えは hermes config set terminal.backend <name> または config.yaml で行います。

terminal:
  backend: docker      # or: local, ssh, singularity, modal, daytona
  cwd: "."             # Working directory
  timeout: 180         # Command timeout in seconds

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_OVERRIDECHOWNFOWNER を除くすべてのLinuxケーパビリティを削除、特権昇格なし、PID制限(256プロセス)、フルネームスペース分離、ボリュームによる永続ワークスペースを備えています。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/.envSUDO_PASSWORD を設定することもできます。10


マルチエージェントKanban(v0.13.0以降)

v0.13.0では、マルチエージェントコラボレーションがファーストクラスのプリミティブに昇格しました。エージェント間および再起動をまたいで、タスク・ステータス・ワーカーIDを追跡する永続的なKanbanボードが提供されます。18 このボードこそが、Hermesワーカーのswarmが死んだハンドオフで停滞することなく、実際に作業を完遂できる仕組みなのです。

仕組み 役割
Heartbeats 各ワーカーはタスクを保有している間、パルスを送信し続けます。ハートビートが途切れると、そのワーカーは「疑わしい」とマークされ、タスクが再取得可能になります。
Reclaim 別のワーカーが、放棄されたタスクを引き継げます。タスクの状態と部分出力がそのまま引き継がれます。
ゾンビ検出 タスクを完了とマークせずに終了したワーカーは、新規タスクの取得を自動でブロックされ、swarmが死んだIDを溜め込まないようにします。
ハルシネーションゲート ゲートを通過しなかった出力は、完了とマークされる代わりに、理由付きでボードに差し戻されます。
タスク単位の max_retries 壊れやすいと分かっているタスクに対して、デフォルトのリトライ予算を上書きできます。
マルチプロジェクトボード 1つのHermesホームで、独立した複数のボードをホストできます。

Kanbanボードは、ターゲット側では /goal(ロックターゲットのRalphループ)と、スポーンの意味付けでは既存の delegate_task ツールと自然に組み合わさります。その結果、すべてのエージェントが「次に何をすべきか」「誰がやっているか」「何が詰まっているか」について単一の真実の源を共有するswarmパターンが実現します。


スキルシステム

スキルは、エージェントが必要なときに読み込めるオンデマンドの知識ドキュメントです。トークン使用量を最小化するため段階的開示パターンに従っており、agentskills.io のオープン標準と互換性があります。11

すべてのスキルは ~/.hermes/skills/ に格納されます — ここがプライマリディレクトリであり、信頼できる情報源(source of truth)です。新規インストール時には、バンドルされたスキルがリポジトリからコピーされます。Hubからインストールしたスキルやエージェントが作成したスキルもここに置かれます。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)

エージェントは、本当に必要になったときにのみスキルの全文を読み込みます。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

## 検証
動作を確認する方法。

条件付きアクティベーション

スキルは、利用可能なツールに応じて自身を表示または非表示にできます。これは特にフォールバックスキル——プレミアムツールが利用できないときにのみ表示されるべき無料またはローカルの代替手段——で有用です。11

フィールド 動作
fallback_for_toolsets リストされたtoolsetが利用可能なときスキルを非表示
fallback_for_tools 同上、ただし個別のツールをチェック
requires_toolsets リストされたtoolsetが利用不可なときスキルを非表示
requires_tools 同上、ただし個別のツールをチェック

例: 組み込みのduckduckgo-searchスキルはfallback_for_toolsets: [web]を使用しています。FIRECRAWL_API_KEYが設定されている場合、webのtoolsetが利用可能となり、エージェントはweb_searchを使用します——DuckDuckGoスキルは非表示のままです。APIキーがない場合、DuckDuckGoスキルが自動的にフォールバックとして表示されます。11

エージェント管理スキル

エージェントはskill_manageツールを介して、自身のスキルを作成、更新、削除できます。これはエージェントの手続き記憶です——非自明なワークフローを把握したとき、そのアプローチを将来の再利用のためにスキルとして保存します。11

エージェントがスキルを作成するタイミング:11 - 複雑なタスク(5回以上のツール呼び出し)を成功裏に完了した後 - エラーや行き詰まりに遭遇し、機能する経路を見つけたとき - ユーザーがそのアプローチを修正したとき - 非自明なワークフローを発見したとき

アクション:11

アクション 用途
create ゼロからの新しいスキル
patch 的を絞った修正(推奨——最もトークン効率が良い)
edit 大規模な構造的書き換え
delete スキルを完全に削除
write_file サポートファイルの追加/更新
remove_file サポートファイルの削除

Skill Hub

オンラインレジストリからスキルを閲覧、検索、インストール、管理できます。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に付属するオプションのスキル(builtin trust)
skills-sh skills-sh/vercel-labs/agent-skills/vercel-react-best-practices Vercelの公開スキルディレクトリ
well-known well-known:https://mintlify.com/docs/.well-known/skills/mintlify /.well-known/skills/index.jsonを公開しているサイトからのURLベースの発見
github openai/skills/k8s GitHubリポジトリ/パスからの直接インストール
clawhub サードパーティのスキルマーケットプレイス
claude-marketplace Claude互換のplugin/marketplaceマニフェスト
lobehub LobeHubエージェントカタログの変換

デフォルトのGitHub tap(セットアップなしで閲覧可能): openai/skillsanthropics/skillsVoltAgent/awesome-agent-skillsgarrytan/gstack11

セキュリティスキャン

hubからインストールされたすべてのスキルは、データ流出、プロンプトインジェクション、破壊的コマンド、サプライチェーンシグナル、その他の脅威をチェックするセキュリティスキャナを通過します。11

信頼レベル:11

レベル ソース ポリシー
builtin Hermesに同梱 常に信頼される
official リポジトリ内のoptional-skills/ builtin trust、サードパーティ警告なし
trusted 信頼されたレジストリ(openai/skillsanthropics/skills) より寛容なポリシー
community それ以外すべて 危険でない検出は--forceで上書き可能。dangerousの判定はブロックされたまま

--forceはcommunityスキルの危険でないポリシーブロックを上書きできます。dangerousのスキャン判定は上書きされません11

外部スキルディレクトリ

ローカルのものと並行してスキャンされる追加のスキルディレクトリをHermesに指定できます。11

skills:
  external_dirs:
    - ~/.agents/skills
    - /home/shared/team-skills
    - ${SKILLS_REPO}/skills

パスは~の展開と${VAR}環境変数の置換をサポートします。外部ディレクトリは読み取り専用です——エージェントがスキルを作成または編集するとき、常に~/.hermes/skills/に書き込みます。両方の場所に同じ名前のスキルが存在する場合、ローカルが優先されます。11


永続記憶

Hermesにはセッションをまたいで持続する、有界かつキュレーションされた記憶があります。エージェントの記憶を構成する2つのファイルは、いずれも~/.hermes/memories/に保存されています。12

ファイル 目的 文字数制限
MEMORY.md エージェントの個人的なメモ——環境的事実、慣習、学んだこと 2,200文字(約800トークン)
USER.md ユーザープロファイル——好み、コミュニケーションスタイル、期待 1,375文字(約500トークン)

両者はセッション開始時の凍結スナップショットとしてシステムプロンプトに注入されます。エージェントはmemoryツール——addreplaceremove——を介して自身の記憶を管理します。12

凍結スナップショットパターン: システムプロンプトへの注入はセッション開始時に一度だけ取得され、セッション中に変化することはありません。これは意図的な設計です——LLMのプレフィックスキャッシュをパフォーマンスのために維持するためです。セッション中に行われた変更はすぐにディスクに永続化されますが、システムプロンプトには次のセッションまで反映されません。12

何を保存するか

これらは保存します(エージェントが能動的に行います):12 - ユーザーの好み: 「JavaScriptよりTypeScriptを好む」→ user - 環境的事実: 「このサーバーはDebian 12でPostgreSQL 16を実行」→ memory - 修正: 「Dockerコマンドにsudoを使用しない、ユーザーはdockerグループに属している」→ memory - 慣習: 「プロジェクトはタブ、120文字の行幅、Googleスタイルのdocstringを使用」→ memory - 完了した作業: 「2026-01-15にデータベースをMySQLからPostgreSQLに移行」→ memory

これらはスキップします:12 - 些細な/明白な情報 - 簡単に再発見できる事実 - 生のデータダンプ(記憶には大きすぎる) - セッション固有の一過性のもの - すでにコンテキストファイルに含まれている情報

セッション検索

MEMORY.mdUSER.mdに加えて、エージェントはsession_searchツールを使用して過去の会話を検索できます。すべてのCLIとメッセージングのセッションはSQLite(~/.hermes/state.db)にFTS5全文検索とともに保存されています。クエリはGemini Flashによる要約付きで関連する過去の会話を返します。12

機能 永続記憶 セッション検索
容量 合計約1,300トークン 無制限(すべてのセッション)
速度 即座(システムプロンプト内) 検索 + LLM要約が必要
用途 常に利用可能な重要な事実 特定の過去の会話を見つける
管理 エージェントによる手動キュレーション 自動——すべてのセッションを保存
トークンコスト セッションごとに固定(約1,300トークン) オンデマンド

外部メモリプロバイダ

MEMORY.mdUSER.mdを超えるより深い永続記憶のために、Hermesには8つの外部メモリプロバイダプラグインが同梱されています:Honcho、OpenViking、Mem0、Hindsight、Holographic、RetainDB、ByteRover、Supermemory12

外部プロバイダは組み込み記憶と並行して動作し(置き換えではない)、知識グラフ、セマンティック検索、自動的な事実抽出、セッションをまたいだユーザーモデリングなどの機能を追加します。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)

一度にアクティブにできる外部プロバイダは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は~/.hermes/SOUL.md(カスタムプロファイルの場合は$HERMES_HOME/SOUL.md)にデフォルトのSOUL.mdを自動的にシードします。既存のユーザーファイルは決して上書きされません。HermesはHERMES_HOMEからのみSOUL.mdを読み込み、現在の作業ディレクトリは参照しません。これにより、プロジェクト間でパーソナリティが予測可能になります。13

SOUL.mdに含めるべきもの

恒久的な声とパーソナリティのガイダンスに使用してください。13 - トーン - コミュニケーションスタイル - 率直さのレベル - デフォルトのインタラクションスタイル - スタイル上避けるべきこと - Hermesが不確実性、意見の相違、曖昧さをどう扱うか

あまり使わないもの:13 - 一回限りのプロジェクト指示 - ファイルパス - リポジトリの規約 - 一時的なワークフローの詳細

これらはSOUL.mdではなくAGENTS.mdに属します。

SOUL.md vs AGENTS.md

これはHermesのアイデンティティ管理において最も重要な区別です。13

SOUL.md — アイデンティティ、トーン、スタイル、コミュニケーションのデフォルト、パーソナリティレベルの振る舞い。

AGENTS.md — プロジェクトのアーキテクチャ、コーディング規約、ツールの好み、リポジトリ固有のワークフロー、コマンド、ポート、パス、デプロイメントノート。

便利なルール:どこへでも付いてくるべきものはSOUL.mdに、プロジェクトに属するものはAGENTS.mdに。13

組み込みパーソナリティ

Hermesには/personalityで切り替えられる組み込みパーソナリティが付属しています。13

名前 説明
helpful フレンドリーで汎用的なアシスタント
concise 簡潔で要点を押さえた応答
technical 詳細で正確な技術エキスパート
creative 革新的で枠にとらわれない発想
teacher わかりやすい例を用いる忍耐強い教育者
kawaii かわいい表現、キラキラ、熱意
catgirl 猫っぽい表現の猫ちゃん
pirate 技術に精通した海賊船長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 vs /personality

SOUL.mdはベースラインの声です。/personalityはセッションレベルのオーバーレイです。13 実用的なデフォルトのSOUL.mdを維持しつつ、チュータリング会話には/personality teacher、ブレインストーミングには/personality creativeを使用しましょう。


Nous Tool Gateway(v0.10.0以降)

Hermes Agent v0.10.0(2026-04-16)以降、有料のNous Portalサブスクライバーは、既存のPortal認証情報を通じて、厳選されたツール群へのマネージドアクセスが得られます。追加で管理するAPIキーは不要です。20 Hermes CLI自体はMITライセンスのままで、完全にオープンソースです。変更されたのは、Portal認証によってモデル推論以上のものがアンロックされる点です。

ゲートウェイに含まれるもの

ツール プロバイダ ユースケース
Web検索 Firecrawl 最新情報を必要とするエージェント向けの取得
画像生成 FAL / FLUX 2 Pro FALキーを設定せずにインラインで画像を生成
Text-to-speech OpenAI TTS メッセージングゲートウェイでの音声出力
ブラウザ自動化 Browser Use ヘッドレスナビゲーションとスクレイピング

仕組み

ゲートウェイは新しいuse_gateway設定フィールドを通じてツールごとにオプトインします。hermes authにPortal認証情報があり、かつそのツールでゲートウェイを有効にしている場合、そのツールの呼び出しは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

ランタイム優先順位: ゲートウェイが利用可能で、かつツールがuse_gateway: trueの場合、直接のAPIキーも設定されていてもHermesはゲートウェイを優先します。これは課金面で重要です。ゲートウェイ呼び出しはPortalサブスクリプションから引き落とされ、直接のAPIキーの残高からは引かれません。

ゲートウェイの有効化

hermes model                      # select Nous Portal (OAuth flow)
hermes tools                      # per-platform tool picker integrates gateway tools
hermes status                     # confirms gateway/subscription detection

別途のhermes subscribehermes login --portalコマンドはありません。サブスクリプションは、すでにhermes authに保存されているPortal OAuth認証情報から自動的に検出されます。

価格とアクセス

価格とティア名はNous Portalの価格ページ(https://portal.nousresearch.com/pricing)に掲載されています。本ガイドではティアを列挙しません。これらはHermes CLIではなくPortal製品の責任範囲であり、Hermesのリリースとは独立して変更されるためです。https://portal.nousresearch.com/からサインアップし、現在のティアは価格ページでご確認ください。

廃止のお知らせ

  • HERMES_ENABLE_NOUS_MANAGED_TOOLS環境変数はv0.10.0で削除されました。マネージドツールは、ツールごとのuse_gateway設定フィールドで有効化され、Portalサブスクリプション状態に応じてゲートされるようになりました。20

位置づけ:このリリースがそうではないこと

Hermes Agent CLIはサブスクリプションの背後にゲートされていません。プロジェクトは引き続きMITライセンスで、コア機能すべて(CLI、skills、メモリ、メッセージングゲートウェイ、cron、MCP、ローカルダッシュボード、すべてのプロバイダに対するBYOK)は誰にも支払うことなくエンドツーエンドで動作します。v0.10.0は、すでにNous Portalに支払っているユーザー向けの利便性のあるパスを追加するものであり、無料パスから何かを取り除くものではありません。


メッセージングゲートウェイ

Hermesは、単一のゲートウェイプロセスから20のメッセージングプラットフォームに接続する長時間稼働のゲートウェイプロセスとして実行できます:Telegram、Discord、Slack、WhatsApp、Signal、SMS、Email、Home Assistant、Mattermost、Matrix、DingTalk、Feishu/Lark、WeCom、Weixin (WeChat)、BlueBubbles (iMessage)、QQBot、Microsoft Teams、Tencent Yuanbao、Google Chat、そして汎用のWebhookアダプタです。3191718 v0.9.0ではBlueBubbles経由のiMessage(自動webhook登録、セットアップウィザード、クラッシュ耐性)と、エンタープライズアプリ向けWeCom callbackモードを備えたiLink Bot APIによるネイティブWeChatサポートが追加されました。16 v0.11.0ではQQBotが追加されました。19 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

セットアップ

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トークン、ボット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

ユーザー認証とペアリング

hermes pairing list                    # Show pending and approved users
hermes pairing approve <platform> <code>
hermes pairing revoke <platform> <user-id>
hermes pairing clear-pending

ペアリングコードは、見知らぬ人がゲートウェイに話しかけるのを防ぎます。ユーザーがメッセージングプラットフォームからペアリングコードを送信し、hermes pairing approveで承認すると、それ以降は認証された状態になります。6


スケジュールタスク(Cron)

Hermesは、ジョブがシェルコマンドではなくエージェントタスクであるファーストクラスのcronシステムを備えています。スケジュールされた各ジョブは、設定されたプロンプト、オプションでアタッチされたskillsを伴う新しい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


MCP Integration

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

または、config.yamlで手動設定することもできます。14

mcp_servers:
  github:
    command: npx
    args: ["-y", "@modelcontextprotocol/server-github"]
    env:
      GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_xxx"

サーバーとして — Hermesの会話を他のエージェントに公開できます。

hermes mcp serve
hermes mcp serve -v    # Verbose

コンテキスト圧縮

Hermesは長い会話を自動的に圧縮し、モデルのコンテキストウィンドウ内に収まるようにします。圧縮用のサマライザーは独立したLLM呼び出しであり、任意のプロバイダーやエンドポイントを指定できます。4

compression:
  enabled: true
  threshold: 0.50                           # Compress at this % of context limit
  target_ratio: 0.20                        # Fraction to preserve as recent tail
  protect_last_n: 20                        # Min recent messages to keep uncompressed
  summary_model: "google/gemini-3-flash-preview"
  summary_provider: "auto"                  # "auto", "openrouter", "nous", "codex", "main", etc.
  summary_base_url: null                    # Custom OpenAI-compatible endpoint

プロバイダーオプション4

summary_provider summary_base_url 結果
auto(デフォルト) 未設定 利用可能な最適のプロバイダーを自動検出
nous / openrouterなど 未設定 指定プロバイダーを強制使用し、その認証情報を利用
任意 設定済み カスタムエンドポイントを直接利用(プロバイダー指定は無視)

summary_modelは、メインモデルと同等以上のコンテキスト長をサポートする必要があります。圧縮対象として会話の中間部分全体を受け取るためです。4

バジェット圧迫の警告

エージェントが多数のツール呼び出しを伴う複雑なタスクを処理する際、自覚のないままイテレーション予算(デフォルト:90ターン)を使い切ってしまうことがあります。バジェット圧迫機能は、モデルに対して自動的に警告を発します。4

しきい値 レベル モデルが受け取る内容
70% 注意 [BUDGET: 63/90. 27 iterations left. Start consolidating.]
90% 警告 [BUDGET WARNING: 81/90. Only 9 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

ローカルエンドポイントに対してソケット読み取りタイムアウトが30分まで引き上げられているのは、ローカルのLLMが大きなコンテキストのprefillで最初のトークン生成までに数分かかる場合があるためです。4


ローカルWebダッシュボード(v0.9.0+)

Hermes Agentをローカルで管理するためのブラウザベースのダッシュボードです。設定ファイルやターミナルに触れることなく、設定の変更、セッションのモニタリング、skillの閲覧、gatewayの管理などができます。16 hermes dashboardで起動します。GUIを好む新規ユーザーにとって、最も導入しやすい選択肢となるでしょう。

バックグラウンドプロセスのモニタリング(v0.9.0+)

watch_patternsでは、バックグラウンドプロセスの出力を監視するパターンを設定し、マッチしたタイミングでリアルタイム通知を受け取れます。16 エラーの監視、特定イベント(「listening on port」など)の待機、ビルドログの監視などを、ポーリングなしで実現できます。v0.8.0で追加されたnotify_on_complete(バックグラウンドタスク完了時に通知)と組み合わせれば、Hermesは完全なバックグラウンドプロセス可観測性レイヤーを備えることになります。15

プラガブルなcontext engine(v0.9.0+)

コンテキスト管理はhermes pluginsを介したプラガブルなスロットになりました。各ターンでエージェントが参照する内容を制御するカスタムcontext engine(フィルタリング、要約、ドメイン特化のコンテキスト注入など)を差し替えできます。16 これにより、コンテキスト戦略がコアのエージェントループから切り離され、プロジェクトごと、ドメインごとのコンテキストカスタマイズが可能になります。

バックアップとリストア(v0.9.0+)

hermes backupは、設定、セッション、skill、メモリの完全なアーカイブを作成します。hermes importはバックアップアーカイブからの復元を行います。16 マシン間の移行、大きな変更前のスナップショット作成、動作確認済みの設定をチームメンバーと共有する際などに活用できます。

Termux / Androidサポート(v0.9.0+)

HermesはTermux経由でAndroid上でネイティブ動作します。インストールパスの調整、モバイル画面向けのTUI最適化、音声バックエンドのサポート、そして/imageコマンドがデバイス上で利用できます。16

セキュリティ強化(v0.13.0+)

v0.13.0では、8件のP0セキュリティ問題が解消され、ユーザーにとって有利な方向にデフォルトが1つ変更されました。18

修正内容 変更点
シークレット秘匿化のデフォルトON 従来はオプトインでした。ログと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プロンプトインジェクションスキャン 組み立てられたプロンプト(読み込まれたskillコンテンツを含む)は、cronジョブ実行前にプロンプトインジェクションのスキャンを受けます。
hermes debug shareの秘匿化 デバッグ共有のアップロードでは、書き込み時だけでなくアップロード時にもログ内容が秘匿化されます。

Hermesのデプロイメントを運用している場合、v0.13.0は単なる機能追加リリースではなく、セキュリティ関連のアップグレードとして扱うべきです。Discordのクロスギルドバイパスと2つのTOCTOUウィンドウは、以前のバージョンでは悪用可能なものです。


実務者向けアーキテクチャ

このセクションは、内部で何が起きているかを理解し、デバッグや拡張、パフォーマンスに関する判断ができるようになりたい方を対象としています。upstream のアーキテクチャドキュメントを統合した内容です。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                                 
  └──────────────┘ └──────────────┘  └──────────────┘             
└──────────────────────────────────────────────────────────────────┘

図は upstream のアーキテクチャドキュメントを基に作成しました。3

バナーに表示される「47 tools / 20 toolsets」と「28 tools」の違いについて。 「47 tools」というのは、upstream リポジトリにあるツールレジストリの総数です。つまり、Hermes がソースコードを同梱しているすべての toolset にわたるすべてのツールの総数となります。実際に動いている CLI の起動バナーには、これより小さい数字が表示されます(このガイドの検証に使用したインストール環境では 28 tools / 89 skills と表示されました)。これはバグではありません。多くの toolset はオプトイン方式で、config.yamltoolsets: 配下で明示的に有効化する必要があります。たとえばメッセージングプラットフォームのアダプター、ブラウザ自動化、重めのスクレイピングツールなどが該当します。レジストリの合計値は「利用可能なもの」、バナーの数字は「現在のプロファイルで有効化されているもの」を表しているのです。アクティブな toolset は hermes tools --list で確認でき、個別の toolset の有効化/無効化は ~/.hermes/config.yamltoolsets: ブロックで行います(実行中のセッション内であれば /tools list / /tools enable <name> / /tools disable <name> も使えます。ツールを削除するとセッションリセットがトリガーされ、エージェントがツールマニフェストを再構築します)。

3 つの API モード

Hermes はプロバイダーごとの差異を 3 つの API モードに抽象化しており、ランタイムで自動選択されます。3

API mode 利用するプロバイダー
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 のリゾルバは、(provider, model) タプルを (api_mode, api_key, base_url) にマッピングし、18 以上のプロバイダーに対応します。OAuth フロー、認証情報プール、エイリアス解決にも対応しています。3

CLI セッションのデータフロー

User input  HermesCLI.process_input()
   AIAgent.run_conversation()
     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

upstream のアーキテクチャページより引用しました。3

プロンプト構築の順序

プロンプトスタックは次の要素で構成されます。13

  1. SOUL.md(エージェントのアイデンティティ — 利用できない場合はビルトインのフォールバックを使用)
  2. ツール対応の挙動ガイダンス
  3. メモリ/ユーザーコンテキスト(MEMORY.mdUSER.md
  4. skill ガイダンス
  5. コンテキストファイル(AGENTS.md.cursorrules
  6. タイムスタンプ
  7. プラットフォーム固有のフォーマットヒント
  8. /personality などのオプションのシステムプロンプトオーバーレイ

SOUL.md が土台となり、その他はすべてその上に積み重なります。13

セッションストレージ

FTS5 全文検索を備えた SQLite ベースのセッションストレージです。セッションには系統トラッキング(圧縮をまたいだ親子関係)、プラットフォームごとの分離、競合処理を伴うアトミック書き込みが備わっています。3

プラグインシステム

ディスカバリーソースは 3 つあります。~/.hermes/plugins/(ユーザー)、.hermes/plugins/(プロジェクト)、そして pip のエントリーポイントです。プラグインはコンテキスト API を介して、ツール、フック、CLI コマンドを登録します。メモリプロバイダーは plugins/memory/ 配下に置かれる特殊なプラグインタイプとなります。3

hermes plugins                       # Interactive enable/disable UI
hermes plugins install <repo>        # Install from Git URL or owner/repo
hermes plugins enable <name>
hermes plugins disable <name>
hermes plugins list

設計原則

upstream のアーキテクチャページから引用します。3

原則 実務における意味
プロンプトの安定性 システムプロンプトは会話の途中で変わりません。明示的なユーザーアクション(/model)以外、キャッシュを破壊するような変更は発生しません
観測可能な実行 すべてのツール呼び出しはコールバックを介してユーザーから見えます。CLI ではスピナー、ゲートウェイではチャットメッセージで進捗が更新されます
割り込み可能 API 呼び出しやツール実行は、ユーザー入力やシグナルによって実行中にキャンセルできます
プラットフォーム非依存のコア 1 つの AIAgent クラスが CLI、ゲートウェイ、ACP、バッチ、API サーバーすべてに対応します。プラットフォーム固有の差異はエントリポイントに閉じ込められています
疎結合 オプショナルなサブシステム(MCP、プラグイン、メモリプロバイダー、RL 環境)はレジストリパターンと check_fn ゲーティングを利用しており、ハードな依存関係にはなっていません
プロファイル分離 各プロファイルは独自の HERMES_HOME、config、メモリ、セッション、ゲートウェイ PID を持ちます。複数プロファイルの同時実行が可能です

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.mdMEMORY.mdUSER.mdAGENTS.md、4 つのソースディレクトリの skill、デフォルトモデル、カスタムプロバイダー、MCP サーバー、メッセージングプラットフォームのトークンと許可リスト(Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Mattermost)、エージェントのデフォルト設定(推論努力、圧縮、human delay、タイムゾーン、サンドボックス)、セッションリセットポリシー、承認ルール、TTS 設定、ブラウザ設定、ツール設定、exec タイムアウト、コマンド許可リスト、ゲートウェイ設定、3 つのソースから取得された API キー。6

手動レビュー用にアーカイブされるもの: cron ジョブ、プラグイン、hooks/webhooks、メモリバックエンド(QMD)、skill レジストリ設定、UI/identity、ロギング、マルチエージェント構成、チャネルバインディング、IDENTITY.mdTOOLS.mdHEARTBEAT.mdBOOTSTRAP.md6

API キーの解決は、優先順に 3 つのソースをチェックします。config の値 → ~/.openclaw/.envauth-profiles.json の順です。6


トラブルシューティング

“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

  1. サーバー側の出力上限が低いmax_tokens)— SGLang のデフォルトは応答あたり 128 トークンです。サーバー側で --default-max-tokens を指定するか、config.yamlmodel.max_tokens を設定してください。
  2. コンテキストの枯渇 — モデルがコンテキストウィンドウを使い切った状態です。model.context_length を増やすか、Hermes のコンテキスト圧縮を有効にしてください。

WSL2 から Windows 上のモデルサーバーへの接続で「Connection refused」

WSL2 は独自のサブネットを持つ仮想ネットワークアダプターを使用しているため、WSL2 内の localhost は Linux VM を指し、Windows ホストではありません。選択肢は 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 }'
# その IP を base_url のホストとして使用

加えて、モデルサーバーは 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

すべてはどこにあるのか?

ここで頼りになるのが hermes statushermes dump です。hermes logs list ですべてのログファイルとそのサイズが表示されます。hermes config path は config ファイルの場所を、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 向けのメッセージングゲートウェイも同梱されており、これは Claude Code にはない機能です。

Anthropic の API key で Hermes を使えますか?

はい、3 つの方法があります。2

  1. ~/.hermes/.envANTHROPIC_API_KEY を設定し、hermes chat --provider anthropic --model claude-sonnet-4-6 を実行
  2. hermes model を実行して Anthropic を選択 — 利用可能であれば Hermes が Claude Code の認証情報ストアを使用します
  3. フォールバックとして手動で ANTHROPIC_TOKEN(setup-token または OAuth token)を設定

同じマシンですでに Claude Code を使用している場合は、選択肢 2 が推奨されます。リフレッシュ可能な Claude 認証情報をリフレッシュ可能な状態のまま保てるためです。

会話を失わずにプロバイダーを切り替えるには?

セッション内で /model provider:model を使用してください。会話履歴、メモリ、スキルはすべて引き継がれます。9

/model zai:glm-5
/model openrouter:anthropic/claude-sonnet-4
/model custom:local:qwen-2.5

Anthropic を設定したが vision/web/compression が動作しない

補助モデルのフォールバックに引っかかっています。Vision、Web 要約、圧縮、その他のサイドタスクは別の補助 LLM を使用しており、デフォルトでは自動検出(OpenRouter → Nous → Codex)経由で Gemini Flash になります。これらが何も設定されておらず、Anthropic のみセットアップされている場合、これらの機能は静かに劣化します。4

修正方法:補助タスク用に OPENROUTER_API_KEY を追加するか、補助スロットをメインプロバイダーに使うよう再設定してください。なお、コンテキスト圧縮は独自のトップレベル compression: ブロックに置かれ、auxiliary.compression.provider ではなく summary_provider を受け取ります — auxiliary.compression スロットは timeout のみを公開します。完全な修正例:

auxiliary:
  vision:      { provider: "main" }
  web_extract: { provider: "main" }

compression:
  summary_provider: "main"

SOUL.md と AGENTS.md の違いは?

SOUL.md はエージェントのアイデンティティ — トーン、スタイル、コミュニケーションのデフォルト — を表します。~/.hermes/SOUL.md に置かれ、どこへ行ってもあなたについてきます。AGENTS.md はプロジェクト固有のもの — アーキテクチャ、規約、コマンド、パス — で、プロジェクトディレクトリに置かれます。13 どこにでもついてくるべきものなら SOUL.md、プロジェクトに属するものなら AGENTS.md です。

複数の Hermes インスタンスを並行して動かすには?

profile を使います。各 profile は独自の HERMES_HOME、config、メモリ、セッション、ゲートウェイ PID を持ちます。6

hermes profile create work --clone
hermes profile use work                 # 固定デフォルト
hermes -p work chat -q "..."            # 切り替えずに単発実行
hermes profile alias work --name h-work # ラッパースクリプト

Hermes はローカル LLM に対応していますか?

はい、custom エンドポイント経由で対応しています。Hermes は OpenAI 互換のあらゆるサーバーで動作します:Ollama、vLLM、SGLang、llama.cpp/llama-server、LM Studio、LocalAI、Jan、あるいは自前のサーバー。2 サーバー別のセットアップは Custom & Self-Hosted Endpoints を参照してください。

起動バナーに表示されるツール数がガイド記載の数より少ないのはなぜ?

ガイドではアップストリームのアーキテクチャレジストリを基に 47 ツール / 20 toolset と記載しています — これは Hermes が全 toolset 分のソースコードとして同梱しているツールの総数です。実行中のインストールでバナーに表示される数(このガイドの参照インストールでは 28 ツール)はそれより少なくなりますが、これは Hermes が起動時にデフォルトの toolset セットのみを有効化するためです。多くの toolset はオプトインで、メッセージングゲートウェイのアダプター、ブラウザ自動化、重めのスクレイピングスタック、いくつかの特殊な統合は、~/.hermes/config.yamltoolsets: 配下に明示的に列挙して初めてロードされます。レジストリの合計=「有効化すれば利用可能なもの」、バナーの合計=「現在の profile が実際にロードしているもの」です。hermes tools --list で、どの toolset が有効で、どれが利用可能だが無効化されているかを確認できます。個別の toolset は実行時に /tools enable <name>/tools disable <name> で切り替えられます(無効化するとセッションリセットがトリガーされ、新しい構成でエージェントがツールマニフェストを再構築します)。

プライマリプロバイダーが失敗したとき、Hermes はどうモデルフォールバックを処理しますか?

config.yamlfallback_model ブロックを設定してください。2

fallback_model:
  provider: openrouter
  model: anthropic/claude-sonnet-4

プライマリが失敗した場合(レート制限、サーバーエラー、認証失敗)、Hermes は会話履歴を失うことなくセッションの途中でフォールバックに切り替えます。発動はセッションあたり最大 1 回までです。

エージェントは時間とともに自分のスキルを改善できますか?

はい — それが Hermes Agent の「self-improving(自己改善)」たる所以です。エージェントは skill_manage ツールを通じてスキルを作成、更新、削除できます。エージェントが自明でないワークフローを見つけ出すと、そのアプローチをスキルとして保存し、将来の再利用に備えます。11 エージェントは複雑なタスク(ツール呼び出し 5 回以上)を終えたあと、エラーに直面して動作する経路を見つけたとき、あなたがアプローチを修正したとき、または自明でないワークフローを発見したときにスキルを作成します。

IDE 統合はありますか?

はい — Hermes は VS Code、Zed、JetBrains 向けの ACP(Agent Client Protocol)サーバーとして動作します。6

pip install -e '.[acp]'
hermes acp

変更履歴

日付 変更内容 出典
2026-05-07 Guide v1.5: v0.13.0(2026年5月7日)— Tenacityリリースを追加。目玉は、永続的なマルチエージェントKanbanボード(heartbeat、reclaim、ゾンビ検出、ハルシネーションゲート、タスクごとのmax_retries、マルチプロジェクトボード)で、スウォームを委譲パターンではなくファーストクラスのプリミティブへと昇格させます。/goalコマンドは、ターンをまたいでエージェントをターゲットにロックします(Ralphループパターンをスラッシュコマンド化)。新しいvideo_analyzeツールは、Gemini優先で互換モデルにも拡張可能です。xAI Custom Voices TTSプロバイダーは音声クローニングに対応。CLIとgatewayメッセージ向けの7言語i18n(zh-Hans、ja、de、es、fr、uk、tr)に対応(ドキュメントはzh-Hansのみ)。Google Chatが20番目のメッセージングプラットフォームとしてpluggableアダプターパターン経由で追加され、IRCとMicrosoft Teamsも同パターンへ移行。ProviderProfile ABC + plugins/model-providers/ により、コア変更なしでサードパーティプロバイダーをpluggableに追加可能に。gateway再起動、/update、ソースファイルのリロードをまたぐセッション自動再開。単一ストア設計、実プルーニング、ディスクガードレールを備えたCheckpoints v2への書き直し。8件のP0セキュリティ修正:シークレット編集のデフォルト有効化、Discordクロスギルド DMバイパス(CVSS 8.1)、WhatsAppのstranger-reject + self-chat-mute、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にわたるプラットフォームallowlist、MCPの機能強化(SSEトランスポート、OAuthフォワーディング、画像MEDIAタグ)。v0.12.0以降の統計:864コミット、マージ済みPR 588件、変更ファイル829件、コミュニティコントリビューター295名、クローズ済みissue 282件(P0が13件、P1が36件)。 18
2026-05-06 Guide v1.4: v0.12.0(2026年4月30日)— Curatorリリースを追加。目玉は、gatewayのcron tickerで動作する自律的バックグラウンドCurator(デフォルト7日サイクル)で、ルーブリックに基づいてスキルライブラリを採点し、不要なスキルをプルーニングし、関連スキルを統合し、実行ごとのレポートを書き出します。Hermesはアクティブセッションの合間に自身をメンテナンスするのです。自己改善ループはルーブリックベースの採点、アクティブ更新バイアス、適切なランタイム継承、メモリとスキルに限定したスコープ付きtoolsetへとアップグレード。4つの新しい推論プロバイダー:GMI Cloud、Azure AI Foundry、MiniMax OAuth、Tencent Tokenhub。LM Studioがファーストクラスへ昇格。リモートモデルカタログのマニフェストはリリースなしで自動更新されるようになりました。2つの新メッセージングプラットフォーム:Microsoft Teams(19番目、pluggable gatewayアーキテクチャ経由)とTencent Yuanbao(18番目、ネイティブテキスト + メディア)。バンドルスキル付きのPKCE OAuth経由のネイティブSpotify、通話と文字起こし向けのGoogle Meetプラグイン、Piperローカル TTSプロバイダー。ComfyUI v5 + TouchDesigner-MCPがオプションからデフォルトバンドルへ移行。新スキル:Humanizer、claude-design、design-md、airtable。CLIの追加:hermes -zワンショットモード、hermes update --checkプリフライト、/reload-skillsスラッシュコマンド、pluggableなビジーインジケーターのスタイル。遅延エージェント初期化と遅延importにより、TUIのコールドスタート体感は約57%短縮。セキュリティ:ペイロード破損を防ぐためシークレット編集はデフォルトで無効化、復旧不能コマンドへのhardline blocklist。統計:1,096コミット、マージ済みPR 550件、コミュニティコントリビューター213名。 17
2026-04-25 Guide v1.3: v0.11.0(2026年4月23日)— Interfaceリリースを追加。Python JSON-RPCバックエンド(tui_gateway)を伴うインタラクティブTUIのReact/Ink完全リライト:固定コンポーザー、OSC-52クリップボード対応のライブストリーミング、安定したピッカーキー、ターンごとのストップウォッチとgitブランチ表示のステータスバー、/clear確認、ライトテーマプリセット、サブエージェントspawn観測オーバーレイ。Pluggableトランスポートアーキテクチャ:フォーマット変換とHTTPトランスポートをagent/transports/へ抽出し、プロバイダー配管をクリーンに。Converse API経由のネイティブAWS Bedrock5つの新しい推論パス:NVIDIA NIM、Arcee AI、Step Plan、Google Gemini CLI OAuth、Vercel ai-gateway。Codex OAuth経由のGPT-5.5:OpenAIの新フラッグシップが、別途APIキーなしでChatGPT Codex OAuthから到達可能に。QQBot(17番目のメッセージングプラットフォーム):QRスキャンセットアップとストリーミング対応。プラグイン領域の拡張:スラッシュコマンド、ツールディスパッチ、実行ブロック、結果変換。/steer <prompt>:実行中のターンを中断したりプロンプトキャッシュを壊したりせずに、次のツールコール後に実行中のエージェントが目にするノートを差し込む、実行途中のエージェントnudge。Shell hooks:Pythonプラグインなしでスクリプトをライフサイクルフックとして接続。Webhook直接配信モード:エージェントをバイパスしてペイロードを直接プラットフォームチャットへフォワードしfan-outを実現。より賢い委譲:オーケストレーターロール、設定可能なspawn深度、ファイル協調。Dashboard:プラグインシステム、ライブテーマ切り替え、i18n、モバイル対応を追加。v0.9.0以降の統計:1,556コミット、マージ済みPR 761件、変更ファイル1,314件、追加行224,174、コミュニティコントリビューター29名。 19
2026-04-16 Guide v1.2: v0.10.0 — Nous Tool Gatewayを追加。有償のNous Portalサブスクライバーは、追加のAPIキーなしでマネージドツール(Firecrawlウェブ検索、FAL / FLUX 2 Pro画像生成、OpenAI TTS、Browser Useブラウザ自動化)にアクセス可能になりました。新しいuse_gateway設定フィールドでツールごとにオプトイン。両方が設定されている場合、ランタイムは直接のAPIキーよりgatewayを優先します。HERMES_ENABLE_NOUS_MANAGED_TOOLS env varは削除。Hermes Agent CLIはMITライセンスのまま、完全無料です。 20
2026-04-13 Guide v1.1: v0.8.0およびv0.9.0の機能を追加。ローカルウェブダッシュボード、/fastモード、iMessage + WeChatプラットフォーム(合計16)、バックグラウンドプロセス監視(watch_patterns)、pluggable context engine、hermes backup/hermes import、Termux/Android、xAI + MiMo + Google AI Studio + Qwenプロバイダー、/debugコマンド、包括的なセキュリティ強化。 15 16
2026-04-10 Guide v1.0: Hermes Agent v0.7.0をカバーする初版リリース。プロバイダー認証、config、CLI、スラッシュコマンド、ツール、スキル、メモリ、gateway、cron、MCP、圧縮、アーキテクチャ、OpenClawマイグレーション、トラブルシューティング、FAQ。

参考文献


  1. Nous Research、“Hermes Agent”プロジェクトのGitHub上のREADME。プロダクト説明(自己改善型エージェント、マルチプロバイダー、メッセージングゲートウェイ、ターミナルバックエンド、スキル進化、cronスケジューラー、委譲)と“Quick Install”ワンライナーの主要ソース。 

  2. Nous Research、Hermes Agentドキュメント内の“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オーバーライド、モデル識別子はすべてこのページに由来します。 

  3. Nous Research、Hermes Agent開発者ガイド内の“Architecture”。システム概観図、ディレクトリ構造、CLIセッションおよびゲートウェイメッセージパスを通るデータフロー、3つのAPIモード(chat_completionscodex_responsesanthropic_messages)、runtime_provider.pyによるプロバイダー解決、SQLite + FTS5によるセッション永続化、メッセージングゲートウェイのプラットフォーム一覧、プラグインシステムの検出ソース、プロファイル分離、6つの設計原則の主要ソース。 

  4. Nous Research、Hermes Agentユーザーガイド内の“Configuration”。設定ディレクトリ構造、config.yaml.envのルール(「非シークレット設定ではconfig.yamlが優先」)、設定の優先順位チェーン(CLI引数 → env → config.yaml → .env → デフォルト)、コンテキスト圧縮設定(compression.*ブロックのthresholdtarget_ratioprotect_last_nsummary_modelsummary_providersummary_base_url)、予算プレッシャー閾値(70%警戒、90%警告)、ローカルプロバイダー自動調整付きストリーミングタイムアウト、補助モデル設定ブロック全体(auxiliary:配下のvisionweb_extractapprovalcompressionsession_searchskills_hubmcpflush_memoriesスロット)の主要ソース。"main"プロバイダーが補助/圧縮/フォールバックスロットに限定される制約もこのページに由来します。 

  5. Nous Research、Hermes Agentガイド内の“Migrate from OpenClaw”。OpenClaw → Hermes移行フローのソース。 

  6. Nous Research、Hermes Agentリファレンスドキュメント内の“CLI Commands Reference”。本記事に記載したすべてのトップレベルCLIコマンド(hermes chathermes modelhermes gatewayhermes setuphermes authhermes statushermes cronhermes webhookhermes doctorhermes dumphermes logshermes confighermes pairinghermes skillshermes honchohermes memoryhermes acphermes mcphermes pluginshermes toolshermes sessionshermes insightshermes clawhermes profilehermes completionhermes updatehermes uninstall)の主要ソース。本記事内のサブコマンドフラグ、オプション説明、認証情報プールの挙動、ログフィルタ構文、OpenClaw移行フラグ、プロファイル管理コマンド、サービスインストールコマンドはすべてこのページに由来します。 

  7. Nous Research、Hermes Agent入門ガイド内の“Installation”。ワンラインインストーラーコマンド、インストーラーの挙動(前提条件、プラットフォームサポート、Termux自動検出、Windows/WSL2要件)、オプション拡張表、手動インストール手順、検証コマンドの主要ソース。 

  8. Nous Research、“CLI Commands Reference” — 特にhermes dumpセクションを参照。コマンドの出力形式(ヘッダー、環境、識別情報、モデル、ターミナル、APIキー、機能、サービス、ワークロード、設定オーバーライド)と診断情報共有用途について記述。 

  9. Nous Research、Hermes Agentリファレンスドキュメント内の“Slash Commands Reference”。本記事に記載したすべてのスラッシュコマンド、COMMAND_REGISTRYアーキテクチャ、CLIとメッセージングの分割、動的スキルスラッシュコマンド、config.yaml内のクイックコマンド、プレフィックスマッチングの挙動、メッセージング専用コマンド(/status/sethome/approve/deny/update/commands)の主要ソース。 

  10. Nous Research、Hermes Agentユーザーガイド内の“Tools & Toolsets”。ツールカテゴリの概観、toolset使用コマンド、6つのターミナルバックエンド(local、docker、ssh、singularity、modal、daytona)、コンテナ設定(cpu、memory、disk、persistent)、コンテナのセキュリティハードニング、バックグラウンドプロセス管理API、sudoサポートの主要ソース。 

  11. Nous Research、Hermes Agentユーザーガイド内の“Skills System”。プログレッシブディスクロージャー、SKILL.md形式、プラットフォーム固有skill、条件付きアクティベーション(fallback_for_toolsetsrequires_toolsetsfallback_for_toolsrequires_tools)、skill_manageによるエージェント管理skill、skillハブコマンドとソース一覧(officialskills-shwell-knowngithubclawhubclaude-marketplacelobehub)、セキュリティスキャンと信頼レベル、外部skillディレクトリの主要ソース。 

  12. Nous Research、Hermes Agentユーザーガイド内の“Persistent Memory”MEMORY.mdUSER.mdの文字数上限、フローズンスナップショットパターン、メモリツールアクション(addreplaceremove)、保存すべき内容と省略すべき内容、メモリとセッション検索の比較、8つの外部メモリプロバイダー一覧(Honcho、OpenViking、Mem0、Hindsight、Holographic、RetainDB、ByteRover、Supermemory)の主要ソース。 

  13. Nous Research、Hermes Agentユーザーガイド内の“Personality & SOUL.md”SOUL.mdの挙動(HERMES_HOMEに置かれる、上書きされない、システムプロンプト内のスロット#1、組み込み前にセキュリティスキャン)、SOUL.mdとAGENTS.mdの違い、組み込みパーソナリティ一覧(helpfulからhypeまで14種類)、config.yaml内のカスタムパーソナリティ、/personalityオーバーレイパターン、プロンプトスタック全体の組み立て順序の主要ソース。 

  14. Nous Research、Hermes Agentガイドおよびリファレンス内の“Use MCP with Hermes”およびMCP Config Referenceconfig.yaml内のmcp_servers:設定形式(commandargsenvフィールド付き)のソース。 

  15. Hermes Agent v0.8.0リリースノート。2026年4月8日。バックグラウンドプロセス自動通知、Nous Portalで無料のMiMo v2 Pro、プラットフォーム横断のライブ/model切替、Google AI Studioネイティブプロバイダー、Qwen OAuth、非アクティビティベースのタイムアウト、Slack/Telegramでの承認ボタン、MCP OAuth 2.1 PKCE、集中ロギング、プラグインシステム拡張。 

  16. 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 backuphermes import/debug + hermes debug share、サポートプラットフォーム16種。487コミット、269マージPR、24コントリビューター。 

  17. Hermes Agent v0.12.0リリースノート。2026年4月30日。「The Curatorリリース」。skillライブラリを評価・剪定・統合する自律バックグラウンドCuratorが、ゲートウェイのcronティッカー上で7日サイクル(デフォルト)で動作。自己改善ループのアップグレード:ルーブリックベースの評価、能動的更新バイアス、適切なランタイム継承、メモリとskillに制限されたスコープ付きtoolset。新規推論プロバイダー4種:GMI Cloud、Azure AI Foundry、MiniMax OAuth、Tencent Tokenhub。LM Studioがファーストクラスに昇格。リモートモデルカタログマニフェストがリリースなしで自動更新。新規メッセージングプラットフォーム2種:Microsoft Teams(19番目、プラガブルゲートウェイアーキテクチャ経由)とTencent Yuanbao(18番目、ネイティブテキスト+メディア)。バンドルskill付きPKCE OAuthによるネイティブSpotify、通話と文字起こしのためのGoogle Meetプラグイン、PiperローカルMCPプロバイダー。デフォルトでComfyUI v5 + TouchDesigner-MCP同梱。新skill: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リリースタグ。 

  18. Hermes Agent v0.13.0リリースノート。2026年5月7日。「The Tenacityリリース」。ハートビート、再取得、ゾンビ検出、ハルシネーションゲート、タスクごとのmax_retries、マルチプロジェクトボード機能を備えたマルチエージェントKanbanボード。ターン予算が設定可能なクロスターン目標ロック用/goalスラッシュコマンド(Ralpループのプリミティブ)。video_analyzeツール、Gemini優先で互換マルチモーダル拡張可能。ボイスクローン機能付きxAI Custom Voices MCPプロバイダー。7言語i18n:zh-Hans、ja、de、es、fr、uk、tr(CLI + ゲートウェイメッセージ;ドキュメントはzh-Hansのみ)。プラガブルアダプターパターンを介した20番目のメッセージングプラットフォームとしてGoogle Chat、汎用env_enablement_fncron_deliver_env_varプラグインフック付き;IRCとMicrosoft Teamsを同パターンに移行。プラガブルサードパーティプロバイダー用のProviderProfile ABC + plugins/model-providers/。ゲートウェイ再起動、/update、ソースファイル再読込をまたぐセッション自動再開。実プルーニング、ディスクガードレール、孤立シャドウリポジトリなしを備えたCheckpoints v2の単一ストア書き直し。8つのP0セキュリティクロージャー:シークレットリダクションのデフォルト有効化、Discordクロスギルド DMバイパス(CVSS 8.1、ロール許可リストをギルドスコープに)、WhatsAppがデフォルトで見知らぬ相手を拒否+セルフチャットでは応答しない、MCP OAuth認証情報保存のTOCTOU、CLI auth.json認証情報書き込み時のTOCTOU、ハイブリッドルーティングにおけるブラウザのクラウドメタデータSSRFフロア、cron組み立て済みプロンプトのプロンプトインジェクションスキャン(skillコンテンツを含む)、hermes debug shareログコンテンツのアップロード時リダクション。その他の注目項目:Python/JSON/YAML/TOMLの書き込み後リンティング、cronのno_agentスクリプト専用ウォッチドッグモード、Slack/Telegram/Mattermost/Matrix/DingTalk全体のプラットフォーム許可リスト、MCP強化(SSEトランスポート、OAuthフォワーディング、画像結果のMEDIAタグ化)。v0.12.0以降の統計:864コミット、588マージPR、829ファイル変更、295コミュニティコントリビューター、282イシュークローズ(P0が13、P1が36)。 

  19. Hermes Agent v0.11.0リリースノート。2026年4月23日。「The Interfaceリリース」 — 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;プラグイン面の拡張(スラッシュコマンド、ツールディスパッチ、実行ブロック、結果変換);プロンプトキャッシュを壊さずに次のツールコール後にコンテキストを注入する実行中エージェントのナッジ用/steer <prompt>;Pythonプラグインなしでライフサイクルイベントを扱うシェルフック;ペイロードをプラットフォームチャットに直接転送するwebhook直接配信モード;オーケストレーターロール+設定可能なスポーン深度+ファイル協調を備えたよりスマートな委譲;ダッシュボードプラグインシステム、ライブテーマ切替、i18n、モバイルレスポンシブ。v0.9.0以降の統計:1,556コミット・761マージPR・1,314ファイル変更・224,174挿入・29コミュニティコントリビューター。関連:Hermes Agent v0.11.0 GitHubリリースタグ。 

  20. Hermes Agent v0.10.0リリースノート。2026年4月16日。「The Tool Gatewayリリース」。Nous Portal有料サブスクライバー向けのNous Tool Gateway統合 — Firecrawl Web検索、FAL/FLUX 2 Pro画像生成、OpenAI MCP、Browser Useブラウザ自動化への管理アクセスを追加APIキーなしで提供。新しいuse_gateway設定フィールドによるツールごとのオプトイン。両方が設定されている場合、ランタイムは直接APIキーよりもゲートウェイを優先。hermes toolsおよびhermes statusとの完全統合。非推奨のHERMES_ENABLE_NOUS_MANAGED_TOOLS env変数を置き換え。実装:@jquesnelle(emozilla)。Hermes Agent CLIはMITライセンスのまま完全オープンソース;ゲートウェイは既存のPortalサブスクリプション製品との統合であり、CLIへのペイウォールではない。関連:Nous Portal(サブスクリプション価格とサインアップ)。 

NORMAL hermes.md EOF