Hermes Agent Accessプログラムの詳細目標は、WeChatのマルチアカウント、承認、メッセージング、監査を引き続き担当することであり、Hermes Agentはバックエンドエージェントとして実行されるときにテキストメッセージのみを処理します。
アクセスの原則
- ハブはWeChatアカウントをエルメスに直接管理させません。
- HubはWeChatログイン、セッション、承認、一時停止、クリーンアップ、メッセージの保管機能を保持します。
- HermesはOpen AI準拠のHTTP APIを介してテキスト入力を受け取り、テキスト結果を返します。
- Hubはアカウントポリシーに基づいてWeChatに直接返信するか、手動レビューのためのドラフトのみを生成するかを決定します。
現在の実装範囲
最初のバージョンはWeChatユーザーのテキストメッセージのみを扱う:
- 処理のみ。
MessageType.USERニュースです。 - テキストの内容を抽出できるメッセージのみを処理する.
- 承認済みアカウントのみがエルメスをトリガーできます。
- HermesコールレコードをMongoDBに書き込む
agent_runs集合です。 requiresanReview =falseのポリシーは自動的にエルメスのテキスト結果をWeChatに送信します。requiresanReview =trueのポリシーはHermes出力のみを保存し、自動送信は行いません。
保留中の処理:
- 画像、音声、ファイル、ビデオ
- マルチラウンドコンテキスト結合
- バックグラウンド手動承認送信
- Agent Runs 管理ページ
- Hermesツール呼び出しプロセスのフロントエンド表示
Hermes側の構成
HermesにはAPI Serverを有効にする必要があります。Hermes環境ファイルを編集する
~/.hermes/.env
最小構成:
API__BLED =true
API__KEY=YOUR_API_KEY
オプションの構成:
API__=8642
API__=127.0.0.1
API_SERVER_MODEL_NAME =hermes-agent
Hermes Gatewayの起動:
ハームズ·ゲートウェイ
通常、同様の出力が表示されます:
[[API Server] API server listening on http//HERMES_HOST> HERPORT>
Docker 版 Hermesリンク方式
HermesがDocker 版の場合は、まずHermesコンテナがゲートウェイモードで実行されていることを確認し、 8642 ポートはホストにマッピングされます。
エルメスの公式倉庫にある場合 docker-compose.yml使用することができる。
network_mode host
command“gateway”、“run”]
Ubuntu/Linuxでは、Hermesコンテナがホストネットワークを直接使用することを意味します。Hub APIコンテナが使えない 127.0.0.1 訪問する理由は 127.0.0.1 ハブコンテナ内のハブコンテナ自身を指します。ハブを利用する。 host.docker.internal ホストにアクセスし、ハブで docker-compose.yml APIサービスに参加する:
extra_
- “host.docker.interhost-gateway”
このプロジェクトはすでに APIの略。 このサービスを追加します。
Hermes公式Composeを使用する際の推奨設定
Hermesプロジェクトディレクトリでの作成または変更 .envさん:
MES_
MES_
API__KEY=YOUR_API_KEY
HERMES_UID そして、 MES_ 現在のホストユーザー IDを入力します。
ID-Uとは
ID-Gは
エルメスの公式変更 docker-compose.yml 中では gateway.environmentAPIサーバを開きます。
environment
- MES_
- MES_
- API__BLED =true
- API__=0.0.0.0
- API__KEY=${API__KEY}
コメント:
API__BLED =trueOpen AI準拠APIサーバを有効にします。API__=0.0.0.0APIはコンテナ/ホスト自身のものだけをリッスンさせる127.0.0.1ハブコンテナはアクセスできません。API__KEYBearerトークン、ハブでなければならないMES_API_KEY一貫して
Hermesの起動:
MES_
ログを見る:
docker logs-f hermes
通常はAPI Serverが監視されます。 8642 そして、日記。
Hermesデータディレクトリを最初に初期化するには、次の手順に従います。
docker run -it --rm \
-v ~/. hes//data \
NousResearch/Hermes-Agentセットアップ
Hermes Gatewayの起動:
docker run -d
--name hermes
--restart unless-stopped \
-v ~/. hes//data \
-p 8642 864284
NousResearch/Hermes-Agent Gateway Runについて
Docker Composeを使用する場合は、以下を参照してください。
services
hermes
image nousresearch/hes-est
container_name hermes
restart unless-stopped
Command gateway run
ports
- “8642 8642”
volumes
- ~/.hermes/opt/data
HubとHermesが別々のコンテナで実行される場合、最も簡単なリンク方法は次のとおりです。
MES_AGENT_
MES_API_BASE_URL=http
HERMES_API_KEY = YOUR_API_KEY
MES_MODEL= h
MES_TIMEOUT_MS=120000
WECHAT__REPLY_BLED =false
ここでは host.docker.internal “ハブAPIコンテナからホストにアクセスする”を意味します。ヘルメスが通過した。 -p 8642 - 8642 ホストに公開されるため、ハブはホストアドレスからHermesにアクセスできます。
Hermes Servicesを直接統合すると wechat-clawbot-hub/docker-compose.yml2つのサービスが同じComposeネットワーク上で相互にアクセスできるようにします。当時は MES_API_BASE_URL 変更できます:
MES_API_BASE_URL=http
サービス名は必須です。 ヘルメス·ヘルメス:
services
hermes
image nousresearch/hes-est
container_name hermes
restart unless-stopped
Command gateway run
ports
- “127.0.0.1 8642 8642”
volumes
- ~/.hermes/opt/data
2つの方法で1つを選択できます:
- Dockerを単独で実行するHermes:hubでの使用
http://host.docker.internal:8642/v1。 - HermesがハブのComposeネットワークに統合:ハブの使用
hthes8642v1。
ハブ側の設定
Hub APIがDockerコンテナで実行されている場合、.envさん 使用する:
MES_AGENT_
MES_API_BASE_URL=http
MES_API_KEY=
MES_MODEL= h
MES_TIMEOUT_MS=120000
WECHAT__REPLY_BLED =false
Hub APIがホスト上で直接実行される場合は、以下を使用します。
MES_AGENT_
MES_API_BASE_URL= 127.0.0.1:8642/v1
MES_API_KEY=
MES_MODEL= h
MES_TIMEOUT_MS=120000
WECHAT__REPLY_BLED =false
キーポイント:
MES_API_KEYエルメスと一緒に。API__KEY一貫して- Dockerコンテナがホストサービスにアクセスするときに使用する
host.docker.internal。 - ネイティブで直接APIを実行する場合に使用
127.0.0.1。 - Hermesを有効にすると、開発自動返信を閉じることを推奨します。
WECHAT__REPLY_BLED =false。
Hermes APIの認証
Power Shellテスト:
$body = @{
= "h
messages = @
@{
role = "user"
content =“こんにちは、簡単に返信します。"
}
)
} |ConvertTo-Json-Depth 5
Invoke-RestMethod `
-Uri "ht/MES_>>/v1/chat/etions" `
-Method Post `
- ers @{ization = "Bearer-me-local-dev" } `
-ContentType "application/json" `
-body $body
アシスタントコンテンツを返すことは、Hermes API自体が利用可能です。
Hermesへの認証
- Hermes gatewayを起動。
- 起動または再起動
wechat-clawbot-hub。 - 管理バックグラウンドでボットを作成または選択します。
- 登録コードの実装。
- 実装は
Approveより。 - 実装は
スタート·ポーリング。 - このWeChat Botにテキストメッセージを送信します。
- ヘルメスからの返信を確認します。
- MongoDBとは
agent_runsコールレコードを収集します。
データの状態
agent_runs 現在のレコードフィールドは次のとおりです。
IDはaccountIduserIdmessageIdsessionIdContext TokenエージェントはpolicyIdポリシーモードinputTextステータスステータスoutputTextエラーリクエストHumanReviewoutboundMessageIdqueuedReplyMessageIdattemptCountnextAttemptatCreatedAtcompletedAtrawResponse
通常の状態:
ランニング·ランレコードが作成され、Hermesを呼び出しています。retry_pHermesは一時的に利用できず、WeChatユーザーにプレースメントプロンプトを送信し、再試行の次のラウンドを待っている。retrying:バックグラウンド再試行ループがHermesを再呼び出します。sentさんHermesが戻ってきて、結果はWeChatに送られました。awaiting_reviewHermesは戻ってきたが、ポリシーは手動レビューを必要とし、送信されなかった。エラー:アカウントが利用できない、送信失敗、または回復不能エラー。
Hermesが起動しない場合、またはAPIリンクが失敗すると、Hubは最初に返信します。
メッセージを受け取った。エージェントが一時的に接続できない場合は、このメッセージをキューに入れ、接続が再開されたら処理と返信を続けます。
その後、APIコンテナ。 MES_RETRY_ 周期スキャン。 retry_p 記録した。Hermesが回復すると、Hubはエージェントを呼び出し続けます。通常のポリシーは自動的に最終結果をWeChatに返します。マニュアル-レビュー 戦術は続く。 awaiting_review。
トラブルシューティング
WeChatがHermesから返信を受信しない場合は、優先チェック:
- エルメスゲートウェイが運行されている。
MES_AGENT_これはTrue Trueシングル。MES_API_BASE_URLAPIコンテナからアクセスできます。MES_API_KEYまたは、API__KEY一貫して- ボットアカウントはすでにあります。
Approveよりそしてすでに。スタート·ポーリング。 - 現在のポリシーは
マニュアル-レビュー。もしそうなら、結果は入ります。agent_runs自動的に送信されない。 agent_runs.statusこれはretry_p、retryingまたはエラーそして、そしてエラーフィールドの内容。
フォローアップメンテナンスの推奨事項
- 増加する。
エージェント·ラン管理ページです。 - for for
awaiting_review承認送信インタフェースを追加。 - エルメスの保存
response.id複数のコンテキストアクセスのために。previous_response_idまたはconversation。 - Hermes Picture Inputへの画像メッセージの変換を追加。
- Hermes呼び出しの監査ログと時間の統計を追加します。