跳至主要内容
小龙虾小龙虾AI
🤖

Imessage Skill

通过 macOS Messages 应用发送和接收 iMessage 消息,支持文本和图片,管理最近聊天记录与联系人列表。

下载633
星标0
版本1.0.2
效率工具
安全通过
⚙️脚本

技能说明

iMessage Skill

简介

iMessage Skill 让 OpenClaw 能够通过 macOS 的 Messages 应用发送和接收 iMessage 消息。

安全增强版特性

  • ✅ 可信联系人名单
  • ✅ 发送前确认机制
  • ✅ 每日发送限制
  • ✅ 安全事件日志
  • 接收消息控制 OpenClaw(远程控制)

⚠️ 安全警告

重要提示

  • 本 Skill 可以发送短信/iMessage,请谨慎使用
  • 首次使用需要配置可信联系人名单
  • 向非可信联系人发送消息需要手动确认
  • 远程控制功能默认关闭,需要手动启用并配置管理员
  • 建议仅将常用联系人添加到可信名单
  • 所有发送操作都会被记录到安全日志

系统要求

  • 仅支持 macOS - 需要 macOS 10.14 或更高版本
  • 需要 Messages 应用 - 系统自带的 Messages 应用必须可用
  • 需要辅助功能权限 - 首次使用需要授予终端/脚本编辑器辅助功能权限
  • iMessage 已登录 - 需要在 Messages 应用中登录 Apple ID

功能特性

消息发送

  • 💬 发送文本消息 - 向指定手机号或邮箱发送 iMessage
  • 🖼️ 发送图片 - 发送图片文件给联系人

消息接收

  • 📨 查看最近消息 - 获取最近的聊天记录
  • 👥 联系人列表 - 查看最近的联系人

远程控制(新功能)

  • 📱 接收控制命令 - 通过 iMessage 控制 OpenClaw
  • 🔐 管理员权限 - 只有管理员可以执行控制命令
  • 🛡️ 命令白名单 - 只允许执行指定命令
  • 🚫 命令黑名单 - 禁止执行危险命令

安全管理

  • 🔒 可信名单 - 管理可信联系人,免确认发送
  • 发送确认 - 向非可信联系人发送前需要确认
  • 📊 发送限制 - 每日最多发送 100 条消息
  • 📝 安全日志 - 记录所有发送操作到 security.log
  • 📋 控制日志 - 记录所有控制命令到 control.log

安装

1. 安装 Skill

npx clawhub install imessage

2. 授予权限

首次使用时,系统会提示授予辅助功能权限:

  1. 打开 系统设置隐私与安全性辅助功能
  2. 添加并启用 终端(或你使用的脚本编辑器)
  3. 确保 Messages 应用也在列表中

3. 确保 iMessage 已登录

打开 Messages 应用,确认已登录你的 Apple ID。

使用方法

可信联系人管理

# 添加可信联系人(免确认发送)
python3 ~/.openclaw/workspace/skills/imessage/scripts/main.py trust phone=+8613800138000

# 移除可信联系人
python3 ~/.openclaw/workspace/skills/imessage/scripts/main.py untrust phone=+8613800138000

# 查看所有可信联系人
python3 ~/.openclaw/workspace/skills/imessage/scripts/main.py list_trusted

管理员管理

# 添加管理员(可远程控制 OpenClaw)
python3 ~/.openclaw/workspace/skills/imessage/scripts/main.py admin phone=+8613800138000

# 移除管理员
python3 ~/.openclaw/workspace/skills/imessage/scripts/main.py unadmin phone=+8613800138000

远程控制管理

# 启用远程控制
python3 ~/.openclaw/workspace/skills/imessage/scripts/main.py enable_control

# 禁用远程控制
python3 ~/.openclaw/workspace/skills/imessage/scripts/main.py disable_control

发送文本消息

# 发送给可信联系人(无需确认)
python3 ~/.openclaw/workspace/skills/imessage/scripts/main.py send phone=+8613800138000 message="你好"

# 发送给非可信联系人(需要确认)
python3 ~/.openclaw/workspace/skills/imessage/scripts/main.py send phone=+8613900139000 message="测试消息"
# 系统会提示:是否继续发送? (yes/no):

发送图片

# 发送图片(同样需要安全检查)
python3 ~/.openclaw/workspace/skills/imessage/scripts/main.py send_image phone=+8613800138000 image=/Users/username/Pictures/photo.jpg

查看最近消息

# 查看所有最近消息
python3 ~/.openclaw/workspace/skills/imessage/scripts/main.py recent limit=10

# 查看特定联系人的消息
python3 ~/.openclaw/workspace/skills/imessage/scripts/main.py recent phone=+8613800138000 limit=5

# 检查并执行控制命令
python3 ~/.openclaw/workspace/skills/imessage/scripts/main.py recent check_control=true

查看联系人列表

# 获取最近联系人(显示可信和管理员状态)
python3 ~/.openclaw/workspace/skills/imessage/scripts/main.py contacts limit=20

远程控制功能

