Hermes Agent

Nous Research — 経験からスキルを生み、セッションを越えてユーザをモデル化するエージェント

1 — 概要

Hermes Agent は Nous Research が公開する Python 製の AI エージェント。単発のチャットではなく、スキルの自動生成・改善、永続メモリと会話検索、組み込み cron とプラットフォームへの配信、隔離サブエージェントの並列起動、マルチチャネル Gateway、ターミナル実行バックエンドの切替を一体で持つ。モデルプロバイダは固定されず、hermes model で切り替え可能。

学習ループスキル生成・改善
200+OpenRouter モデル等
7 バックエンドlocal〜Vercel Sandbox
agentskills.ioスキル互換

このページは NousResearch/hermes-agent の README、pyproject.toml、TUI と RL 環境のドキュメントをもとに、理解に必要な構造へ圧縮している。詳細仕様は公式ドキュメントを参照。

2 — 学習とメモリ

README が強調するのは「経験から学ぶ」一連の流れだ。複雑タスクのあとにスキルを自動生成し、利用中に内容を改善する。メモリはエージェント側でキュレーションされ、必要に応じてナッジされる。

  • セッション検索: FTS5 ベースの検索に LLM 要約を組み合わせ、過去会話を引き戻す。
  • ユーザモデル: Honcho による弁証法的ユーザモデリング(README 記載)。
  • 定時オートメーション: 組み込みスケジューラで任意プラットフォームへジョブ結果を配信(日次レポートやバックアップ等を自然言語で記述)。
  • 標準: agentskills.io オープン標準との互換。

README の機能表では、隔離されたサブエージェントを並列に走らせたり、Python からツールを RPC 経由で呼び出して多段パイプラインを短いターンに畳む、といった委譲・並列化の説明もある。

バッチ軌道生成、Atropos RL 連携、軌道圧縮など、ツール呼び出しモデル向けの研究機能も README に列挙されている。

3 — モデルと拡張

README は「好きなモデルを使える」ことを前面に出している。Nous Portal、OpenRouter(200+ モデル)、NovitaAI(Model API / Agent Sandbox / GPU Cloud)、NVIDIA NIM、Xiaomi MiMo、z.ai/GLM、Kimi/Moonshot、MiniMax、Hugging Face、OpenAI、独自エンドポイントを切り替えられる。

Providershermes model でプロバイダとモデルを変更。OpenAI 互換 API だけに閉じない。
Extraspyproject.toml は messaging、honcho、mcp、acp、bedrock、mistral、web などを optional dependency として分離。
Scriptshermes、hermes-agent、hermes-acp の CLI エントリを提供。
設計の読みどころ: core は軽く保ち、チャネル・音声・MCP・ACP・クラウド実行・研究用途は extras で足す。利用環境の差分を「インストール時の選択」に押し出している。
4 — CLI とメッセージング Gateway

対話の起点は ターミナル UI(hermes)か、Gateway(hermes gateway)経由のメッセージングのどちらか。起動後は多くのスラッシュコマンドが共通。

操作CLIメッセージング
会話開始hermesgateway setup → start → ボットへ送信
新規スレッド/new / /reset同左
モデル変更/model [provider:model]同左
スキル/skills / /<skill>同左
コンテキスト圧縮 / 利用状況/compress、/usage、/insights [--days N]/compress、/usage、/insights [days]
中断Ctrl+C または新規メッセージ/stop または新規メッセージ
プラットフォーム: CLI 説明では Telegram、Discord、Slack、WhatsApp、Signal、メールから Gateway 越しに操作できる旨が README にある。音声メモの文字起こしやチャネル間の会話連続性も記載。公式ドキュメントの Gateway 章では Home Assistant も扱う。
5 — React + Ink TUI

ui-tui/README.md では、Hermes の TUI は React + Ink で画面を持ち、Python 側の tui_gateway がセッション、ツール、モデル呼び出し、コマンド処理を担うと説明されている。

UI statetranscript、streaming、queued messages、session lifecycle、tool progress、slash command、completion を Ink ツリーに合成する。
Prompt branchesapproval.request、clarify.request、sudo.request、secret.request などの構造化入力をブロッキング分岐として扱う。
6 — 実行環境(ターミナルバックエンド)

エージェントの実行環境はローカルからクラウドまで選択できる。README は 7 種のターミナルバックエンド(local、Docker、SSH、Singularity、Modal、Daytona、Vercel Sandbox)を列挙する。Daytona と Modal はアイドル時に環境を休止でき、セッション間のコストを抑えられる旨が強調されている。

バックエンド想定用途のイメージ
local開発機・ワークステーション上のシェル
Dockerコンテナ隔離
SSHリモート VM
SingularityHPC / コンテナ環境
Modalサーバレス Python 実行(休止で低コスト)
Daytonaクラウド開発環境・休止可能な実行
Vercel Sandboxサーバレス実行(README の第 7 バックエンド)
7 — 研究環境

environments/README.md は、Hermes のツール呼び出し能力を Atropos の RL 訓練・評価ループに接続する層として environments/ を説明している。通常の会話エージェントだけでなく、ツール利用モデルの評価・SFT データ生成・RL 訓練に転用できる。

層役割
HermesAgentBaseEnvTerminal backend、tool resolution、agent loop、ToolContext を Atropos の BaseEnv に接続。
HermesAgentLoopmessages + tools を送信し、tool_calls を実行し、結果を会話に戻す multi-turn ループ。
ToolContext報酬関数から同じ rollout の terminal/file/web/browser 状態を検証できるハンドル。
tool_call_parsersVLLM の raw output から Hermes、Mistral、Qwen、DeepSeek、Kimi、GLM 形式の tool_calls を復元。
二相構成: Phase 1 は OpenAI 互換サーバで評価・SFT データ生成、Phase 2 は VLLM ManagedServer で token/logprob を扱う本格 RL 訓練という切り分け。
8 — クイックスタート

公式ワンライナーは Linux / macOS / WSL2 / Termux 向け(install.sh)。ネイティブ Windows は README 上 早期ベータとして PowerShell 用 install.ps1 が用意されている(最も検証が厚いのは WSL2 上の Linux 手順)。ブラウザのダッシュボード内チャットは POSIX PTY 前提のため README では WSL2 が必要と明記されている。Termux では .[all] ではなく .[termux] 系の手動手順が案内されている。

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc   # または source ~/.zshrc
hermes

Windows(PowerShell)の例:

irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1 | iex

よく使うコマンド

hermes              # 対話 UI
hermes model        # プロバイダ・モデル選択
hermes tools        # ツール有効化
hermes gateway      # メッセージング Gateway
hermes setup        # セットアップウィザード
hermes claw migrate # OpenClaw からの移行(--dry-run 等)
hermes update       # 最新版へ更新
hermes doctor       # 診断

hermes claw migrate で設定・メモリ・スキル・API キー等をインポート可能。README にプリセットと --dry-run が記載されている。