hermes-agent試す? -1-

 ナル先生も飼育しているナルエビのベースになっているOpenClawでも遅まきながらやろうと思っていたら、時代はすでに進んでいて、superpowers、hermes-agent、agent-lightningのようなエージェントに移行しているのだそう。ふーん。

 なんか筋がよさそうなのは、hermes-agentかしらん。2026年4月8日にv0.8.0がリリースされたそうで、だいぶ改善しているようだ。

GitHub - NousResearch/hermes-agent: The agent that grows with you · GitHub
https://github.com/NousResearch/hermes-agent

 hermes-agentはOpenClawの設計思想を継承し記憶と自己改善を強化した後継なのだそう。

 とかいううちに、一ヶ月が経過して6月になってしまったよ。

 とりあえず入れてみるかね。

 エージェントやろうとして、いつも思うのは、なんかね、接続先のAIサービスの課金から逃げられないってことなのよね。サービス契約してお金ある程度突っ込まないと、ちっとも成果の出るようなことができない。つらい。

 2026年6月1日時点では、macOSでは公式のワンライナーで入れるのが最新・推奨ルートのようだ。最新版は公式サイト上ではHermes Agent v0.15.2と表示されている。

 macOS側で必要なのは基本的にGitだけ。公式ドキュメントでは、Python 3.11、Node.js v22、uv、ripgrep、ffmpeg などはインストーラが処理するようだ。

 前にXcode Command Line Toolsをインストールしてあるので、gitコマンド入っている。

 kinneko@kinnekonoMac-mini ~ % git --version

 git version 2.50.1 (Apple Git-155)

 インストールは、シェルスクリプトをダウンロードして、シェルで直接実行するイヤなタイプのやつ。

Hermes Agent — The Agent That Grows With You | Nous Research
https://hermes-agent.nousresearch.com/

 curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

 一応、インストールスクリプトが何をやっているか調べてみる。

 Hermes Agent本体と周辺依存を~/.hermes配下にセットアップするようだ。

 Python環境を初期化する

 環境変数でPYTHONPATHやPYTHONHOMEが設定されていると、別のPython環境を誤って参照する可能性があるためunsetする。また UV_NO_CONFIG=1 を設定して、意図しないuv.tomlやpyproject.tomlの影響を避けるようにする。

 OSを判定する

 unameコマンドでOS環境がLinux / macOS / Termux / Windowsのいずれであるのかを判定する。

 Windowsの場合はBash版ではなくPowerShell版を使うように表示して終了する。macOSではOS=macosと設定して進む。

 インストール先を決める

 macOSの通常ユーザー実行では、デフォルトで以下になるようだ。

 コード本体: ~/.hermes/hermes-agent

 設定・データ: ~/.hermes/

 コマンド: ~/.local/bin/hermes

 Linux環境でroot実行時だけ /usr/local/lib/hermes-agentなどの別レイアウトになる。

 uvをチェック・インストールする

 uvコマンドがなければ、Astral公式のインストーラを取得してインストールする。この環境にはuvはインストールしていなかったかな。

 インストールスクリプトはパイプで渡して直接実行するわけではなく、一度一時ファイルにダウンロードしてから実行するようになっている。

 Python 3.11 を用意する

 uvでPython 3.11を探し、なければuv python install 3.11でインストールする。

 Hermesのセッション検索用にSQLite FTS5が使えるかどうかを確認し、FTS5なしならuvやPython を再インストールしてインストール可能にする。

 Gitを確認・インストールする

 もし、Gitがなければ、macOSではまずHomebrewがあればbrew install git、なければ xcode-select --installを呼び出してApple Command Line Toolsのインストールを促す。

 Node.js v22 を確認・インストールする

 Node.jsがインストールされていなければ、Node.js公式配布物からv22系のmacOS用バイナリを探してダウンロードし、~/.hermes/node/に展開する。

 さらに以下に symlink を作る。

 ~/.local/bin/node

 ~/.local/bin/npm

 ~/.local/bin/npx

 ネットワーク疎通を確認する

 pypi.org/simple/とduckduckgo.com/にHTTPSでHEAD リクエストを投げて、依存パッケージ取得やWebツール用のネットワークが使えるか確認する。

 ripgrep / ffmpeg を確認・可能ならインストールする

 rgとffmpegコマンドを探して、インストールされていなければ、インストールする。

 macOSではHomebrewがあれば、brew install ripgrep ffmpegでインストールする。Homebrewがない、または失敗した場合は手動でのインストールを案内する。

 GitHubからHermes Agentをclone/updateする

 インストール先に既存のgit checkoutがあれば更新する。ローカル変更があればstashしてから更新し、あとで戻せるようにしておく。

 git fetch origin

 git checkout main

 git pull --ff-only origin main

 新規インストールでは、まず以下からSSH cloneを試し、失敗したらHTTPSでcloneを行う。

