🦞
渠道集成

连接 OpenClaw 到 iMessage

直接通过 macOS 上的 Apple 信息使用你的 AI 助手。支持 iMessage 和短信。

仅限 macOS

iMessage 集成需要配置了信息应用的 macOS。它使用 imsg CLI 工具从本地信息数据库读取。

为什么使用 iMessage?
  • +原生 Apple 集成与你现有的信息应用配合使用
  • +iMessage + 短信无缝支持两种协议
  • +已读回执知道消息何时送达和已读
  • +表情回应支持 iMessage 表情回应
  • +群聊参与群组对话
  • +远程网关可通过 SSH 连接远程 Mac
需求
  • 1.
    macOS

    配置了信息应用并登录了 Apple ID

  • 2.
    完全磁盘访问权限

    OpenClaw 需要读取 ~/Library/Messages/chat.db

  • 3.
    imsg CLI

    用于与信息交互的命令行工具

设置步骤

1

安装 imsg CLI

安装 OpenClaw 用于与信息交互的 imsg 命令行工具:

brew install imsg

或从 imsg GitHub releases 页面下载

2

授予完全磁盘访问权限

OpenClaw 需要权限读取信息数据库:

  • - 打开系统设置(或系统偏好设置)
  • - 前往隐私与安全 > 完全磁盘访问权限
  • - 点击 + 按钮添加终端(或 iTerm)
  • - 如果以二进制运行,还要添加 OpenClaw 可执行文件
3

配置 OpenClaw

将 iMessage 配置添加到你的 openclaw.json 配置文件:

{
  "channels": {
    "imessage": {
      "enabled": true,
      "cliPath": "imsg",
      "dbPath": "~/Library/Messages/chat.db",
      "allowFrom": ["+15555550123", "user@example.com"]
    }
  }
}
4

设置 allowFrom

指定谁可以与你的机器人交互:

  • - 带国家代码的电话号码:+15555550123
  • - Apple ID(电子邮件地址):user@example.com
5

测试连接

验证 iMessage 渠道是否正常工作:

openclaw channels status imessage

然后从允许的联系人发送消息测试集成。

高级配置

iMessage 渠道的完整配置选项:

{
  "channels": {
    "imessage": {
      "enabled": true,
      "cliPath": "imsg",
      "dbPath": "~/Library/Messages/chat.db",
      "remoteHost": "user@gateway-host",
      "dmPolicy": "pairing",
      "allowFrom": ["+15555550123", "user@example.com"],
      "historyLimit": 50,
      "includeAttachments": false,
      "mediaMaxMb": 16,
      "service": "auto",
      "region": "US"
    }
  }
}
  • cliPathimsg CLI 可执行文件的路径
  • dbPath信息数据库的路径
  • remoteHost远程网关设置的 SSH 主机
  • dmPolicy如何处理私信
  • allowFrom允许发消息的电话号码或 Apple ID
  • historyLimit作为上下文包含的消息数量
  • includeAttachments启用附件处理
  • mediaMaxMb最大附件大小(MB)
  • service强制使用 iMessage 或短信,或使用 auto
  • region电话号码格式化的地区
远程网关设置(可选)

如果你想在服务器上运行 OpenClaw 但从家里的 Mac 访问 iMessage,可以使用 SSH:

{
  "channels": {
    "imessage": {
      "enabled": true,
      "remoteHost": "user@your-mac.local",
      "cliPath": "/usr/local/bin/imsg"
    }
  }
}
  • - 确保 SSH 密钥认证已设置
  • - Mac 必须始终开机并连接
  • - 必须在 Mac 上配置 imsg 和完全磁盘访问权限
支持的功能
OK已读回执
OKiMessage 表情回应
OK群聊
OK短信支持
OPT附件(可选)
OK消息历史
故障排除

读取 chat.db 时权限被拒绝?

确保你已授予终端/iTerm 和 OpenClaw 可执行文件完全磁盘访问权限。授予权限后可能需要重启终端。

机器人不响应消息?

验证 allowFrom 中的电话号码或 Apple ID 完全匹配。电话号码需要 + 和国家代码。

找不到 chat.db?

默认路径是 ~/Library/Messages/chat.db。确保信息应用至少打开过一次且你已登录。

找不到 imsg 命令?

确保 imsg 已安装且在 PATH 中。你可以在 cliPath 中指定完整路径。

远程网关无法连接?

使用 ssh user@host 验证 SSH 密钥认证有效,并确保远程 Mac 安装了 imsg 且有完全磁盘访问权限。

iMessage 已连接!

添加更多渠道或配置技能来自定义你的 AI 助手。