name: bluebubbles description: 当需要通过BlueBubbles(推荐的iMessage集成)发送或管理iMessages时使用。调用通过通用消息工具,使用channel=“bluebubbles”。 metadata: { “otto”: { “emoji”: “🫧”, “requires”: { “config”: [“channels.bluebubbles”] } } }
BlueBubbles 操作
概述
BlueBubbles 是 Otto 推荐的 iMessage 集成。使用 message 工具,设置 channel: "bluebubbles" 来发送消息和管理 iMessage 对话:发送文本和附件、反应(tapbacks)、编辑/取消发送、线程回复,以及管理群组参与者/名称/图标。
需要收集的输入
target(优先使用chat_guid:...;也可以是 E.164 格式的+15551234567或user@example.com)message文本用于发送/编辑/回复messageId用于反应/编辑/取消发送/回复- 附件
path用于本地文件,或buffer+filename用于base64
如果用户描述模糊(例如“给我妈妈发短信”),请询问接收者的句柄或聊天guid以及确切的 message 内容。
操作
发送消息
{
"action": "send",
"channel": "bluebubbles",
"target": "+15551234567",
"message": "hello from Otto"
}
反应(tapback)
{
"action": "react",
"channel": "bluebubbles",
"target": "+15551234567",
"messageId": "<message-guid>",
"emoji": "❤️"
}
移除反应
{
"action": "react",
"channel": "bluebubbles",
"target": "+15551234567",
"messageId": "<message-guid>",
"emoji": "❤️",
"remove": true
}
编辑已发送消息
{
"action": "edit",
"channel": "bluebubbles",
"target": "+15551234567",
"messageId": "<message-guid>",
"message": "更新后的文本"
}
取消发送消息
{
"action": "unsend",
"channel": "bluebubbles",
"target": "+15551234567",
"messageId": "<message-guid>"
}
回复特定消息
{
"action": "reply",
"channel": "bluebubbles",
"target": "+15551234567",
"replyTo": "<message-guid>",
"message": "回复这条消息"
}
发送附件
{
"action": "sendAttachment",
"channel": "bluebubbles",
"target": "+15551234567",
"path": "/tmp/photo.jpg",
"caption": "这是附件"
}
发送带iMessage效果的消息
{
"action": "sendWithEffect",
"channel": "bluebubbles",
"target": "+15551234567",
"message": "大消息",
"effect": "balloons"
}
注意事项
- 需要网关配置
channels.bluebubbles(serverUrl/password/webhookPath)。 - 优先使用
chat_guid作为目标(特别是群聊)。 - BlueBubbles 支持丰富的操作,但某些功能可能依赖于macOS版本(例如,编辑功能可能在macOS 26 Tahoe上失效)。
- 网关可能暴露短消息ID和完整消息ID;完整ID在重启后更持久。
- 底层插件的开发者参考文档位于
extensions/bluebubbles/README.md。
尝试想法
- 使用tapback反应来确认请求。
- 在用户引用特定消息时进行线程回复。
- 发送文件附件并附带简短说明。