imsg 是一个面向 macOS 的命令行工具,通过系统的“信息”App(Messages.app)收发 iMessage 与短信(SMS)。
用途:当用户明确要求发送 iMessage 或短信、读取 iMessage 会话历史、查看最近的信息会话,或向手机号与 Apple ID 发送消息时使用。不适用于 Telegram、Signal、WhatsApp、Discord、Slack 等其他渠道,也不支持群聊成员管理;批量群发需先与用户确认;回复当前对话直接正常回复即可。
主要能力与用法:列出会话、查看历史、监听新消息、发送消息。 列出会话:imsg chats --limit 10 --json 查看历史:imsg history --chat-id 1 --limit 20 --json,加 --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(强制 iMessage)、--service sms(强制短信)、--service auto(默认,由“信息”App 决定)。
使用前提:macOS 已登录“信息”App;终端获得完全磁盘访问权限;“信息”App 获得自动化权限(用于发送)。
安全规则:发送前始终确认收件人和消息内容;未经用户明确同意不向未知号码发送;附件需确认文件路径存在;注意限速,避免滥发。
典型流程:用户说“给妈妈发短信说我晚点到”时,先用 imsg chats --limit 20 --json 查找对应会话,再向用户确认号码与内容,确认后再执行发送命令。