日本語

Hermes Agentテキストメッセージアクセス

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への認証

  1. Hermes gatewayを起動。
  2. 起動または再起動 wechat-clawbot-hub
  3. 管理バックグラウンドでボットを作成または選択します。
  4. 登録コードの実装。
  5. 実装は Approveより
  6. 実装は スタート·ポーリング
  7. このWeChat Botにテキストメッセージを送信します。
  8. ヘルメスからの返信を確認します。
  9. MongoDBとは agent_runs コールレコードを収集します。

データの状態

agent_runs 現在のレコードフィールドは次のとおりです。

  • IDは
  • accountId
  • userId
  • messageId
  • sessionId
  • Context Token
  • エージェントは
  • policyId
  • ポリシーモード
  • inputText
  • ステータスステータス
  • outputText
  • エラー
  • リクエストHumanReview
  • outboundMessageId
  • queuedReplyMessageId
  • attemptCount
  • nextAttemptat
  • CreatedAt
  • completedAt
  • rawResponse

通常の状態:

  • ランニング·ランレコードが作成され、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から返信を受信しない場合は、優先チェック:

  1. エルメスゲートウェイが運行されている。
  2. MES_AGENT_ これは True Trueシングル
  3. MES_API_BASE_URL APIコンテナからアクセスできます。
  4. MES_API_KEY または、 API__KEY 一貫して
  5. ボットアカウントはすでにあります。 Approveより そしてすでに。 スタート·ポーリング
  6. 現在のポリシーは マニュアル-レビュー。もしそうなら、結果は入ります。 agent_runs自動的に送信されない。
  7. agent_runs.status これは retry_pretrying または エラーそして、そして エラー フィールドの内容。

フォローアップメンテナンスの推奨事項

  1. 増加する。 エージェント·ラン 管理ページです。
  2. for for awaiting_review 承認送信インタフェースを追加。
  3. エルメスの保存 response.id複数のコンテキストアクセスのために。 previous_response_id または conversation
  4. Hermes Picture Inputへの画像メッセージの変換を追加。
  5. Hermes呼び出しの監査ログと時間の統計を追加します。
上部へスクロール