iMessage(传统:imsg?

对于新的 iMessage 部署,请使用 BlueBubbles?

imsg 集成是传统版本,可能会在 future release.

状态:传统外部 CLI 集成。Gateway 生成 imsg rpc 并通过 stdio 上的 JSON-RPC 通信(没有单独的守护进程/端口)?

新设置的首?iMessage 路径? iMessage DM 默认使用配对模式? 完整?iMessage 字段参考?

快速设?

brew install steipete/tap/imsg
imsg rpc --help
  </Step>

  <Step title="配置 OpenClaw">
{
  channels: {
    imessage: {
      enabled: true,
      cliPath: "/usr/local/bin/imsg",
      dbPath: "/Users/<you>/Library/Messages/chat.db",
    },
  },
}
  </Step>

  <Step title="启动 gateway">
openclaw gateway
  </Step>

  <Step title="批准第一?DM 配对(默?dmPolicy?>
openclaw pairing list imessage
openclaw pairing approve imessage <CODE>

配对请求 1 小时后过期?

OpenClaw 只需?stdio 兼容?`cliPath`,因此您可以?`cliPath` 指向一个包装脚本,该脚?SSH 到远?Mac 并运?`imsg`?
#!/usr/bin/env bash
exec ssh -T gateway-host imsg "$@"

启用附件时的推荐配置?

{
  channels: {
    imessage: {
      enabled: true,
      cliPath: "~/.openclaw/scripts/imsg-ssh",
      remoteHost: "user@gateway-host", // 用于 SCP 附件获取
      includeAttachments: true,
      // 可选:覆盖允许的附件根目录?
      // mediaLocalRoots: ["/Users/remote-user/MobileSync"]
    },
  },
}

工作原理

  • Gateway 使用 imsg rpc 命令?imsg CLI 通信?
  • 消息通过 JSON-RPC 协议发?接收?
  • 附件作为入站媒体下载并通过媒体管道处理?
  • 发送者需要配对或允许列表?

访问控制

直接消息

  • 默认dmPolicy: "pairing"(未知用户获得配对代码)
  • 批准配对?
openclaw pairing list imessage
openclaw pairing approve imessage <CODE>
  • 允许列表模式:设?channels.imessage.allowFrom

群组

iMessage 群组使用 groupPolicy 控制?

  • "open" = 允许所有人
  • "allowlist" = 仅允?groupAllowFrom
  • "disabled" = 禁用

配置参?

请参?Gateway 配置参考 了解完整的字段列表?

排查

消息未发?

  1. 检?imsg rpc 是否可用?
imsg rpc --help
  1. 检?Gateway 日志?
openclaw logs --follow | grep imessage

附件未下?

  • 确保 includeAttachments: true 已设?
  • 检?mediaLocalRoots 配置