Hermes Agent 入門 — 初心者のためのハンズオンガイド|2026-09 版
第 3 章

インストールと初期設定 — 1 コマンドで始める

install.sh が実際にやること、setup の 3 モード、4 系統のモデルプロバイダを理解して導入する

この章で分かること

これは何か

Hermes Agent の導入では、大きく分けて 3 つの入り口から触ることになる。

対応 OS は次の表のとおりで、Windows だけはワンライナーの中身(PowerShell 版)が別物になる。~/.hermes/ 配下のファイル配置全体については 第 2 章 で地図として扱うので、この章ではインストールと設定に絞る。

対応 OSインストール方法実行のしかた
Linux / macOS / WSL2 / Termux(Android)install.shターミナルで curl | bash を直接実行
Windows(ネイティブ)install.ps1PowerShell で iex (irm ...) を実行。Windows 10/11 は公式サポート階層の Tier 1(ダッシュボードの一部機能など制限あり)

いつ使うのか

この章の操作が必要になる場面は主に 4 つある。

最初にどのモードを選ぶべきかは、次の表で判断できる。3 モードの中身は 仕組みの解説の該当節 で詳しく扱う。

モード対象ユーザー必要なもの有効になる機能
Quick Setup(Nous Portal)初めての人・すぐ試したい人Nous アカウント(OAuth ログインのみ、API キー不要)モデル + Tool Gateway(Web/画像生成/TTS/ブラウザ)一式
Full Setup自分の API キーやカスタム環境を使いたい人各プロバイダの API キー等全プロバイダ・ツール・オプションを個別に選択
Blank Slate最小構成から始めたい・挙動を完全に把握したい人特になしprovider & model・File Operations・Terminal のみ(Web・ブラウザ・コード実行・vision・memory・delegation・cron・skills・plugins・MCP は全部無効)
迷ったら Quick Setup
API キーの取得・課金設定を後回しにできるので、まず動く感触をつかみたいだけなら Quick Setup が最短距離になる。後から hermes setup model でいつでもプロバイダを変更できる。

install.sh は実際に何をしているか

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash のようなワンライナーは、パイプの先でどんなコードが走るのか実行前には見えない。これが初心者にとって一番の不安要素のはずなので、ここでは scripts/install.sh(全 3,847 行)の関数を順番に追って、何が起きるかを先に種明かししておく。

# Linux / macOS / WSL2 / Termux(Android)
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

内部では次の関数がこの順で呼ばれる: detect_os → install_uv → check_python → check_git・check_cxx_compiler・check_node → install_system_packages → clone_repo → setup_venv → install_deps → setup_path → run_setup_wizard。図 3-1 は、これを「検出」「導入」「配置」の 3 段階に整理した流れだ。

1. 環境を検出 OS・Python・Node 等 2. 依存を導入 uv・git・ffmpeg 等 3. リポジトリ clone ~/.hermes/hermes-agent 4. venv 構築 Python 3.11 5. PATH 追加 shell の rc ファイル 6. setup ウィザード 3 モードを選択 次へ 次へ 次へ 次へ 次へ
図 3-1 install.sh は「検出」「依存導入」「clone」「venv 構築」「PATH 追加」「setup 起動」の 6 段階を順に進む。途中で失敗しても再実行すれば続きから進める設計になっている。

各段階の実際の中身は次のとおり。

このほか、ブラウザ自動化用の Playwright/Chromium や Computer Use 用ドライバも既定でここに含めてインストールされる(--skip-browser・--skip-computer-use で個別に省略可能)。実際に使うのは 第 11 章 になる。インストール完了後にゲートウェイを起動するかを聞かれることもあるが、詳細は 第 7 章 に譲る。

Windows ネイティブ版の install.ps1 は同じ役割を PowerShell で担うが、bash.exe を実行するために PortableGit(約 45MB)を %LOCALAPPDATA%\hermes\git に展開する点が異なる。README には簡略化された「MinGit」という表記があるが、スクリプト自体のコメントには「MinGit には bash.exe が入っていないため使えない」と明記されており、32bit Windows など最終手段の場合を除けば実際に使われるのは PortableGit の方だ。

