教程

OpenClaw iMessage 接入指南:imsg CLI 配置、macOS 权限与 Tailscale 远程部署

OpenClaw iMessage 接入教程:imsg CLI 安装与配置、macOS 完全磁盘访问和自动化权限配置、本地/SSH/Tailscale 三种部署模式、专用 Bot macOS 用户隔离方案、访问控制策略、附件 SCP 抓取与故障排查。

2026/3/123分钟 阅读ClaudeEagle

OpenClaw 通过 imsg CLI 工具接入 iMessage,Gateway 与 imsg 通过 stdio JSON-RPC 通信,无需独立守护进程。

注意:新部署推荐使用 BlueBubblesimsg 为旧版集成,未来可能移除。

快速接入

1. 安装 imsg

bash
brew install steipete/tap/imsg
imsg rpc --help  # 验证安装

2. 配置 OpenClaw

json
{
  "channels": {
    "imessage": {
      "enabled": true,
      "cliPath": "/usr/local/bin/imsg",
      "dbPath": "/Users/<你的用户名>/Library/Messages/chat.db"
    }
  }
}

3. 启动 Gateway 并完成配对

bash
openclaw gateway
openclaw pairing list imessage
openclaw pairing approve imessage <CODE>

配对码有效期 1 小时。

macOS 权限要求

iMessage 接入需要以下系统权限:

  • 完全磁盘访问权限:运行 OpenClaw/imsg 的进程需要读取 Messages 数据库
  • 自动化权限:通过 Messages.app 发送消息所需

权限按进程上下文授予。如果 Gateway 以无头模式运行(LaunchAgent/SSH),需在同一用户上下文中执行一次交互式命令触发权限弹窗:

bash
imsg chats --limit 1
# 或
imsg send <handle> "test"

部署模式

本地 Mac(最简)

Gateway 和 imsg 在同一台 Mac 上运行,直接配置 cliPathdbPath 即可。

远程 Mac over SSH

Gateway 运行在 Linux/VM,iMessage 和 imsg 在 Mac 上:

创建 SSH 包装脚本~/.openclaw/scripts/imsg-ssh):

bash
#!/usr/bin/env bash
exec ssh -T gateway-host imsg "$@"
bash
chmod +x ~/.openclaw/scripts/imsg-ssh

配置(含附件支持)

json
{
  "channels": {
    "imessage": {
      "enabled": true,
      "cliPath": "~/.openclaw/scripts/imsg-ssh",
      "remoteHost": "user@gateway-host",
      "includeAttachments": true,
      "attachmentRoots": ["/Users/*/Library/Messages/Attachments"],
      "remoteAttachmentRoots": ["/Users/*/Library/Messages/Attachments"]
    }
  }
}

远程 Mac over Tailscale(推荐)

json
{
  "channels": {
    "imessage": {
      "enabled": true,
      "cliPath": "~/.openclaw/scripts/imsg-ssh",
      "remoteHost": "bot@mac-mini.tailnet-1234.ts.net",
      "includeAttachments": true,
      "dbPath": "/Users/bot/Library/Messages/chat.db"
    }
  }
}

包装脚本:

bash
#!/usr/bin/env bash
exec ssh -T bot@mac-mini.tailnet-1234.ts.net imsg "$@"

使用 SSH 密钥实现无交互认证;先 ssh 一次确保 known_hosts 中已有主机密钥。

专用 Bot macOS 用户(隔离方案)

  1. 创建专用 macOS 用户并登录
  2. 用独立 Apple ID 登录 Messages
  3. 在该用户下安装 imsg
  4. 创建 SSH 包装脚本指向该用户
  5. 在该用户的 GUI 会话中完成权限授权

访问控制

json
{
  "channels": {
    "imessage": {
      "dmPolicy": "allowlist",
      "allowFrom": ["+8613800138000", "user@example.com"],
      "groupPolicy": "open"
    }
  }
}

allowFrom 支持:手机号、邮箱、chat_id:*chat_guid:*chat_identifier:*

投递目标格式

格式说明
chat_id:123推荐,稳定路由
imessage:+8613800138000手机号
user@example.comApple ID 邮箱
bash
# 列出聊天 ID
imsg chats --limit 20

