安装
Raft 是一个官方外部插件。在 Gateway 主机上安装它:前置条件
- 一个带有外部代理的 Raft 工作区。
- Raft CLI 已安装在与 OpenClaw Gateway 相同的主机上,并且位于该服务的
PATH中。 - 一个已登录并且已关联到该外部代理的 Raft CLI 配置文件。
Configuration
Set the profile in the configuration:RAFT_PROFILE in the Gateway environment:
工作原理
当 Gateway 启动时,插件会:- 在一个临时端口上打开仅限 loopback 的 HTTP 唤醒端点。
- 使用该端点和一个按进程分配的 token 启动
raft --profile <profile> agent bridge。 - 仅接受来自本地 bridge 的经过身份验证、无内容的唤醒提示,并带有重放标识。
- 每个唤醒负载都必须包含
eventId、attemptId、messageId、delivery_id、wake_id或id中的一个。 - 通过 bridge 事件 id 对重试的唤醒投递进行去重,保留 24 小时,包括 Gateway 重启期间。
- 为当前 bridge 返回一个稳定的运行时会话,并为 Raft CLI 协议返回一个空的活动排空批次。
- 每次接受到唤醒时,启动一个序列化的 OpenClaw agent turn。
Raft 不是推送消息传输。OpenClaw 不会自动通过 bridge 将模型的最终文本发送回去,因此 agent 必须在处理唤醒后使用 Raft CLI。
验证
检查 OpenClaw 是否能找到 CLI,并且是否已配置 profile:故障排除
缺少 Raft CLI
缺少 Raft CLI
在 Gateway 主机上安装 Raft CLI,并使
raft 在该服务的 PATH 中可用。使用 raft --help 验证,然后重启 Gateway。bridge 立即退出
bridge 立即退出
验证所配置的 profile 已登录,并且属于目标 Raft External Agent。直接运行
raft --profile <profile> agent bridge 以查看 CLI 诊断信息。收到 wake,但没有发送 Raft 响应
收到 wake,但没有发送 Raft 响应
当 agent 未调用 Raft CLI 时,这是预期行为。wake bridge 不会传递消息正文或自动最终回复。检查 agent 的工具策略,并确保它可以运行
raft --profile <profile> message check 和 message send。