クローンやウィザードを伴わず特定の依存だけを入れ直したいときは --ensure node,browser,ripgrep,ffmpeg のように対象を指定できる。主なオプションは --no-venv・--skip-setup・--skip-browser・--no-skills(バンドル済みスキルを一切入れず、以後の hermes update でも注入しないよう記録する)・--branch・--commit・--dir・--hermes-home がある。導入を丸ごとやり直したいときは hermes uninstall(--dry-run で削除対象だけ確認、--full で設定・データごと削除)が使える。hermes update・hermes doctor・アンインストールの詳細な運用は 第 13 章 にまとめる。

setup ウィザードの3モード

新規インストール時、または hermes setup を素で実行したときに提示される 3 モードは、単なる「簡単/詳しい」の違いではなく、あとから何が有効になるかという設定の中身そのものが変わる。図 3-2 はどのユーザーがどれを選ぶべきかを示す。

hermes setup 初心者向け 上級者向け 最小構成 Quick Setup Nous Portal / 無料 OAuth Full Setup 自前の API キーで全設定 Blank Slate File/Terminal のみ有効
図 3-2 同じ「hermes setup」の入り口から、目的に応じて 3 方向に分岐する。Blank Slate だけは選ばなかった機能を将来も読み込ませないよう記録が残る点が他の 2 つと質的に違う。

とくに Blank Slate は「あとから機能を絞る」のではなく「最初から機能を読み込ませない」設定であることに注意したい。選ばなかったツールセットは agent.disabled_toolsets に、有効な CLI ツールセットは platform_toolsets.cli に明示リストとして書き込まれるため、hermes update でバージョンを上げても、選んでいない機能(Web・ブラウザ・コード実行・vision・memory・delegation・cron・skills・plugins・MCP サーバ)は勝手に有効化されない。圧縮(compression)・チェックポイント・スマートルーティング・メモリ取得(memory capture)も無効になる、文字どおりの最小構成だ。

全体ウィザードのほかに、セクション単位でやり直すこともできる。

hermes setup model|tts|terminal|gateway|tools|telemetry|agent
# フラグ: --non-interactive / --reset / --reconfigure / --quick / --portal

たとえば「モデルだけ変えたい」なら hermes setup model、「ゲートウェイだけ設定し直したい」なら hermes setup gateway(詳細は 第 7 章)というように、丸ごとやり直さずに部分的に直せる。

モデルプロバイダ4系統

Hermes が対応するモデルプロバイダのプラグインは plugins/model-providers/ 配下に 30 種類以上あるが、初心者がまず押さえるべき系統は次の 4 つに整理できる。

プロバイダ無料かAPI キー要否データの行き先オフライン可否
Nous Portal無料(OAuth ログインのみ)不要Nous Research の推論 API + Tool Gateway 経由の各パートナー(Firecrawl / FAL / OpenAI TTS / Browser Use / Modal)不可(常時ネット接続が必要)
OpenRouter有料(従量課金)必要(OPENROUTER_API_KEY)OpenRouter 経由で選んだモデルの提供元不可
カスタム OpenAI 互換エンドポイントサーバー次第サーバーの認証方式次第指定した base_url(自前サーバーやクラウド API)サーバーの置き場所次第
ローカル vLLM(custom のエイリアス)無料(自分の GPU/CPU を使う)不要な場合が多い(任意の文字列でよい)自分のマシン内で完結可(ネット接続なしで動く)

図 3-3 は「リクエストがどこへ出ていくか」を示したものだ。ローカル vLLM だけが破線の境界を越えず、自分のマシンの中で完結する。

ローカル インターネット Hermes CLI あなたのマシン ローカル vLLM 等 custom プロバイダ Nous Portal OAuth・無料 OpenRouter API キー・従量課金 カスタム API 自分のサーバー
図 3-3 破線より右はインターネット越しのやり取りが発生する。ローカル vLLM への矢印だけが境界を越えていない点に注目。

Nous Portal は hermes setup --portal の一発で、ブラウザでの OAuth ログイン → トークンを auth.json に保存 → モデル選択 → config.yaml への反映 → Tool Gateway(Web 検索・画像生成・TTS・ブラウザ自動化のルーティング)有効化までを済ませる。Portal 経由で使えるモデルは Anthropic・OpenAI・Google Gemini・DeepSeek・Qwen など 280 以上あるが、公式ドキュメントは「Hermes 4 系モデル自体はチャット・推論向けのチューニングであり、高速なツールコールを繰り返すエージェント用途には非推奨」と明記している。

OpenRouter は OPENROUTER_API_KEY という環境変数 1 本で 200 以上のモデルにアクセスできるプロバイダで、hermes model から選ぶか、キー自体は次のように設定する。

