hermes-agent試す? -4-

 ツールの設定

 hermes tools:ブラウザ、Web検索、画像生成、TTSなどのツール設定

 % hermes tools

 これは、インストールのときに少しやったし、Doneでいいかな。といっても、ブラウザツールと検索くらいしかやっていないのだけど。

 メッセージング連携

 hermes gateway setup:Telegram、Discord、Slack、LINEなどのメッセージング連携設定

 公式の Messaging Gateway 対応一覧には、Telegram、Discord、Slack、WhatsApp、Signal、SMS、Email、Home Assistant、Mattermost、Matrix、DingTalk、Feishu/Lark、WeCom、Weixin、BlueBubbles、QQ、Yuanbao、Microsoft Teams、LINE、ntfy、browser などが列挙されている。

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

 普段はSignal使っているから、それにするかな。

 % hermes gateway setup

 signal-cliがいるのでインストールしろということだ。macOSではbrewでインストールできる。一旦終了してインストールする。

 % brew install signal-cli

 ==> Auto-updating Homebrew...

 Adjust how often this is run with $HOMEBREW_AUTO_UPDATE_SECS or disable with

 $HOMEBREW_NO_AUTO_UPDATE=1. Hide these hints with $HOMEBREW_NO_ENV_HINTS=1 (see man brew).

 ==> Auto-updated Homebrew!

 Updated 1 tap (homebrew/cask).

 You have 4 outdated formulae installed.

 Inspect the formula dependency plan before installing with brew install --ask.

 Enable ask mode by setting HOMEBREW_ASK=1.

 Hide these hints with HOMEBREW_NO_ENV_HINTS=1 (see man brew).

 ==> Fetching downloads for: signal-cli

 ✔︎ Bottle Manifest signal-cli (0.14.4.1) Downloaded 6.9KB/ 6.9KB

 ✔︎ Bottle signal-cli (0.14.4.1) Downloaded 44.2MB/ 44.2MB

 ==> Pouring signal-cli--0.14.4.1.arm64_tahoe.bottle.tar.gz

 🍺 /opt/homebrew/Cellar/signal-cli/0.14.4.1: 10 files, 125.3MB

 ==> Running brew cleanup signal-cli...

 Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP=1.

 Hide these hints with HOMEBREW_NO_ENV_HINTS=1 (see man brew).

 % signal-cli link -n "HermesAgent"

 Link request error: Connection closed!

 タイムアウトしたかな? リトライ。

 INFO ProvisioningManagerImpl - Received link information from +8190XXXXXXXX, linking in progress ...

 WARN SendHelper - Failed to send message due to IO exception: Class org.signal.network.util.JsonUtil$IdentityKeyDeserializer has no default (no arg) constructor

 at [Source: REDACTED (StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION disabled); line: 1, column: 1]

 WARN SendHelper - Failed to send message due to IO exception: Class org.signal.network.util.JsonUtil$IdentityKeyDeserializer has no default (no arg) constructor

 at [Source: REDACTED (StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION disabled); line: 1, column: 1]

 WARN SendHelper - Failed to send message due to IO exception: Class org.signal.network.util.JsonUtil$IdentityKeyDeserializer has no default (no arg) constructor

 at [Source: REDACTED (StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION disabled); line: 1, column: 1]

 WARN SendHelper - Failed to send message due to IO exception: Class org.signal.network.util.JsonUtil$IdentityKeyDeserializer has no default (no arg) constructor

 at [Source: REDACTED (StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION disabled); line: 1, column: 1]

 WARN SendHelper - Failed to send message due to IO exception: Class org.signal.network.util.JsonUtil$IdentityKeyDeserializer has no default (no arg) constructor

 at [Source: REDACTED (StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION disabled); line: 1, column: 1]

 Associated with: +8190XXXXXXXX

 んー、Signalアカウントとのリンク自体は完了しているのだけど、リンク処理中またはリンク直後の同期メッセージ送信で、signal-cli内部のJSON/Jackson処理が失敗しているらしい。なんだよそれ。

 こいつ、javaライブラリを呼ぶのか... それはmacOSのデフォルトでは無理ね。

 % signal-cli --version

 signal-cli 0.14.4.1

 % which signal-cli

 /opt/homebrew/bin/signal-cli

 % java -version

 The operation couldn’t be completed. Unable to locate a Java Runtime.

 Please visit http://www.java.com for information on installing Java.

 リンクはできている。

 % signal-cli listAccounts

 INFO AccountHelper - The Signal protocol expects that incoming messages are regularly received.

 Number: +8190XXXXXXXX

 JDK入れるか。

 macOSで入れやすいのは、brewで入れられるEclipse Adoptium が配布している OpenJDKのビルド済みJava実行環境であるTemurinあたりか。

 % brew install --cask temurin

 ✔︎ JSON API formula.jws.json Downloaded 33.2MB/ 33.2MB

 ✔︎ JSON API cask.jws.json Downloaded 16.9MB/ 16.9MB

 ==> Fetching downloads for: temurin

 ✔︎ Cask temurin (26.0.1,8) Verified 140.1MB/140.1MB

 ==> Installing Cask temurin

 ==> Running installer for temurin with sudo (which may request your password).

 Password:

 installer: Package name is Eclipse Temurin

 installer: Installing at base path /

 installer: The install was successful.

 🍺 temurin was successfully installed!

 % java -version

 openjdk version "26.0.1" 2026-04-21

 OpenJDK Runtime Environment Temurin-26.0.1+8 (build 26.0.1+8)

 OpenJDK 64-Bit Server VM Temurin-26.0.1+8 (build 26.0.1+8, mixed mode, sharing)

 % signal-cli --account +8190XXXXXXXX daemon --http 127.0.0.1:8080

 INFO AccountHelper - The Signal protocol expects that incoming messages are regularly received.

 INFO DaemonCommand - Starting daemon in single-account mode for +8190XXXXXXXX

 INFO HttpServerHandler - Started HTTP server on /127.0.0.1:8080

 WARN HttpServerHandler - HTTP server has no authentication; Host header is pinned to [localhost, ::1, 127.0.0.1]

 なんか動いている感じね。java入れなくてもよかったのかも。

 なんか、とりあえずバックグラウンドで動かしてみる。永続化するにはlaunchdを設定する必要がある。

 % nohup signal-cli --account +8190XXXXXXXX daemon --http 127.0.0.1:8080 \

 > ~/.hermes/signal-cli.log 2>&1 &

 [1] 4510

 ようやく続き。

 % hermes gateway setup

 launchdの設定が終わっていなければNかなと思ったけど、yにすると自動で設定してくれるようなのでおまかせ。したら失敗したわ。

 plistファイルは作ったのだけど、GUIで設定しようとコマンドを送って失敗した模様。ヘッドレスなssh端末からのリクエストだものね。

 とりあえず、手動で動かす。

 % nohup hermes gateway run > ~/.hermes/logs/hermes-gateway.log 2>&1 &

 [2] 4531

 % hermes gateway status

 Launchd plist: /Users/kinneko/Library/LaunchAgents/ai.hermes.gateway.plist

 ✓ Service definition matches the current Hermes install

 ✗ Gateway service is not loaded

 Service definition exists locally but launchd has not loaded it.

 Run: hermes gateway start

 ⚠ Gateway process is running for this profile, but the service is not active

 PID(s): 4531

 This is usually a manual foreground/tmux/nohup run, so hermes gateway

 can refuse to start another copy until this process stops.

 一応、動いてはいるようね。

 これでセットアップ相当は終わったと思うのだけど。

 起動するかな?

 動いているみたいね。


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