返回技能列表

writing/imessage

通过 macOS 内置 Messages.app 直接发送 iMessage。 例如说"发 iMessage 给小明告诉他我快到了"。

0 次下载 macOS

描述

通过 macOS Messages.app 的 iMessage 服务直发消息(不是 SMS——
macOS 上单独发 SMS 需要 iPhone 启用"短信转发"且实现复杂,本技能
只覆盖 iMessage 路径)。

## 适用场景
用户口述"发 iMessage 给 X"、"用 iMessage 通知 Z"。

## 参数说明
- **body**:写好的完整消息正文。**不要**把"告诉他我会迟到"这种
  口语指令直接塞进去;先组织成自然对话表达再传入(如"我会迟到,
  请见谅")。
- **to**:收件人 handle,按以下顺序匹配:
  1. **精确**匹配 buddy(手机号 / Apple ID 邮箱 / Messages 通讯录里
     登记的全名)。建议优先传手机号或邮箱,最稳。
  2. 精确不命中时,按 buddy.name 做**子串模糊匹配**。匹配 0 个
     返回 `NO_BUDDY_MATCH` 错误,匹配多个返回 `AMBIGUOUS_BUDDY_MATCH`
     错误并附候选名字列表,由调用方反问用户后用更精确的 to 重试。

## 失败错误码
- `NO_IMESSAGE_SERVICE`:Messages.app 未登录 iMessage 服务。
- `NO_BUDDY_MATCH: <handle>`:通讯录里找不到这个人。
- `AMBIGUOUS_BUDDY_MATCH: <handle> 匹配多人: <names>`:模糊匹配
  到多个 buddy;调用方应据 names 列表反问用户后用更精确的 to 重试。

## 注意事项
- 对方必须是 iMessage 用户(蓝色气泡),否则发送会失败。
- body 默认按对方的语言习惯生成;用户指定语言/风格时按要求生成。