SuperAPI AI 工具集

imsg

办公与效率

查看项目

更新于 10-16 06:56

技能介绍

imsg 是一个面向 macOS 的命令行工具,用于通过系统自带的 Messages.app 读取和发送 iMessage/SMS 消息。它适合需要在终端或自动化流程中操作 iMessage 与短信的场景。

用途 imsg 主要用于以下情况:用户明确要求发送 iMessage 或 SMS;读取 iMessage 对话历史;查看 Messages.app 最近的聊天会话;向手机号或 Apple ID 发送消息。

不适用场景 该工具不用于 Telegram、Signal、WhatsApp、Discord、Slack 等其它消息平台,这些平台应使用各自对应的工具或渠道。它也不支持群聊成员管理(添加/移除成员),批量或群发消息前必须先与用户确认。如果只是回复当前对话,直接正常回复即可,无需使用该工具。

主要能力

  • 列出聊天会话:imsg chats --limit 10 --json
  • 查看历史记录:按聊天 ID 查看,可限制条数并输出 JSON,例如 imsg history --chat-id 1 --limit 20 --json;也可附带附件信息,例如 imsg history --chat-id 1 --limit 20 --attachments --json
  • 监听新消息:imsg watch --chat-id 1 --attachments
  • 发送消息:仅文本,例如 imsg send --to "+14155551212" --text "Hello!";带附件,例如 imsg send --to "+14155551212" --text "Check this out" --file /path/to/image.jpg;指定服务,例如 imsg send --to "+14155551212" --text "Hi" --service imessage 或 --service sms

服务选项 --service imessage 强制使用 iMessage(要求对方支持 iMessage);--service sms 强制使用 SMS(绿色气泡);--service auto 由 Messages.app 决定(默认)。

使用要求 需要 macOS 且 Messages.app 已登录;终端需要完全磁盘访问权限;发送消息还需要为 Messages.app 授予自动化权限。

安全规则 发送前始终确认收件人和消息内容;未经用户明确批准,不得向未知号码发送;使用附件时注意确认文件路径存在;注意限速,避免滥发。

示例工作流 用户说“给妈妈发短信说我会迟到”时,可先查找妈妈的聊天会话:imsg chats --limit 20 --json | jq '.[] | select(.displayName | contains("Mom"))';然后与用户确认,例如“找到妈妈 +1555123456,通过 iMessage 发送‘我会迟到’?”;确认后再发送:imsg send --to "+1555123456" --text "I'll be late"。

限制 该工具仅适用于 macOS 环境,依赖 Messages.app 的登录状态和系统权限。群聊管理、批量群发等能力未提供支持。其它消息平台不在其处理范围内。