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: 辅助功能权限
- 打开 系统设置 → 隐私与安全性 → 辅助功能
- 点击 "+" 添加 ClawdBot(或终端应用)
- 确保已启用权限
步骤 2: 自动化权限
- 打开 系统设置 → 隐私与安全性 → 自动化
- 找到 ClawdBot(或终端)
- 启用 "Messages" 权限
步骤 3: 完全磁盘访问(可选)
如果需要读取消息历史:
- 打开 系统设置 → 隐私与安全性 → 完全磁盘访问
- 添加 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使用方法
开始对话
- 确保 ClawdBot Gateway 正在运行
- 打开任意 Apple 设备上的 Messages 应用
- 给配置了 ClawdBot 的账户发送消息
- 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