git@github.com:NousResearch/hermes-agent.git
https://github.com/NousResearch/hermes-agent.git

 Python仮想環境を作る

 ~/.hermes/hermes-agent/venvを作る。

 macOSでは、uv venv venv --python 3.11。

 Python依存を入れる

 uv.lockがあれば、まずハッシュ検証付きで入れる。

 uv sync --extra all --locked

 失敗した場合は、PyPIからの解決にフォールバックする。

 uv pip install -e ".[all]"

 uv pip install -e "."

 つまり、Hermes Agentは、editable installされる。

 editable install は、Pythonパッケージを「コピーしてインストール」するのではなく、元のソースディレクトリを参照する形でインストールする方式で、site-packagesにパッケージ本体をコピーせずに、実体はリポジトリ側に残すようなインストールになる。

 Python環境側には「このディレクトリをパッケージとして使う」という参照だけが置かれるので、Hermes Agentのソースがgit pullなどで更新されると、再インストールしなくても、そのソース変更がそのまま反映されることになる。

 Node/npm依存を入れる

 リポジトリ直下にpackage.jsonがあれば、npm installを実行する。

 TUI用にui-tui/package.jsonがあれば、そこでもnpm installを実行する。

 ブラウザ自動操作用の環境を用意する

 Google ChromeまたはChromiumが既にある場合は、それを使う設定を ~/.hermes/.envに追加する。

 macOSでは主に以下を探す。(この環境にはChromeはインストールしていない)

 /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

 /Applications/Chromium.app/Contents/MacOS/Chromium

 見つからない場合はPlaywright Chromiumをダウンロードする。

 Playwright Chromiumは、Microsoftのブラウザ自動操作ライブラリPlaywrightが使うためのChromiumブラウザ本体。

 hermesコマンドを作る

 ~/.local/bin/hermesにラッパースクリプトを作る。これにより、仮想環境内のHermesを直接呼び出せるようにする。

 もし、/.local/binがPATHに無ければ、zshなら/.zshrcや~/.zprofileに以下のような行を追加する。

 export PATH="$HOME/.local/bin:$PATH"

 設定ファイルとデータディレクトリを作る

 以下のようなディレクトリやファイルを作る。

 ~/.hermes/.env

 ~/.hermes/config.yaml

 ~/.hermes/SOUL.md

 ~/.hermes/cron/

 ~/.hermes/sessions/

 ~/.hermes/logs/

 ~/.hermes/pairing/

 ~/.hermes/hooks/

 ~/.hermes/image_cache/

 ~/.hermes/audio_cache/

 ~/.hermes/memories/

 ~/.hermes/skills/

 .envにはAPIキー等を含むのでchmod 600される。バンドル済みのskillsも~/.hermes/skills/に同期される。

 セットアップウィザードを起動する

 通常は最後に以下相当を実行する。

 hermes setup

 実際にはvenv内のPythonからhermes_cli.main setupを呼び出す。curl | bashでも対話入力できるように/dev/ttyを使う。

 Gatewayの設定を促す

 Telegram / Discord / Slack / WhatsAppなどのトークンが.envに設定されている場合、Gatewayをバックグラウンドサービスとして起動するか聞きいてくる。

 macOSではsystemdはないので、必要ならnohup hermes gateway ... &のような形で起動する。

 実行のオプション

 インストール用のシェルスクリプトをダウンロードして実行する場合は、いくつかのオプションを選ぶことができる。

 対話セットアップを飛ばす:bash install-hermes.sh --skip-setup

 ブラウザ系を飛ばす:bash install-hermes.sh --skip-browser

 インストール先を明示する:bash install-hermes.sh --dir "$HOME/src/hermes-agent"

 データディレクトリを変更: bash install-hermes.sh --dir "$HOME/src/hermes-agent" --hermes-home "$HOME/.config/hermes"

 ブランチを指定して入れる: bash install-hermes.sh --branch main

 コミットを固定: bash install-hermes.sh --commit

 ダウンロードスクリプトを変更することで、この指示を伝えることもできる。

 curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --dir "$HOME/src/hermes-agent"

 ユーザー入力が必要な段階を避けて、完全に非対話寄りで設定することもできる。

 curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --skip-setup --non-interactive

 実際のインストールは次かな。


オリジナル投稿:
hermes-agent試す? -1-|kinneko|pixivFANBOX
https://kinneko.fanbox.cc/posts/11773811