OpenClaw iMessage 配置指南
状态
推荐: 新 iMessage 设置使用 BlueBubbles。
imsg 频道是旧版外部 CLI 集成,可能在未来版本中删除。
快速设置(初学者)
- 确保在此 Mac 上登录 Messages
- 安装 imsg:
brew install steipete/tap/imsg - 使用
channels.imessage.cliPath和channels.imessage.dbPath配置 OpenClaw - 启动网关并批准任何 macOS 提示(自动化 + 完全磁盘访问)
最小配置:
{
"channels": {
"imessage": {
"enabled": true,
"cliPath": "/usr/local/bin/imsg",
"dbPath": "/Users/<you>/Library/Messages/chat.db"
}
}
}要求
- 登录 Messages 的 macOS
- OpenClaw + imsg 的完全磁盘访问(Messages DB 访问)
- 发送时的自动化权限
channels.imessage.cliPath可以指向代理 stdin/stdout 的任何命令(例如,包装脚本通过 SSH 到另一台 Mac 并运行imsg rpc)
故障排除 macOS 隐私和安全 TCC
如果发送/接收失败(例如,imsg rpc 以非零退出、超时或网关似乎挂起),常见原因是 macOS 权限提示从未被批准。
检查清单:
- 完全磁盘访问: 允许运行 OpenClaw 的进程访问(和任何执行 imsg 的 shell/SSH 包装器)
- 自动化 → Messages: 允许运行 OpenClaw 的进程控制 Messages.app
提示: 如果 OpenClaw 以 headless 运行(LaunchAgent/systemd/SSH),macOS 提示可能很容易错过。在 GUI 终端中运行一次性交互式命令以强制提示,然后重试:
imsg chats --limit 1
# 或
imsg send <handle> "test"专用机器人 macOS 用户(用于隔离身份)
如果您希望机器人从单独的 iMessage 身份发送(并保持个人 Messages 干净),使用专用 Apple ID + 专用 macOS 用户。
- 创建专用 Apple ID
- 创建 macOS 用户并登录
- 在该 macOS 用户中打开 Messages 并使用机器人 Apple ID 登录 iMessage
- 启用远程登录(系统设置 → 通用 → 共享 → 远程登录)
- 安装 imsg:
brew install steipete/tap/imsg - 设置 SSH 以便
ssh <user>@localhost true无需密码工作 - 将
channels.imessage.accounts.bot.cliPath指向运行 imsg 作为机器人用户的 SSH 包装器
访问控制(DM + 群组)
DM
- 默认:
channels.imessage.dmPolicy = "pairing" - 未知发送者接收配对代码;消息被忽略直到批准
- 通过以下方式批准:
openclaw pairing list imessage openclaw pairing approve imessage <code>
群组
channels.imessage.groupPolicy= open | allowlist | disabledchannels.imessage.groupAllowFrom控制 allowlist 设置时谁可以在群组中触发
作者:十一张 创建时间:2026-03-08 22:33
最后编辑:十一张 更新时间:2026-03-28 11:55
最后编辑:十一张 更新时间:2026-03-28 11:55