Hermes Agent
目次
Hermes Agent を使う、設定する、見た目を変える、拡張する、束ねるための skill です。
skill の情報
| 提供元 | 最初から入っています |
| パス | skills/autonomous-ai-agents/hermes-agent |
| バージョン | 3.1.0 |
| 作者 | Hermes Agent + Teknium |
| ライセンス | MIT |
| 対応プラットフォーム | linux, macos, windows |
| タグ | hermes, setup, configuration, multi-agent, spawning, cli, gateway, themes, skins, desktop-plugins, tui-widgets, petdex, development |
| 関連 skill | claude-code, codex, opencode |
参考: SKILL.md 全文
Hermes Agent
Hermes Agent は Nous Research が開発したオープンソースの AI エージェント基盤で、ターミナル、ネイティブのデスクトップアプリ、メッセージ系のプラットフォーム、IDE の上で動きます。Claude Code(Anthropic)、Codex(OpenAI)、OpenClaw と同じ系統のもので、ツール呼び出しで自分の環境を操作しながら、コーディングや作業をこなす自律型のエージェントです。Hermes はどの LLM プロバイダとも組み合わせられ(OpenRouter、Anthropic、OpenAI、Google、DeepSeek、xAI、ローカルのモデル、そのほか 20 以上)、Linux、macOS、Windows、WSL で動きます。
Hermes ならではの点は次のとおりです。
- skill を通じて自分で成長する — 再利用できる手順を skill として保存し、それが次のセッションに読み込まれることで、Hermes は経験から学びます。
- セッションをまたいで記憶が続く — 利用者が誰か、好み、環境の詳細、学んだことを覚えています。記憶の保存先は差し替えられます。
- 複数のプラットフォームをつなぐゲートウェイ — 同じエージェントが Telegram、Discord、Slack、WhatsApp、iMessage、Signal、Matrix、Teams、メール、そのほか十数のプラットフォームで、チャットだけでなくツールをすべて使える状態で動きます。
- 入口がたくさんある — 同じエージェントの中核が、CLI、Ink の TUI、ネイティブの Electron デスクトップアプリ、Web のダッシュボード、IDE 向けの ACP サーバー(VS Code / Zed / JetBrains)を動かします。
- プロバイダを選ばない — 作業の途中でモデルもプロバイダも入れ替えられます。複数の API キーは資格情報のプールが自動で切り替えます。
- プロファイル — 設定、セッション、skill、記憶を分けたまま、複数の Hermes を独立して動かせます。
- 拡張も着せ替えも自由 — プラグイン、MCP サーバー、独自ツール、Webhook のトリガー、cron によるスケジュール実行、すべての画面の見た目を変えるスキン、デスクトップの UI プラグイン、TUI のウィジェット、ペットのマスコットがあります。
この skill は入口です。 本文が扱うのは、Hermes とは何か、使い始め方、子プロセスの起動と取りまとめ、そして絶対に破ってはいけない決まりごとです。それ以外は参照ファイルにあります。答える前に、下の表から該当する参照ファイルを読み込んでください。 細かい質問に本文だけで答えてはいけません。
ドキュメント: https://hermes-agent.nousresearch.com/docs/
扱う範囲と裏取り
この skill は簡潔な操作の手引きであって、Hermes のすべての機能についての完全な正本ではありません。ある機能・コマンド・設定がここにも参照ファイルにも書かれていなくても、それを「存在しない証拠」として扱わないでください。「ありません」と答える前に、動いているリポジトリと公式ドキュメントを確かめてください。
裏を取るのに向いている先は次のとおりです。
- CLI のコマンド:
hermes --help、hermes <command> --help、hermes_cli/main.py - 利用者向けドキュメント: https://hermes-agent.nousresearch.com/docs/
- ソースツリー: https://github.com/NousResearch/hermes-agent
使い始める
# Install (shell installer — sets up uv, Python, the venv, and the launcher)
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
# Interactive chat (default surface; set display.interface: tui to launch the Ink TUI instead)
hermes
# Single query
hermes chat -q "What is the capital of France?"
# Setup wizard / pick model+provider / health check
hermes setup
hermes model
hermes doctor
# Other surfaces
hermes desktop # launch the native desktop app (alias: hermes gui)
hermes dashboard # web admin panel + embedded chat
hermes proxy # OpenAI-compatible local proxy backed by your OAuth provider主なファイルの場所
~/.hermes/config.yaml Main configuration (settings — never secrets)
~/.hermes/.env API keys and secrets ONLY (under $HERMES_HOME if set)
$HERMES_HOME/skills/ Installed skills
~/.hermes/skins/ Custom themes (see references/themes.md)
~/.hermes/desktop-plugins/ Desktop app UI plugins (see references/desktop-plugins.md)
~/.hermes/tui-widgets/ TUI widget apps (see references/tui-widgets.md)
~/.hermes/pets/ Installed pet mascots (see references/petdex.md)
~/.hermes/state.db Canonical session store (SQLite + FTS5)
~/.hermes/sessions/ Gateway routing index, request dumps, *.jsonl transcripts
~/.hermes/logs/ Gateway and error logs
~/.hermes/auth.json OAuth tokens and credential pools
~/.hermes/hermes-agent/ Source code (if git-installed)プロファイルは ~/.hermes/profiles/<name>/ の下に同じ構成で置かれます。プロファイルが有効なときは、本当のホームを $HERMES_HOME から解決してください。~/.hermes を直接書かないこと。
振り分け表 — 作業に合った参照ファイルを読み込む
| 利用者が知りたいこと | 読み込むもの |
|---|---|
| CLI のコマンド、サブコマンド、フラグ、「X はどう実行するのか」 | references/cli-reference.md |
| セッション中に使うスラッシュコマンド | references/slash-commands.md |
| プロバイダの設定、API キー、OAuth | references/providers-and-models.md |
| config.yaml の各セクション、ツールセット、音声 / STT / TTS | references/configuration.md |
| AGENTS.md / .hermes.md / CLAUDE.md といったプロジェクトの決まりごと | references/project-context-files.md |
| 秘密情報の伏せ字化、個人情報、承認モード、「権限をリセットしたい」 | references/security-privacy.md |
| 委任、cron、キュレーター、かんばん | references/background-systems.md |
MCP サーバー(追加、カタログ、hermes mcp) |
references/native-mcp.md |
| Webhook の経路とイベント起点の実行 | references/webhooks.md |
| 独自のテーマ / スキン(「synthwave のテーマ」「金色の ● を変えたい」) | references/themes.md + templates/skin.yaml |
| デスクトップアプリの UI 要素(ペイン、ウィジェット、⌘K のコマンド、ページ) | references/desktop-plugins.md + templates/plugin.js |
| TUI の常設パネルやモーダルのウィジェット(ティッカー、時計、ダッシュボード) | references/tui-widgets.md + templates/clock.mjs |
| ペットのマスコット — 導入、選択、大きさ、不具合の切り分け | references/petdex.md |
| Windows 固有の問題(キーバインド、WinError 10106、BOM) | references/windows-quirks.md |
| 不具合の切り分け: 音声、ツールが出てこない、ゲートウェイ、補助モデル | references/troubleshooting.md |
| コードで貢献する: ツール、スラッシュコマンド、テストの追加 | references/contributor-guide.md |
| delegate_task が「N 件で頭打ちになる」という報告 | references/delegate-task-concurrency-diagnosis.md |
| 「アプリ X から Nous Portal のサブスクや OAuth を使えるか」 | references/portal-auth-for-third-party-apps.md |
見た目まわりには、参照ファイルを読み込まなくても常に成り立つ決まりが 2 つあります。スキンはエージェント自身が適用します(hermes config set display.skin <name>。すべての画面が 1 秒ほどで塗り替わります。/skin を実行するよう利用者に言わないでください)。そして 色を 1 つだけ変えたいときは、いま有効なスキンを編集します(hermes skin set <key> <hex>)。default を複製して作り直してはいけません。配色が失われ、背景も初期状態に戻ります。
Hermes をもう 1 つ立ち上げる
Hermes のプロセスを、完全に独立した子プロセスとして追加で動かせます。セッションもツールも環境も別になります。
delegate_task とどう使い分けるか
delegate_task |
hermes プロセスの起動 |
|
|---|---|---|
| 分離 | 会話は別、プロセスは同じ | プロセスごと完全に独立 |
| 続く時間 | 数分(親のループの中で終わる) | 数時間から数日 |
| 使えるツール | 親のツールの一部 | すべてのツール |
| 対話 | できない | できる(PTY モード) |
| 向く用途 | 手早く並行させる小さな作業 | 長く自律的に進める作業 |
一回きりで動かす
terminal(command="hermes chat -q 'Research GRPO papers and write summary to ~/research/grpo.md'", timeout=300)
# Background for long tasks:
terminal(command="hermes chat -q 'Set up CI/CD for ~/myapp'", background=true)対話的な PTY モード(tmux 経由)
Hermes は prompt_toolkit を使っており、本物の端末を必要とします。対話的に立ち上げるときは tmux を使ってください。
# Start
terminal(command="tmux new-session -d -s agent1 -x 120 -y 40 'hermes'", timeout=10)
# Wait for startup, then send a message
terminal(command="sleep 8 && tmux send-keys -t agent1 'Build a FastAPI auth service' Enter", timeout=15)
# Read output
terminal(command="sleep 20 && tmux capture-pane -t agent1 -p", timeout=5)
# Send follow-up
terminal(command="tmux send-keys -t agent1 'Add rate limiting middleware' Enter", timeout=5)
# Exit
terminal(command="tmux send-keys -t agent1 '/exit' Enter && sleep 2 && tmux kill-session -t agent1", timeout=10)複数のエージェントを組み合わせる
# Agent A: backend
terminal(command="tmux new-session -d -s backend -x 120 -y 40 'hermes -w'", timeout=10)
terminal(command="sleep 8 && tmux send-keys -t backend 'Build REST API for user management' Enter", timeout=15)
# Agent B: frontend
terminal(command="tmux new-session -d -s frontend -x 120 -y 40 'hermes -w'", timeout=10)
terminal(command="sleep 8 && tmux send-keys -t frontend 'Build React dashboard for user management' Enter", timeout=15)
# Check progress, relay context between them
terminal(command="tmux capture-pane -t backend -p | tail -30", timeout=5)
terminal(command="tmux send-keys -t frontend 'Here is the API schema from the backend agent: ...' Enter", timeout=5)セッションを再開する
# Resume most recent session
terminal(command="tmux new-session -d -s resumed 'hermes --continue'", timeout=10)
# Resume specific session
terminal(command="tmux new-session -d -s resumed 'hermes --resume 20260225_143052_a1b2c3'", timeout=10)こつ
- 小さい作業には
delegate_taskを優先する — プロセスをまるごと立ち上げるより負担が軽くて済みます - コードを編集させるエージェントを立ち上げるときは
-w(worktree モード)を使う — git の衝突を防げます - 一回きりのモードではタイムアウトを設定する — 込み入った作業は 5〜10 分かかることがあります
- 投げっぱなしでよいときは
hermes chat -qを使う — PTY は要りません - 対話的なセッションには tmux を使う — 生の PTY モードだと、prompt_toolkit との間で
\rと\nの食い違いが起きます - 決まった時刻に動かしたいときは、プロセスを立ち上げるのではなく
cronjobツールを使ってください。配信と再試行まで面倒を見てくれます - 「delegate_task が N 件で頭打ちになる」という報告 —
references/delegate-task-concurrency-diagnosis.mdを参照してください。Hermes には頭打ちになる経路が実際に 3 つあります。そのどれも起きていないなら、モデルが自分で手加減したうえで「ランタイムの上限だ」と理由づけしています。 - 「外部のアプリから Nous Portal のサブスクや OAuth を使えるか」 —
references/portal-auth-for-third-party-apps.mdを参照してください。3 つの層(プラグインなのかアプリなのか、Portal が実際に何を公開しているのか、ローカルの仲介プロキシという選択肢)を順に説明してください。
入口の一覧(ざっくり把握するために)
- デスクトップアプリ(
hermes desktop/hermes gui)— macOS / Linux / Windows 向けのネイティブな Electron アプリです。逐次表示されるチャット、セッションの一覧、Cmd+K のパレット、ファイルのドラッグ & ドロップ、OS の通知、プロファイルごとのリモートゲートウェイへのログインに対応します。UI プラグインで拡張できます —references/desktop-plugins.md。 - Web ダッシュボード(
hermes dashboard)— 管理画面の全部入りです。メッセージのチャンネル、MCP のカタログ、Webhook、記憶、プロファイルの作成、それにhermes --tuiを埋め込んだチャットが使えます。OAuth かトークンの認証で守られています。 - Ink の TUI(
hermes --tuiまたはdisplay.interface: tui)— ウィジェットを常設できるターミナル UI です —references/tui-widgets.md。 - OpenAI 互換のプロキシ(
hermes proxy)— ログイン中の OAuth プロバイダをそのまま使える、ローカルの OpenAI API です。Codex CLI、Aider、Cline、あるいは自作のスクリプトをここに向ければ、API キーは要りません。
絶対の決まりごと(何を読み込んでいようと破らないこと)
- プロンプトのキャッシュを壊さないこと — 会話の途中で、過去のやり取り、ツールセット、システムプロンプトを変えてはいけません。例外は文脈の圧縮だけです。
- メッセージの役割は交互に — assistant が 2 回続いたり、user が 2 回続いたりしてはいけません。繰り返してよいのは
toolの結果だけです。 - 秘密情報は
.env、設定はconfig.yaml— 資格情報でない設定を.envに書くよう利用者に言ってはいけません。 - プロファイルを壊さないパスの解決 — コードの中では
get_hermes_home()、セッションの中でパスを解決するときは$HERMES_HOMEを使います。 config.yamlを利用者の代わりに手で編集しないこと —hermes config set KEY VALを使ってください。インデントが 1 つずれただけでファイルが壊れ、動いているゲートウェイが止まります。