OC
OpenClaw 中文解释版

给五岁小朋友也能看懂的说明书

简要总结

Gateway Architecture

这页说明书在讲一个叫“网关”的大管家。你可以把它想成一个大城堡的中心控制室,它负责和所有聊天软件(比如微信、QQ)交朋友。城堡里还有其他的小帮手,比如你用的电脑软件、手机App,它们都要通过一条秘密通道(WebSocket)和这个大管家说话。这页就是告诉你,这个大管家是怎么工作的,城堡里的大家是怎么互相帮忙的。

五岁小孩版解释

这个“网关”是一个一直运行的大管家,它住在一台电脑上。它最重要的工作,就是和所有聊天软件(比如 WhatsApp、Telegram)保持联系。一台电脑上只能有一个这样的大管家。

城堡里的其他成员,比如你在电脑上用的软件、在手机上用的App,或者一个没有屏幕的“小脑袋”设备,它们想和大管家说话,都要通过一条叫 WebSocket 的秘密通道。这个通道的地址通常是 127.0.0.1:18789

不过,手机App这些“小帮手”在连接时,需要告诉大管家:“我的角色是 node(节点)”。这样大管家就知道,它们有一些特别的本领,比如画画、拍照。

这个大管家自己也开了一个小网站,地址是 /__openclaw__/canvas//__openclaw__/a2ui/,你可以用浏览器去看看。

大家是怎么工作的?

  1. 大管家(网关):它负责和所有聊天软件保持好朋友关系。它会检查大家发来的消息格式对不对,还会主动告诉大家一些事情,比如“有新的聊天啦!”或者“我身体很健康!”。
  2. 操作员(客户端):比如你用的电脑软件或者网页。每个操作员都有一条自己的秘密通道连到大管家。它们可以问大管家“你还好吗?”,或者请大管家“帮我发一条消息”。
  3. 小帮手(节点):比如你的手机App。它们也用秘密通道连接,但要说清楚自己是 role: node。它们会告诉大管家“我是哪台设备”,这样大管家才能认识它。小帮手们会一些特别技能,比如 canvas.*(在画布上画画)、camera.*(拍照)。

连接大管家的步骤:

  1. 第一步,打招呼:任何想和大管家说话的人,第一句话必须是 connect(连接请求)。这句话必须用 JSON 格式写,就像写一张标准格式的纸条。
  2. 第二步,检查身份:如果大管家设置了密码(环境变量 OPENCLAW_GATEWAY_TOKEN--token 参数),你必须在 connect 纸条里写上正确的密码,不然大管家会立刻关门。
  3. 第三步,开始聊天:打完招呼后,你就可以正常请求了。格式是 {type:"req", id, method, params}。大管家会回复你 {type:"res", id, ok, ...}。大管家也会主动告诉你一些事,格式是 {type:"event", event, payload, ...}

需要小心的事情:

  • 新朋友要批准:如果一个设备(比如新手机)第一次连接,需要在大管家这里“配对”批准。批准后,大管家会给它一个“设备令牌”,下次就不用再批准了。
  • 本地朋友有优待:如果连接来自电脑自己(比如 127.0.0.1),大管家可能会自动批准,这样用起来更方便。
  • 重要的事说一遍:像“发消息”这种重要操作,你必须带一个“唯一钥匙”(idempotency key)。这样,如果你不小心发了两次相同的请求,大管家也知道只做一次,不会重复发送。
  • 消息不重播:如果秘密通道断开了,重新连上后,大管家不会把之前错过的“事件”再说一遍。所以,客户端要自己问清楚现在是什么情况。

怎么从别的地方连接大管家? 如果你不在大管家所在的电脑旁边,想远程连接它,有两种好方法:

  1. 用 Tailscale 或 VPN:就像在两个地方之间建一条安全的私家路。
  2. 用 SSH 隧道:在你自己电脑上输入命令 ssh -N -L 18789:127.0.0.1:18789 user@host。这就像挖一条通向大管家电脑的秘密地道。

怎么启动和查看大管家?

  • 启动它:在电脑上运行命令 openclaw gateway
  • 看看它是否健康:通过 WebSocket 通道问它 health
  • 让它一直工作:可以用 launchd (Mac) 或 systemd (Linux) 这样的工具看着它,如果它不小心睡着了,工具会把它叫醒。