Back to Lobehub

将 LobeHub 连接到 iMessage

docs/usage/channels/imessage.zh-CN.mdx

2.2.14.7 KB
Original Source

将 LobeHub 连接到 iMessage

LobeHub 通过运行在已登录 Messages 的 Mac 上的 BlueBubbles 连接 iMessage。LobeHub Desktop 在同一台 Mac 上运行一个本地桥接:它在 127.0.0.1 接收 BlueBubbles 的 webhook,转发到 LobeHub 云端,并把智能体的回复经本地 BlueBubbles REST API 发回。BlueBubbles 无需暴露到公网。

text
iMessage 用户 -> macOS Messages -> BlueBubbles -> LobeHub Desktop 桥接 -> LobeHub 云端
LobeHub 智能体 -> Device Gateway -> LobeHub Desktop 桥接 -> BlueBubbles -> iMessage 用户

Labs 功能: iMessage 由 Labs 开关控制。在你于 设置 → 高级 → Labs 中开启之前,该渠道会一直显示为 “即将推出” 占位。

前置条件

  • 一台已登录目标 Apple ID 的 Mac
  • 该 Mac 上安装了 BlueBubbles Server 并设置了服务器密码
  • LobeHub Desktop 已登录,且已连接 Device Gateway(设置中显示网关已连接)

Private API 说明: BlueBubbles 默认通过 AppleScript 发送基础文本和附件。打字指示等高级功能需要 BlueBubbles Private API(需关闭 SIP / 越狱的 Mac)。LobeHub 只依赖基础的文本与附件收发 —— 打字指示失败会被记录并忽略,不影响回复。

第 1 步:配置 BlueBubbles

<Steps> ### 安装 BlueBubbles Server

在用于托管 iMessage 账号的 Mac 上安装 BlueBubbles Server。保持 Mac 唤醒并联网。

设置服务器密码

在 BlueBubbles Server 中设置一个强密码。LobeHub Desktop 桥接会在本地用它调用 BlueBubbles REST API。

保持本地访问

使用 http://127.0.0.1:1234 这样的本地地址(或私有局域网地址)即可,无需公网 HTTPS 地址。 </Steps>

第 2 步:开启 iMessage Lab

<Steps> ### 打开 Labs

在 LobeHub 中进入 设置 → 高级,找到 Labs 区域。

打开 “iMessage Channel”

开启后,智能体渠道列表里的 iMessage 会从 “即将推出” 占位切换为可配置的渠道。 </Steps>

第 3 步:在智能体中配置 iMessage

<Steps> ### 打开渠道

进入智能体设置 → 渠道iMessage

填写三个字段

  1. Application ID —— 本次连接的稳定标识,例如 home-mac-mini
  2. BlueBubbles Server URL —— 你的本地 BlueBubbles 地址,例如 http://127.0.0.1:1234
  3. BlueBubbles Password —— 第 1 步设置的服务器密码。

Desktop Device ID 和 webhook secret 会自动填充与生成,无需手动管理。

测试连接(可选)

点击 Test BlueBubbles,验证 URL 和密码能否连上你的本地 BlueBubbles 服务。

保存

点击 Save Configuration。一次保存会同时落地云端渠道本地 Desktop 桥接:启动本地回环监听、注册 BlueBubbles 的 new-message webhook,并连接 Bot。 </Steps>

第 4 步:测试 Bot

另一个人或第二个 Apple ID 给托管在 BlueBubbles Mac 上的 Apple ID / 手机号发一条 iMessage。BlueBubbles 触发本地 new-message webhook,Desktop 桥接转发到 LobeHub,智能体在同一会话里回复。

为什么要用其他发送方? 托管账号自己发的消息会被 isFromMe 防循环逻辑忽略(这样 Bot 不会回复自己发的消息)。用你自己的号码测试不会触发回复 —— 请用其他发送方。

功能说明

  • Markdown —— iMessage 接收纯文本;LobeHub 在发送前会去除 Markdown 标记。
  • 附件 —— 入站和出站附件通过桥接与 BlueBubbles 附件 API 中转。
  • 打字指示 —— 仅在 BlueBubbles Private API 可用时尝试;否则静默失败,不影响回复。
  • 群聊 —— 当 BlueBubbles 在事件中包含 chatGuid 时支持群聊;限定群组访问时用 chatGuid 作为允许渠道 ID。
  • 防循环 —— 托管账号自身发出的消息在分发前被丢弃。

故障排查

  • iMessage 仍显示 “即将推出”。 iMessage Channel lab 未开启 —— 在 设置 → 高级 → Labs 中打开。
  • 连接报 DEVICE_NOT_FOUND LobeHub Desktop 未通过 Device Gateway 可达。确认 Desktop 已打开、已登录、网关显示已连接,然后重新保存。
  • 测试 / 保存报 BlueBubbles 错误。 重新检查本地 BlueBubbles URL 和密码。
  • Bot 始终不回复。 确认 BlueBubbles 的 new-message webhook 指向 127.0.0.1,且发送方不是托管账号本身。
  • 打字指示失败但文本正常。 没有 BlueBubbles Private API 时属预期 —— 可忽略。
  • 附件失败。 确认附件已在 Mac 上下载完成,且 BlueBubbles 能在本地提供该文件。