hermes config set OPENROUTER_API_KEY sk-or-xxxxxxxxxxxxxxxx
# キーの種類を自動判別し、秘匿情報として .env 側に保存される

カスタム OpenAI 互換エンドポイントとローカル vLLM は、内部的には同じ custom プロバイダの別名にすぎない。専用の「vllm プロバイダ」は存在せず、Ollama・llama.cpp・vLLM・GLM 系エンドポイントなどはすべて custom(エイリアス: ollama / local / vllm / llamacpp)としてまとめて設定する。

hermes model
# Select: Custom endpoint (enter URL manually)
# API base URL: http://localhost:11434/v1
# API key: ollama
# Model name: qwen3.5:27b
# Context length: 64000   ← これが Hermes の最小値

# 対応する config.yaml:
# model:
#   default: qwen3.5:27b
#   provider: custom
#   base_url: http://localhost:11434/v1
最小コンテキスト長は 64,000 トークン
Hermes は起動時、コンテキスト窓が 64,000 トークン未満のモデルを拒否する。ローカルモデルを小さめのコンテキスト長で動かしている場合は、この下限を満たすよう設定を見直す必要がある。

設定ファイルの場所と優先順位

~/.hermes/ の中で、この章に直接関わるのは次の 3 ファイルだ(memories/・skills/・cron/・sessions/ 等は 第 5 章 以降で扱う)。

設定値がどこから読まれるかには優先順位があり、図 3-4 のように「上の層に値が無ければ下の層を見る」というカスケードになっている。

CLI 引数 起動時のオプション(最優先) config.yaml モデル・バックエンド等の設定 .env API キー等の秘匿情報 組み込みの既定値 Hermes 内蔵のデフォルト 無指定なら 無指定なら 無指定なら
図 3-4 CLI 引数が最優先で、指定が無ければ config.yaml、それも無ければ .env、最後は組み込みの既定値が使われる。

この優先順位を踏まえると、「秘匿情報は .env、それ以外は config.yaml」という役割分担がなぜ成立するかも見えてくる。.env はいちばん下に近い層なので、config.yaml や CLI 引数で明示的に上書きしない限り安定してそこから読まれる、という設計だ。値の出し入れは hermes config サブコマンドで行い、キーの種類ごとに保存先が自動で振り分けられる。

hermes config              # 現在の設定を表示
hermes config edit         # config.yaml をエディタで開く
hermes config get KEY      # 値を取得
hermes config set KEY VAL  # 値を設定(.env / config.yaml に自動振り分け)
hermes config unset KEY
hermes config check        # アップデート後の欠落オプションをチェック
hermes config migrate      # 欠落オプションを対話的に追加

config.yaml の中では ${VAR_NAME} という記法で環境変数を展開できる(未定義の場合はプレースホルダのまま警告が出る)。設定や依存関係が正しく揃っているかをまとめて確認したいときは hermes doctor、導入方式(git installer / Docker / NixOS のどれで入れたか)を自動判定した上でバージョンを上げたいときは hermes update を使う。どちらも普段の運用で繰り返し使うコマンドなので、詳しい読み方は 第 13 章 でまとめて扱う。

ハンズオン 3-1 install.sh を実行して hermes doctor で確認する

実行前に
このコマンドは uv・Python 3.11・Node.js・ripgrep・ffmpeg・Playwright(ブラウザ)などを合計で数百 MB 単位でダウンロードし、GitHub からリポジトリを clone し、シェルの rc ファイル(.zshrc 等)に PATH の追記を行う。実マシンへの変更が発生するので、試すだけなら仮想マシンやコンテナなど消してよい環境で行うのが安全。
  1. Linux・macOS・WSL2・Termux のいずれかのターミナルで、公式のワンライナーを実行する。
  2. 途中で hermes setup の対話ウィザードが始まったら、まずは Quick Setup を選んでおく(あとで変更できる)。
  3. インストール直後の新しいターミナル、またはシェルを再読み込みしてから hermes doctor を実行する。
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
hermes doctor

正常なら、依存関係・設定ファイル・接続性の診断結果とともに、git installer 経由で入ったことが表示される。hermes: command not found になった場合は、次の「つまずきポイント」の PATH の項目を確認する。

ハンズオン 3-2 Nous Portal で Quick Setup する

