stdio
像你把话写在小纸条上,从桥的一头递出去,再把回信接回来。
Cli 导读
`openclaw acp` 在 stdio 上启动一个 ACP 桥,让 IDE 或 ACP 客户端能把提示词通过 WebSocket 转发给 Gateway。最容易搞错的是:这不是用来启动 Codex 或 Claude 等外部 Agent 的——那是 `/acp spawn` 和 ACP Agents 页的事。先确认你的场景:客户端要连 OpenClaw 就走 `openclaw acp`;要让 OpenClaw 启动外部 Agent 就走 ACP Agents。
先讲这一页到底在解决什么
`openclaw acp` 在 stdio 上启动一个 ACP 桥,让 IDE 或 ACP 客户端能把提示词通过 WebSocket 转发给 Gateway。最容易搞错的是:这不是用来启动 Codex 或 Claude 等外部 Agent 的——那是 `/acp spawn` 和 ACP Agents 页的事。先确认你的场景:客户端要连 OpenClaw 就走 `openclaw acp`;要让 OpenClaw 启动外部 Agent 就走 ACP Agents。
第一站
IDE 这边通常只会走标准输入输出,像在桥头递纸条。Gateway 这边用的是 WebSocket,像另一头的大门口有人接应。
像你把话写在小纸条上,从桥的一头递出去,再把回信接回来。
像桥那头的总机房,负责真正跟 OpenClaw 里面的人对话。
像每个人在桥上贴的名字牌。桥会把 ACP 会话和 Gateway 会话一一对上。
ACP 负责把外部客户端接到 Gateway,不负责自己变成一个完整编辑器。
第二站
官方的兼容矩阵其实是在告诉你:桥已经能走了,但有些小路还没完全铺平。
initialize、newSession、prompt、cancel 这些核心动作已经能跑。像桥已经能正常通车。
listSessions 和 slash commands 已经能从 Gateway 的会话状态里拿到。像桥边的路牌已经能认。
loadSession、图片、资源、工具流等功能部分支持,但还没完全长成最理想的样子。
每个会话自己带 mcpServers、客户端文件系统方法、客户端终端方法、思考流,这些目前都不在桥上。
第三站
最普通的情况,就是在本地或者远端先把 Gateway 备好,然后让 `openclaw acp` 去接它。
openclaw acp像桥本地模式。你把它叫起来,它就去找默认的 Gateway 口。
openclaw acp --url wss://gateway-host:18789 --token <token>像你站在远处,手里拿着门牌和门票,准备跨到另一头的桥上。
--token-file像把门票收在小盒子里,不直接摊在行李箱外面。更安全,也更适合长期用。
--session agent:main:main像告诉桥:“今天我要去哪个工位、哪个抽屉。” 这样 ACP 会话就能对准指定 agent。
第四站
官方把 debug 客户端单独拿出来,是为了让你不用真开 IDE 也能检查桥有没有接好。
openclaw acp client像打开一个小测试间,边敲边看桥有没有顺利连上。
--server-args ...像告诉这个小测试间:“你别连本地默认桥,去连我指定的远端桥。”
--server "node"像连桥的那位接线员也能换成别的执行器,不一定非得是默认那位。
像练习场也有门卫。允许名单里的小动作自动放行,陌生动作还是要你点头。
第五站
ACP 不会凭空替你挑一个 agent。它只是照着你给的 session key 走。
agent:main:main像把你送到主工位的主抽屉。
agent:design:main像把你改送到设计工位。桥不猜,只照路牌走。
--reset-session像把同一个抽屉重新开一遍,旧里程不带着跑。适合想要干净新开的第一轮。
ACP 只认会话钥匙,不替你猜“该去谁那儿”。
第六站
官方后面把 IDE、`acpx`、Zed 都写进来,是在告诉你:桥本身不挑乘客,关键是乘客会不会说 ACP。
acpx openclaw exec ...像再请一位会说 ACP 的小帮手坐上桥,直接去问你的 OpenClaw 代理。
openclaw acp 给 Zed像给编辑器门口贴一张新牌子,让它知道该从哪座桥上去。
env OPENCLAW_HIDE_BANNER=1 ... node openclaw.mjs acp ...像走近路时把迎宾横幅收起来,免得桥上全是装饰,影响干净的 ACP 传话。
这些工具不是桥本身,只是不同人坐桥的方式不同。
最后总结
`openclaw acp` 就是一座把 ACP 客户端和 OpenClaw Gateway 接起来的桥:会话按钥匙走,消息按桥梁转,IDE、`acpx`、Zed 都只是从桥上过来的不同乘客。
如果你下一页只想继续看一页,我建议看 /cli/mcp。因为它和 ACP 很像,但乘客不一样,桥上说话的协议也不一样。