消息行为

  • 文本分块:textChunkLimit(默认 4000 字符)
  • chunkMode: "newline" 在段落边界分割
  • 媒体大小上限:mediaMaxMb(默认 16MB)
  • 附件通过 SCP 抓取(远程模式,严格主机密钥检查)

故障排查

bash
imsg rpc --help              # 验证 RPC 支持
openclaw channels status --probe  # 检查连接状态
openclaw pairing list imessage    # 查看配对状态

DM 被忽略:检查 dmPolicyallowFrom 和配对审批状态

群组消息被忽略:检查 groupPolicygroupAllowFrom 和 mention 模式

远程附件失败:验证 remoteHost、SSH 密钥认证、known_hosts 和远程路径权限

权限提示未出现:在同一用户/会话的交互式 GUI 终端中重新运行 imsg chats --limit 1


原文:iMessage - OpenClaw | 来源:OpenClaw 官方文档

相关文章推荐

教程OpenClaw 接入 iMessage:imsg 工具安装、权限配置与远程 Mac 部署OpenClaw 接入 iMessage 完整教程:imsg 安装(brew)、macOS 完整磁盘访问权限配置、DM 和群组访问控制、SSH 远程 Mac 部署方案、附件支持,以及为什么新部署应选择 BlueBubbles 而非 imsg。2026/3/2教程OpenClaw + BlueBubbles:macOS iMessage AI 助手最佳方案完全指南OpenClaw 通过 BlueBubbles 接入 iMessage 的完整教程:为什么 BlueBubbles 是目前 iMessage 自动化的最佳方案(相比旧版 imsg CLI 的优势:支持消息编辑/撤回/Tapbacks/群组管理/稳定 REST API)、BlueBubbles macOS 服务器安装与配置、获取 Server URL 和密码、OpenClaw 最简配置(baseUrl + password)、DM 与群组访问控制、@ 提及触发、命令前缀触发、打字状态与已读回执、媒体消息处理,以及 macOS 26 Tahoe 上的已知限制。2026/3/23教程OpenClaw 接入 BlueBubbles:iMessage 现代化接入方案完整配置OpenClaw 接入 BlueBubbles iMessage 完整教程:BlueBubbles 服务器安装配置、Webhook 设置、DM 和群组访问控制、打字指示/已读回执、流式分块,以及 VM 无头服务器保持 Messages.app 活跃的 AppleScript 方案。2026/3/2教程OpenClaw Canvas 深度指南:让 AI 助手在你眼前渲染可视化内容OpenClaw Canvas 功能完整使用指南:Canvas 是什么(AI 控制的浏览器渲染层)、macOS App 中 Canvas 的开启方式、支持的内容类型(HTML/React 组件/图表/交互式 UI)、通过 SOUL.md 指导 AI 主动使用 Canvas、Canvas 与普通文字回复的使用场景区分、a2ui(自然语言驱动 UI)功能介绍,以及 Canvas 在数据可视化和原型设计中的实战案例。2026/3/18教程OpenClaw macOS 菜单栏 App 完全指南:菜单栏图标、语音唤醒与本地能力OpenClaw macOS 原生应用完整介绍:菜单栏 App 的功能与工作原理(Gateway 管理/权限申请/系统通知)、本地模式 vs 远程模式的区别、LaunchAgent 管理命令、macOS 专属能力(Canvas 画布/截图/摄像头/系统自动化)、语音唤醒配置与使用、Peekaboo Bridge UI 自动化、以及 macOS App 的安装与首次设置流程。2026/3/18教程OpenClaw Standing Orders 完全指南:让 AI 记住你的长期规则和行为偏好OpenClaw Standing Orders(常驻指令)功能完整教程:Standing Orders 与 SOUL.md 的区别(动态运行时规则 vs 静态人格文件)、通过对话动态添加/查看/删除常驻指令、指令的持久化存储与跨会话生效机制、适合写入 Standing Orders 的内容类型(格式偏好/禁止行为/固定工作流)、与 Hooks 的协同使用、按渠道/Agent 设置不同的 Standing Orders,以及常驻指令的最佳实践(写清晰的规则、避免矛盾冲突、定期清理过时规则)。2026/3/26