実行前に
ブラウザで Nous Portal の OAuth ログイン画面が開き、Nous アカウントとの外部連携が発生する。API キーの入力は不要だが、アカウント連携そのものは外部サービスとの接続であることを理解した上で進める。
  1. Quick Setup をまだ選んでいない場合は、次のコマンドで直接呼び出す。
  2. ブラウザが開くので、Nous アカウントでログインして認可する。
  3. ログイン後、モデル選択と Tool Gateway の有効化が自動で進む。
  4. 設定が反映されたかを確認する。
hermes setup --portal
hermes portal info

ログイン状況・サブスクリプション情報・モデルとゲートウェイのルーティングが表示されれば成功。より詳しいツールごとのルーティングは hermes portal tools で見られる。連携を解除したくなったら hermes logout がある。

ハンズオン 3-3 OpenRouter に切り替える

課金が発生する
OpenRouter は API 従量課金のプロバイダ。ここから先、Hermes を使ってモデルを呼び出すたびに料金が発生する。キーの値は画面やコード、コミットログに残さず、必ず環境変数・設定コマンド経由で扱うこと。
  1. OpenRouter のダッシュボードで取得した API キーを、値を直接見せずに登録する。
  2. hermes model を対話実行し、OpenRouter を選んで使いたいモデル(例: anthropic/claude-sonnet-4.6)を指定する。
  3. 設定できたかを確認する。
  4. 使い終えたら、意図しない課金を避けるためにキーを外しておく。
hermes config set OPENROUTER_API_KEY sk-or-xxxxxxxxxxxxxxxx
hermes doctor
hermes config unset OPENROUTER_API_KEY

後片付けとして、試すためだけに切り替えた場合は Quick Setup で作った Nous Portal 側の設定に hermes setup model から戻しておくとよい。

つまずきポイント

インストール直後に hermes: command not found
install.sh は shell の rc ファイルに PATH を追記するだけで、今開いているシェルセッションには反映しない。新しいターミナルを開くか、source ~/.zshrc(bash なら ~/.bashrc)を実行する必要がある。
手元の Node.js があるのに勝手に別の Node が使われる
対応バージョンは 22.22 以降・24.11 以降・26 以降のみ。既にシステムに Node が入っていても、この範囲を外れていれば Hermes 管理下の Node(バージョン 26)へ自動で切り替わる。「Node は入れたはずなのに反映されない」と感じたら、まずバージョン帯を疑う。
「vllm プロバイダ」を探しても見つからない
ローカル vLLM は独立したプロバイダではなく custom のエイリアス。hermes model で探すときは「Custom endpoint」を選び、base URL・API キー・モデル名を自分で入力する。
ローカルモデルのコンテキスト長が短すぎて起動失敗
Hermes は 64,000 トークン未満のコンテキスト窓を持つモデルを起動時に拒否する。小さめの量子化モデルや省メモリ設定のサーバーを使うときは、この下限を満たしているか先に確認する。

理解度チェック

Q1. Windows のネイティブ環境(WSL2 を使わない場合)で使うインストールスクリプトはどれですか?

install.ps1。iex (irm https://hermes-agent.nousresearch.com/install.ps1) を PowerShell で実行する。Windows 10/11 ネイティブは公式サポート階層の Tier 1 に含まれる(一部機能に制限あり。公式の Platform Support ドキュメントを参照)。

Q2. hermes setup の3モードのうち、無効にした機能を hermes update 後も絶対に読み込ませない構成はどれですか?

Blank Slate。選ばなかったツールセットを agent.disabled_toolsets に明示的に書き込むため、バージョンを上げても勝手に有効化されない。

Q3. 自宅で動かしているローカル vLLM サーバーに接続したいとき、hermes model ではどのプロバイダを選びますか?

Custom endpoint(custom プロバイダ)。専用の vLLM プロバイダは存在せず、Ollama・llama.cpp などと同じくエイリアスとして扱われる。

Q4. 設定の優先順位で、CLI 引数の次に読まれるのはどこですか?

config.yaml。そこにも無ければ .env、それも無ければ組み込みの既定値の順に見にいく。

Q5. Hermes が起動時にモデルを拒否する、コンテキスト長の最小値はいくつですか?

64,000 トークン。これを下回るコンテキスト窓のモデルは起動できない。

まとめ

導入が済んだら、次は実際にエージェントと対話する番だ。対話モードの画面の読み方やセッション管理は 第 4 章 で扱う。

参考リンク