OpenClaw 作为开源 AI Agent 框架,不仅提供强大的本地编排能力,还通过 ACP(Agent Client Protocol) 协议与外部编辑器、IDE 和其他 Agent 实现标准化通信。本文将深入解析 ACP 协议的工作原理,以及如何让自定义 Agent 与 OpenClaw 实现无缝对接。
01. 什么是 ACP 协议
ACP(Agent Client Protocol) 是一个开放协议标准,旨在标准化 AI Agent 与客户端(如 IDE、编辑器、其他 Agent)之间的通信方式。
001. ACP 的核心价值
• 标准化通信:不同 Agent 可以用统一协议与客户端交互 • IDE 集成:让 VS Code、Zed 等编辑器直接调用 Agent 能力 • 跨平台:stdio 传输,不依赖特定平台或语言 • 会话管理:支持持久化会话、历史记录、上下文保持
002. ACP 与 MCP 的区别
一句话总结:MCP 让 LLM 调用工具,ACP 让 Agent 与客户端对话。
02. OpenClaw 的 ACP 实现
OpenClaw 提供了 `openclaw acp` 命令作为 ACP Bridge,它不是完整的 ACP-native 运行时,而是一个桥接器,负责:
• 通过 stdio 接收 ACP 客户端请求 • 通过 WebSocket 与 OpenClaw Gateway 通信 • 将会话映射到 Gateway session keys • 转发提示词、工具调用和流式响应
001. 核心功能支持状态
002. 架构示意图

03. 实际应用场景
以下是 ACP 协议在实际工作中的典型应用场景:
001. 智能编程助手
在 VS Code 或 Zed 中直接调用 OpenClaw Agent 辅助编程:
- ✦代码生成
:根据自然语言描述生成代码片段 - ✦代码审查
:自动检查代码质量和潜在问题 - ✦文档编写
:自动生成函数文档和注释 - ✦调试辅助
:分析错误日志,提供修复建议
002. 多 Agent 协作工作流
构建复杂的多 Agent 协作系统处理业务流程:
- ✦需求分析 Agent
:解析用户需求,生成产品规格 - ✦设计 Agent
:根据规格生成架构设计和技术方案 - ✦开发 Agent
:实现具体功能代码 - ✦测试 Agent
:生成测试用例并执行验证
003. 企业知识库问答
将 OpenClaw 连接到企业知识库,提供智能问答服务:
- ✦技术文档查询
:快速定位技术规范和 API 文档 - ✦业务流程咨询
:解答内部流程和政策问题 - ✦历史项目检索
:基于过往项目经验提供建议
004. 自动化运维
通过 ACP 实现运维任务的自动化执行:
- ✦日志分析
:自动分析系统日志,识别异常模式 - ✦故障排查
:根据告警信息定位问题根因 - ✦报告生成
:自动生成运维日报和周报
04. 基础使用方案
启动 ACP Bridge 有两种主要方案:本地部署和远程连接。
001. 本地 Gateway 方案
适合个人开发和测试场景:
- ✦
确保 Gateway 已运行 - ✦
执行启动命令 - ✦
ACP Bridge 自动连接本地 Gateway
002. 远程 Gateway 方案
适合团队协作和云服务场景:
- ✦
配置远程 Gateway URL(WebSocket 地址) - ✦
提供认证 Token(推荐从文件读取) - ✦
建立安全 WebSocket 连接
003. 配置持久化方案
使用 OpenClaw 配置文件保存 Gateway 连接信息,避免每次手动输入:
- ✦
设置远程 Gateway URL - ✦
设置认证 Token - ✦
后续可直接启动,无需重复配置
05. 指定目标 Agent
ACP 不直接选择 Agent,而是通过 Gateway session key 路由到特定 Agent。
001. 会话密钥格式
agent:
002. 连接到特定 Agent
三种连接方式:
- ✦通过 session key 连接
:直接使用完整密钥定位 Agent - ✦通过 label 连接
:使用易记标签名解析会话 - ✦重置会话
:相同 key,全新对话历史
默认行为:如果不指定 session,ACP 会创建隔离的 acp: 会话,前缀为 acp:。
06. 与 acpx 集成方案
acpx 是一个 ACP 客户端工具,可以让 Codex、Claude Code 等 ACP 感知客户端与你的 OpenClaw Agent 通信。
001. 单次请求模式
适合快速查询和简单任务:
- ✦
发送单条指令到 OpenClaw - ✦
获取即时响应结果 - ✦
无需维护长期会话
002. 持久会话模式
适合项目开发和多轮对话:
- ✦
创建命名会话保持上下文 - ✦
在项目目录中关联会话 - ✦
支持多轮对话和历史追溯
003. 默认配置方案
在 acpx 配置中预设 OpenClaw 连接信息:
- ✦
配置 ACP Bridge 启动命令 - ✦
指定 Gateway 地址和认证 - ✦
设置默认目标 Agent 会话
07. IDE 集成方案:Zed 配置
以 Zed 编辑器为例,演示如何配置 ACP Agent。
001. 基础配置方案
在 Zed 配置中添加 OpenClaw ACP Agent:
- ✦
指定 Agent 类型为自定义 - ✦
配置启动命令为 openclaw acp - ✦
可选设置环境变量
002. 远程 Gateway 配置方案
指定远程 Gateway 和目标 Agent:
- ✦
配置 WebSocket URL - ✦
设置认证 Token - ✦
指定目标 Agent 会话
配置完成后,在 Zed 中打开 Agent 面板,选择 "OpenClaw ACP" 即可开始对话。
08. 开发自定义 ACP Agent
如果你想让自己的 Agent 与 OpenClaw 交互,可以实现 ACP 协议的客户端或服务器端。
001. ACP 基础消息格式
ACP 使用 JSON-RPC 2.0 格式通信,主要消息类型包括:
- ✦initialize
:初始化连接,交换协议版本和能力 - ✦newSession
:创建新会话 - ✦prompt
:发送提示词,接收流式响应 - ✦cancel
:取消正在进行的请求
002. 作为 ACP 客户端连接 OpenClaw
你的 Agent 作为 ACP Client,通过 stdio 启动 openclaw acp:
- ✦
启动 ACP Bridge 子进程 - ✦
发送 initialize 请求建立连接 - ✦
通过 stdin 发送 prompt,从 stdout 接收响应
003. 关键注意事项
• 协议版本:使用 "2025-03-26" 或更高版本• 传输格式:每行一个 JSON-RPC 消息,以换行符分隔• 会话隔离:每个 ACP 会话对应一个 Gateway session key• MCP 限制:桥接模式不支持 per-session MCP servers
09. 安全最佳实践
001. Token 传递方式
002. 认证优先级