工作原理

  1. 发送控制命令:管理员发送以 ! 开头的消息
  2. Skill 检测命令:在获取消息时自动检测控制命令
  3. 权限验证:检查发送者是否是管理员
  4. 执行命令:执行允许的命令并回复结果

可用命令

管理员可以通过 iMessage 发送以下命令:

!status - 查看 OpenClaw 状态
!help - 显示帮助信息
!list - 列出已安装的 Skills
!info - 显示系统信息
!echo <消息> - 回显消息

使用示例

  1. 管理员发送命令

    !status
    
  2. Skill 自动回复

    OpenClaw 状态
    [OpenClaw 状态输出]
    

安全机制

  • 默认禁用:远程控制功能默认关闭
  • 管理员权限:只有 admin_contacts 中的联系人可以执行命令
  • 命令白名单:只允许执行 allowed_commands 中的命令
  • 命令黑名单:禁止执行 blocked_commands 中的命令(如 delete、rm 等)
  • 命令前缀:必须以 ! 开头才识别为控制命令

安全配置

编辑 ~/.openclaw/workspace/skills/imessage/config.json

{
  "trusted_contacts": [
    "+8613800138000"
  ],
  "admin_contacts": [
    "+8613800138000"
  ],
  "require_confirmation": true,
  "max_daily_messages": 100,
  "enable_logging": true,
  "enable_remote_control": false,
  "allowed_commands": ["status", "help", "list", "info", "echo"],
  "blocked_commands": ["delete", "rm", "remove", "uninstall", "exec", "eval"],
  "command_prefix": "!"
}

配置说明

配置项说明默认值
trusted_contacts可信联系人列表[]
admin_contacts管理员列表(可远程控制)[]
require_confirmation是否需要发送确认true
max_daily_messages每日最大发送数100
enable_logging是否启用安全日志true
enable_remote_control是否启用远程控制false
allowed_commands允许的命令列表["status", "help", "list", "info", "echo"]
blocked_commands禁止的命令列表["delete", "rm", "remove", "uninstall"]
command_prefix命令前缀"!"

安全机制说明

可信名单机制

  1. 可信联系人:添加到 trusted_contacts 的联系人,发送消息时无需确认
  2. 非可信联系人:不在名单中的联系人,发送前需要手动确认
  3. 自动拒绝:非交互式环境(如脚本)无法向非可信联系人发送

发送确认流程

发送请求 → 检查可信名单 → 是 → 直接发送
                ↓ 否
         交互式环境? → 是 → 提示确认 → 用户确认 → 发送
                ↓ 否
              拒绝发送

远程控制安全流程

接收消息 → 检测命令前缀 → 是 → 检查远程控制启用
                              ↓ 否
                         检查管理员权限
                              ↓ 否
                         检查命令黑名单
                              ↓ 是
                         检查命令白名单
                              ↓ 否
                         执行命令 → 发送回复

安全日志

所有操作记录在 security.log

{"timestamp": "2026-02-16 10:30:00", "user": "username", "event": "SEND_MESSAGE", "details": {"phone": "+8613800138000", "trusted": true}}
{"timestamp": "2026-02-16 10:35:00", "user": "username", "event": "ADD_ADMIN_CONTACT", "details": {"phone": "+8613800138000"}}
{"timestamp": "2026-02-16 10:40:00", "user": "username", "event": "REMOTE_CONTROL_ENABLED", "details": {}}

控制命令记录在 control.log

{"timestamp": "2026-02-16 10:45:00", "event": "CONTROL_COMMAND_EXECUTED", "details": {"phone": "+8613800138000", "command": "status", "success": true}}

故障排除

"不在可信名单中,无法自动发送"

  • 使用 trust 命令将联系人添加到可信名单
  • 或在交互式环境中手动确认发送

"您没有权限控制 OpenClaw"

  • 该联系人不在 admin_contacts 列表中
  • 使用 admin 命令添加管理员

"远程控制功能未启用"

  • 远程控制默认关闭
  • 使用 enable_control 命令启用

"已达到每日发送限制"

  • 今日发送数量已达到 max_daily_messages 限制
  • 请明天再试,或修改配置增加限制

"无法访问 Messages 数据库"

  • 检查是否授予了终端辅助功能权限
  • 确保 Messages 应用已打开并登录

"发送失败"

  • 检查手机号/邮箱格式是否正确
  • 确认 iMessage 服务已启用
  • 检查网络连接

隐私声明

  • 本 Skill 仅在本地操作,不会上传任何数据
  • 消息内容仅存储在你的 Mac 上
  • 需要你的明确授权才能访问 Messages 数据库
  • 安全日志和控制日志仅保存在本地,不会外泄

版本信息


注意: 本 Skill 仅用于个人自动化用途,请遵守 Apple 的服务条款,不要用于发送垃圾信息。

如何使用「Imessage Skill」?

  1. 打开小龙虾AI(Web 或 iOS App)
  2. 点击上方「立即使用」按钮,或在对话框中输入任务描述
  3. 小龙虾AI 会自动匹配并调用「Imessage Skill」技能完成任务
  4. 结果即时呈现,支持继续对话优化

相关技能