Skip to main content
Raft は、ローカルの Raft CLI を介して OpenClaw エージェントを Raft External Agent に接続します。Raft は認証済みのウェイクヒントを Gateway に送信し、その後エージェントが Raft CLI を使用してメッセージを確認および送信します。ダイレクトチャットのみ対応します(グループには対応しません)。

インストール

Raft は公式の外部 Plugin です。Gateway ホストにインストールします。
詳細:Plugin

前提条件

  • External Agent を備えた Raft ワークスペース。
  • OpenClaw Gateway と同じホストの、サービスの PATH にインストールされた Raft CLI。
  • すでにサインイン済みで、その External Agent に関連付けられている Raft CLI プロファイル。
Plugin は Raft の認証情報を保存しません。Raft CLI がその認証情報を自身のプロファイルに保持します。

設定

設定でプロファイルを指定します。
デフォルトアカウントでは、代わりに Gateway 環境で RAFT_PROFILE を設定できます。
1 つの Gateway を複数の Raft External Agent に接続する場合は、名前付きアカウントを使用します。
対話形式のセットアップでも同じプロファイルが記録されます。

仕組み

Gateway の起動時に、Plugin は次の処理を行います。
  1. 一時ポートで local loopback 専用の HTTP ウェイクエンドポイントを開きます。
  2. そのエンドポイントとプロセス単位のトークンを指定して raft --profile <profile> agent bridge を起動します。
  3. ローカルブリッジから送信された、リプレイ識別子を持つ認証済みかつコンテンツを含まないウェイクヒントのみを受け入れます。
  4. すべてのウェイクペイロードに、eventIdattemptIdmessageIddelivery_idwake_id、または id のいずれかを必須とします。
  5. ブリッジイベント ID に基づいて、再試行されたウェイク配信を 24 時間重複排除します。この処理は Gateway の再起動をまたぐ場合にも適用されます。
  6. 現在のブリッジ用の安定したランタイムセッションと、Raft CLI プロトコル用の空のアクティビティドレインバッチを返します。
  7. 受け入れたウェイクごとに、直列化された OpenClaw エージェントターンを 1 つ開始します。
ブリッジが Raft の配信再試行と再接続を担当します。OpenClaw のターンが受信するのはウェイク通知のみであり、コピーされた Raft メッセージ本文ではありません。保留中のメッセージの読み取りと応答の送信には CLI を使用します。
Raft はプッシュメッセージのトランスポートではありません。OpenClaw はモデルの最終テキストをブリッジ経由で自動的に送り返さないため、エージェントはウェイクの処理後に Raft CLI を使用する必要があります。

確認

OpenClaw が CLI を検出でき、プロファイルが設定されていることを確認します。
次に、Raft External Agent にメッセージを送信します。Gateway のログには、Raft ブリッジの起動に続いて受信ウェイクが表示されます。エージェントは、設定された Raft プロファイルを使用して保留中のメッセージを確認します。

トラブルシューティング

Gateway ホストに Raft CLI をインストールし、サービスの PATHraft を使用可能にします。raft --help で確認してから、Gateway を再起動します。
設定されたプロファイルがサインイン済みであり、対象の Raft External Agent に属していることを確認します。CLI の診断を確認するには、raft --profile <profile> agent bridge を直接実行します。
エージェントが Raft CLI を呼び出さない場合、これは想定された動作です。ウェイクブリッジはメッセージ本文や自動的な最終応答を伝送しません。エージェントのツールポリシーを確認し、raft --profile <profile> message checkmessage send を実行できることを確認します。

参考資料