故障排除
针对 iMessage 通道的症状优先修复方案,以及配置参考链接。
故障排查¶
imsg 未找到或 RPC 不受支持
验证二进制文件和 RPC 支持:
如果探测报告 RPC 不受支持,请更新 imsg。如果私有 API 操作不可用,请在已登录的 macOS 用户会话中运行 imsg launch,然后再次探测。如果 Gateway 未在 macOS 上运行,请改用 Remote Mac over SSH 设置,而不是默认的本地 imsg 路径。
消息能发出,但入站 iMessage 未到达
首先确认消息是否已到达本地 Mac。如果 `chat.db` 没有变化,即使 `imsg status --json` 报告桥接状态正常,OpenClaw 也无法接收该消息。
imsg chats --limit 10 --json
imsg watch --chat-id <chat-id> --json
sqlite3 ~/Library/Messages/chat.db \
"select datetime(max(date)/1000000000 + 978307200, 'unixepoch', 'localtime'), max(ROWID) from message;"
如果从手机发送的消息没有创建新行,请先修复 macOS Messages 和 Apple Push 层,再更改 OpenClaw 配置。通常一次性刷新服务即可:
launchctl kickstart -k system/com.apple.apsd
launchctl kickstart -k gui/$(id -u)/com.apple.CommCenter
launchctl kickstart -k gui/$(id -u)/com.apple.identityservicesd
launchctl kickstart -k gui/$(id -u)/com.apple.imagent
imsg launch
openclaw gateway restart
从手机发送一条新的 iMessage,并在调试 OpenClaw 会话之前,确认出现了新的 `chat.db` 行或 `imsg watch` 事件。不要将此作为周期性桥接重启循环运行;在活动工作期间反复执行 `imsg launch` 并重启 gateway,可能会中断投递并搁置正在进行的通道运行。
Gateway 未在 macOS 上运行
默认的 `cliPath: "imsg"` 必须在已登录 Messages 的 Mac 上运行。在 Linux 或 Windows 上,请将 `channels.imessage.cliPath` 设置为一个包装脚本,该脚本通过 SSH 连接到那台 Mac 并运行 `imsg "$@"`。
然后运行:
DM 被忽略
检查:
channels.imessage.dmPolicychannels.imessage.allowFrom- 配对审批(
openclaw pairing list imessage)
群消息被忽略
检查:
channels.imessage.groupPolicychannels.imessage.groupAllowFromchannels.imessage.groups允许列表行为- 提及门控:显式模式或路由代理的身份名称/表情符号;在生效的根或账户
groups映射中,为该聊天设置requireMention: false,以处理来自允许发送者的所有消息
远程附件失败
检查:
channels.imessage.remoteHostchannels.imessage.remoteAttachmentRoots- 从 gateway 主机进行 SSH/SCP 密钥认证
- gateway 主机上的
~/.ssh/known_hosts中存在主机密钥 - 运行 Messages 的 Mac 上远程路径可读
错过了 macOS 权限提示
请在同一用户/会话上下文的交互式 GUI 终端中重新运行,并批准提示:
确认运行 OpenClaw/imsg 的进程上下文已授予 Full Disk Access + Automation。
配置参考指针¶
相关¶
- 通道概览 — 所有受支持的通道
- 移除 BlueBubbles 以及 imsg iMessage 路径 — 公告和迁移摘要
- 来自 BlueBubbles — 配置转换表和逐步切换
- 配对 — DM 认证和配对流程
- 群组 — 群聊行为和提及门控
- 通道路由 — 消息的会话路由
- 安全 — 访问模型和加固
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw