iMessage 集成

通过 iMessage 与 ClawdBot 对话(仅限 macOS)

概述

iMessage 是 Apple 设备上的原生消息应用。通过 iMessage 集成, 你可以直接在熟悉的消息界面中与 ClawdBot 交流,无需打开其他应用。

原生体验

使用 Apple 原生消息应用,无缝集成

全设备同步

iPhone、iPad、Mac 消息自动同步

Mac 运行

ClawdBot 在 Mac 上运行,自动响应

仅限 macOS

iMessage 集成需要一台 Mac 电脑保持运行。ClawdBot 通过 AppleScript 与 Messages.app 交互,因此只能在 macOS 上使用。

系统要求

硬件要求

  • Mac 电脑 - 运行 ClawdBot 的主机
  • 需要保持 Mac 开机运行
  • 建议使用 Mac mini 或专用 Mac 作为服务器

软件要求

  • macOS 12.0+ (Monterey 或更新版本)
  • Messages.app 已登录 iCloud 账户
  • ClawdBot 已安装并配置

账户要求

  • 有效的 Apple ID
  • iMessage 功能已启用
  • 建议使用专门的 Apple ID(非个人账户)

权限设置

ClawdBot 需要特定的系统权限才能访问 iMessage:

步骤 1: 辅助功能权限

  1. 打开 系统设置 → 隐私与安全性 → 辅助功能
  2. 点击 "+" 添加 ClawdBot(或终端应用)
  3. 确保已启用权限

步骤 2: 自动化权限

  1. 打开 系统设置 → 隐私与安全性 → 自动化
  2. 找到 ClawdBot(或终端)
  3. 启用 "Messages" 权限

步骤 3: 完全磁盘访问(可选)

如果需要读取消息历史:

  1. 打开 系统设置 → 隐私与安全性 → 完全磁盘访问
  2. 添加 ClawdBot 或终端应用

💡 首次运行提示

首次运行时,macOS 会弹出权限请求对话框。请点击"允许"授予必要的权限。

配置方法

方法 1: 配置向导

clawdbot imessage setup

向导会引导你完成权限检查和配置。

方法 2: 配置文件

# ~/.clawdbot/config.yaml

channels:
  imessage:
    enabled: true

    # 只响应特定联系人(可选,留空则响应所有人)
    allowed_contacts:
      - "+8613900000000"
      - "friend@icloud.com"

    # 响应模式
    respond_to_groups: false  # 是否响应群组消息

    # 消息读取间隔(秒)
    poll_interval: 2

方法 3: 环境变量

export CLAWDBOT_IMESSAGE_ENABLED=true
clawdbot gateway

验证配置

# 检查 iMessage 连接
clawdbot channels list

# 测试权限
clawdbot imessage test

使用方法

开始对话

  1. 确保 ClawdBot Gateway 正在运行
  2. 打开任意 Apple 设备上的 Messages 应用
  3. 给配置了 ClawdBot 的账户发送消息
  4. ClawdBot 会自动回复

从 iPhone/iPad 使用

由于消息会自动同步,你可以从任何登录了同一 iCloud 账户的设备 与 ClawdBot 对话,回复也会同步到所有设备。

示例对话

你: 帮我写一封请假邮件
ClawdBot: 好的,请告诉我以下信息...

你: [发送一张图片]
ClawdBot: 我看到这是一张...

你: /help
ClawdBot: 以下是可用的命令...

功能特性

消息类型

  • 文本消息 - 普通对话
  • 图片 - 发送图片,AI 可以分析内容
  • 文件 - 接收和处理文件附件
  • 位置 - 接收位置信息

iMessage 特性

  • 已读回执 - ClawdBot 可以发送已读状态
  • 输入指示器 - 显示"正在输入"
  • Tapback 反应 - 支持接收表情反应
  • 消息同步 - 所有 Apple 设备同步

对话功能

  • 独立的对话上下文(每个联系人)
  • 上下文记忆,可以延续之前的对话
  • 使用 /clear 清除对话历史

限制说明

平台限制

  • 仅限 macOS - 必须有一台 Mac 运行 ClawdBot
  • 需要保持运行 - Mac 需要开机且 ClawdBot 运行
  • 不支持 RCS - 只支持 iMessage,不支持普通短信

技术限制

  • 使用 AppleScript,可能受 macOS 更新影响
  • 消息读取有轻微延迟(poll 模式)
  • 群组消息支持有限

账户建议

⚠️ 重要建议

强烈建议使用专门的 Apple ID 运行 ClawdBot,而不是你的个人账户。 这样可以避免 ClawdBot 响应你的所有私人消息。

故障排查

ClawdBot 不响应消息

  • 确认 Gateway 正在运行:clawdbot status
  • 检查 Messages.app 是否已登录
  • 验证权限设置是否正确
  • 确认发送方在 allowed_contacts 列表中

权限错误

# 测试 AppleScript 权限
osascript -e 'tell application "Messages" to get name of every chat'

如果报错,请检查辅助功能和自动化权限。

Messages.app 未运行

ClawdBot 需要 Messages.app 在后台运行:

# 确保 Messages 在运行
open -a Messages

响应延迟

  • 减小 poll_interval 可以降低延迟
  • 但会增加 CPU 使用
  • 建议值:2-5 秒

获取更多帮助

# 运行诊断
clawdbot doctor --verbose

# 查看详细日志
clawdbot logs --level debug

# 测试 iMessage 连接
clawdbot imessage test --verbose