OC
OpenClaw 中文解释版

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

简要总结

iMessage

这页说明书是教你怎么让一个叫 OpenClaw 的机器人助手,通过苹果电脑上的“信息”(iMessage)应用来收发消息。它就像一个信使,可以帮你自动回复信息。不过,这页教的是个“旧方法”,现在有更好的新方法叫 BlueBubbles。如果你刚开始设置,最好去看新方法的说明书。

这页适合在你需要让机器人和苹果“信息”应用说话,并且想用这个旧方法的时候看。

五岁小孩版解释

这页讲的是一个旧方法,让 OpenClaw 机器人能用苹果电脑的“信息”应用。它需要一个叫 imsg 的小帮手程序来帮忙传话。重要提醒:现在有更好的新方法叫 BlueBubbles,如果你是第一次设置,建议你用新的。

第一步:快速设置(在你自己用的苹果电脑上)

  1. 安装和检查 imsg 帮手。就像给你的电脑装一个新玩具。打开一个叫“终端”的窗口,输入两行命令。第一行是安装,第二行是检查它能不能工作。
    • brew install steipete/tap/imsg
    • imsg rpc --help
  2. 告诉 OpenClaw 怎么找到帮手。你需要修改一个叫“配置文件”的东西,在里面写上:启用 iMessage,帮手 imsg 放在哪里,还有“信息”应用的聊天数据库在哪里。
    • 找到 cliPath,把它写成 "/usr/local/bin/imsg"
    • 找到 dbPath,把它写成你电脑上 chat.db 文件的位置,比如 /Users/你的名字/Library/Messages/chat.db
  3. 启动机器人网关。在终端里输入命令 openclaw gateway,让机器人开始运行。
  4. 批准第一个朋友。默认情况下,别人第一次用“信息”私聊机器人时,需要你批准成为朋友(这叫“配对”)。
    • openclaw pairing list imessage 看看谁在申请。
    • openclaw pairing approve imessage <申请码> 来批准他。要小心:这个申请码一小时后就会失效哦。

第二步:如果帮手在另一台苹果电脑上(通过 SSH)

有时候,imsg 帮手安装在另一台苹果电脑上。没关系,我们可以写一个小脚本,让 OpenClaw 通过“网络隧道”(SSH)去那台电脑上叫帮手干活。

  1. 写一个“呼叫脚本”。创建一个文件,里面写上 exec ssh -T 用户名@那台电脑的地址 imsg "$@"。这样,每次 OpenClaw 想找帮手,这个脚本就会通过网络去叫它。
  2. 在配置文件里告诉 OpenClaw。除了启用和脚本路径,还要多设置几项:
    • remoteHost:写上那台远程电脑的地址(如 user@gateway-host),这样机器人才能去那里拿图片等“附件”。
    • includeAttachments:设为 true,如果你想让机器人也能接收图片。
    • attachmentRootsremoteAttachmentRoots:这里是告诉机器人可以去哪些文件夹找附件,通常是苹果电脑上放信息附件的地方。

需要提前准备好的事(只在苹果电脑上)

要让这个旧方法工作,你的苹果电脑需要满足几个条件:

  • 电脑上的“信息”应用必须已经登录了你的苹果账号。
  • 运行 OpenClaw 或 imsg 的程序,必须有“完全磁盘访问”的权限,这样才能读到聊天记录。
  • 还需要“自动化”权限,才能通过“信息”应用发送消息。 小窍门:如果权限弹窗没出现,你可以在终端里手动运行一次 imsg chats --limit 1imsg send 联系人 “测试” 这样的命令,就能触发系统问你要不要给权限了。

谁能和机器人聊天?—— 规则设置

你可以给机器人定规矩,决定谁可以和它聊天:

  • 私聊规则 (dmPolicy):默认是 pairing(需要先批准成为朋友)。也可以改成 allowlist(只允许名单上的人)、open(所有人都可以,但需要特别设置)或 disabled(完全禁止私聊)。名单写在 allowFrom 里。
  • 群聊规则 (groupPolicy):默认是 allowlist(只允许名单里的群)。名单写在 groupAllowFrom 里。在群里,通常需要有人在消息里“@”提到机器人,它才会回复。这个“@”的规则需要另外设置。

发送图片和长消息

  • 图片和附件:通过设置 includeAttachmentstrue 来接收。如果帮手在远程电脑,需要设置 remoteHost 才能拿到。附件存放的路径必须符合 attachmentRootsremoteAttachmentRoots 的规定,通常是苹果电脑上特定的文件夹。
  • 长消息分段:如果机器人要回复的文字太长,它会自动切成小段发送。你可以通过 textChunkLimit 设置每段多长(默认4000字),通过 chunkMode 设置按什么方式切分。

如果遇到问题

  • 帮手找不到:在终端运行 imsg rpc --helpopenclaw channels status --probe 检查一下。
  • 私聊没反应:检查 dmPolicyallowFrom 设置,再看看有没有需要批准的配对请求 (openclaw pairing list imessage)。
  • 群聊没反应:检查 groupPolicygroupAllowFrom 和群里“@”规则的设置。
  • 远程图片拿不到:检查 remoteHostremoteAttachmentRoots 设置,确认网络连接和权限没问题。
  • 电脑没问权限:在运行机器人的同一个用户环境下,手动运行一次 imsg chats --limit 1 这样的命令,触发权限弹窗。