• 本地模式:env → gateway.auth.* → gateway.remote.* • 远程模式:gateway.remote.*,按远程优先级回退 • --url 覆盖:不会复用隐式配置/env 凭证
10. 常见问题排查
001. ACP Bridge 无法连接 Gateway
检查清单: ✓ Gateway 是否运行:openclaw gateway status ✓ URL 是否正确(本地 ws://,远程 wss://) ✓ Token 是否有效,未过期 ✓ 防火墙是否允许 WebSocket 连接
002. 会话隔离问题
现象:多个 ACP 客户端共享同一 Gateway session,产生冲突。解决:使用默认的隔离 acp: 会话,或为每个客户端指定不同的 session key。
003. Tool 调用无响应
可能原因: • Gateway 端工具执行超时 • 工具返回了 ACP 不支持的数据格式 • 需要用户确认的权限请求被阻塞排查:使用 --verbose 查看详细日志,检查 Gateway 端工具状态。
11. 总结
ACP 协议为 OpenClaw 打开了与外部世界连接的大门:
✓ 对开发者:可以通过 ACP 让自己的 Agent 与 OpenClaw 无缝协作✓ 对 IDE 用户:可以在 Zed、VS Code 中直接调用 OpenClaw 能力✓ 对团队:可以构建基于 OpenClaw 的协作工作流
OpenClaw 的 ACP 实现虽然是一个桥接器而非完整运行时,但已覆盖了最常用的功能场景。随着 ACP 协议的演进,未来会支持更多高级特性。
参考资源 OpenClaw ACP 文档 ACP 协议规范
夜雨聆风