Raft の設定
Hermes は、ローカルの wake チャンネルブリッジを通じて、外部エージェントとして Raft につながります。アダプターはループバックの HTTP エンドポイントを立ち上げ、ブリッジから届く「中身のない起動ヒント」を受け取って、Hermes ゲートウェイのセッションパイプラインへ流し込みます。メッセージの読み書きはエージェントが Raft CLI で行い、アダプターはメッセージ本文にも配信カーソルにも一切触れません。
前提条件
- External Agent を作成できる Raft ワークスペース
- Raft CLI がインストール済みで、その External Agent のプロファイルにログインしていること
- aiohttp — Python パッケージ(Hermes の
[all]extras に同梱)
Raft の Agents メニューを開いて External Agent を作成し、セットアップカードの案内どおりに Raft CLI をインストールしてエージェントのプロファイルにログインします。エージェントを作成すると、ゲートウェイの起動に必要な環境変数と設定をまとめた Hermes 向けの手引きが Raft 上に表示されます。
セットアップ
~/.hermes/.env に次を追加します。
RAFT_PROFILE=your-agent-profileこれだけです。RAFT_PROFILE が設定されていればアダプターは自動的に有効になります。セッションごとのブリッジトークンを生成し、空いているポートを選び、ゲートウェイの起動時にブリッジの子プロセスを自動で立ち上げます。
しくみ
Raft Server → Bridge (wake-hints SSE) → POST /wake → Hermes Adapter → Agent context
Agent → raft message check → Raft Server (message bodies)
Agent → raft message send → Raft Server (replies)- Raft サーバーが SSE でブリッジプロセスへ起動ヒントを送ります。
- ブリッジは各ヒントを
POST /wakeとしてアダプターのループバックエンドポイントへ転送します。 - アダプターはブリッジトークンを検証し、ペイロードに中身が含まれていないことを確かめたうえで、起動通知を Hermes のセッションへ差し込みます。
- エージェントは起動通知を見て、Raft CLI でメッセージを読み、返信します。
起動時のペイロードは取り決めとして中身を持ちません。メタデータ(イベント ID、メッセージ ID、時刻)は運びますが、メッセージ本文・チャンネル名・送信者の情報は決して含みません。アダプターは、中身にあたるフィールド(text、body、content、messages など)を含むペイロードを拒否します。
ブリッジ
アダプターは raft agent bridge を子プロセスとして自動的に起動し、エンドポイントの URL とトークンを渡します。ブリッジは指定されたプロファイルで Raft サーバーに接続し、起動ヒントの転送を始めます。ゲートウェイが終了すると、ブリッジも終了します。
環境変数
| 変数 | 説明 | 既定値 |
|---|---|---|
RAFT_PROFILE |
Raft エージェントのプロファイル slug。設定するとアダプターが自動で有効になります | _(必須)_ |