渠道集成
连接 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"
}
}
}cliPath— imsg CLI 可执行文件的路径dbPath— 信息数据库的路径remoteHost— 远程网关设置的 SSH 主机dmPolicy— 如何处理私信allowFrom— 允许发消息的电话号码或 Apple IDhistoryLimit— 作为上下文包含的消息数量includeAttachments— 启用附件处理mediaMaxMb— 最大附件大小(MB)service— 强制使用 iMessage 或短信,或使用 autoregion— 电话号码格式化的地区
远程网关设置(可选)
如果你想在服务器上运行 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 且有完全磁盘访问权限。