跳转到内容

iPhone 通知

从 1.0.44 起,Vibe Island 可以把它监控的所有 Agent 的审批请求、提问、任务完成 和警告转发到 iPhone。通道使用 Bark,一个免费开源的 iOS 推送 App。无需注册账号,消息也不经过 Vibe Island 的服务器:Mac 直接发给 Bark 的 推送服务。

  • Mac 上的 Vibe Island 为 1.0.44 或更新
  • 一台 iPhone,装好免费的 Bark App

这条通道只发通知。批准和回答仍在 Mac 上完成。佩戴 Apple Watch 时,iOS 会 自动把通知镜像过去,无需额外设置。

App Store 安装 Bark,或在 Vibe Island 的配置面板中展开还没有 Bark App?,用 iPhone 相机扫码。

安装后第一次打开 Bark 时,iOS 会询问是否允许通知,务必允许。这一步被 划掉的话,服务器仍会接收推送,手机却始终不弹横幅,且任何地方都不报错。

Bark 首页列出的示例 URL 形如 https://api.day.app/AbCdEfGh/...。域名后面 那段短代码就是设备密钥,也是 Vibe Island 唯一需要的值。首页每条示例中 的这一段都相同。

Bark App 首页的推送 URL 列表,设备密钥是每条 URL 中 api.day.app 后面的那一段

  1. Mac 上进入 设置 > 通知,打开通知我的 iPhone,配置面板会自动 弹出。之后可从「连接」一行的**配置…**重新打开。
  2. 服务器保持 Bark 公共服务(自建了 bark-server 则选自托管),把第 2 步的密钥粘贴到设备密钥
  3. 发送测试。Mac 上出现*「Bark 已接受,请检查设备。」*,iPhone 上弹 出横幅。两者都确认后,点保存

仅在离开这台 Mac 时通知默认开启。锁屏、熄屏,或 Mac 闲置约两分钟,算作 离开。边用电脑边盯着手机不算离开;想每条都推,关掉这个开关即可。

通知事件决定哪些事件上手机:审批请求提问已完成任务警告,默认全部开启。同一会话只占一条通知:状态变化时原地更新横幅, 不会叠加新条目;已处理的条目在 Bark 支持的范围内会被撤回。

通知默认只包含 Agent 名称和项目名称。打开包含对话详情会附上对话标题和 回复、提问或警告的内容片段。这些文字从此会经过推送服务器;建议先阅读加密 一节。

开启加密后,标题和正文先在 Mac 上用 AES-256-GCM 加密再发出,推送服务器只 经手它无法读取的密文。两台设备各配置一半:

  1. Mac 侧:在配置面板中打开加密通知内容,Vibe Island 会生成 Key 和 IV,用复制 Key复制 IV 取出。
  2. iPhone 侧:在 Bark 的首页(第一个 tab)向下滑动,找到 推送加密,进入加密设置,选择 AES256GCMNoPadding, 粘贴 Key 和 IV 并保存。

即使开启加密,服务器仍能看到设备密钥和投递元数据。加密也不影响推送是否 到达,只决定内容能否被读取。

在配置面板中选择自托管,填入自建 bark-server 的 HTTPS 地址,纯 HTTP 会被拒绝。其余用法完全相同。自托管加内容加密是可选项中最严格的隐私配置。

贴进来的多半是 Bark 设置页里的 Device Token。密钥是 Bark 首页 URL 中的短 代码:https://api.day.app/AbCdEfGh/... 中的 AbCdEfGh。只贴这一段,再 测一次。

「已接受」只说明 Bark 服务器收下了消息,弹不弹横幅由 iOS 决定。进入 iOS 设置 > 通知 > Bark,确认「允许通知」开着。另外,如果 Vibe Island 开了加密 而 Bark 侧未配置完成,手机无法读取收到的内容:先配完加密,或暂时关闭加密 再测。

设计如此。「仅在离开这台 Mac 时通知」默认开启,锁屏、熄屏或闲置约两分钟才 算离开。想每条都推,关掉这个开关。

暂不支持。手机只负责提示有事项在等待,操作在 Mac 上完成。

可以,走 iOS 标准的通知镜像:iPhone 锁屏时,通知自动转到已配对的 Watch。 Vibe Island 侧无需配置。

加密不影响推送是否发送,通常是默认的离开检测在人使用 Mac 时压住了推送。 如果通知到达但内容乱码,则是 Bark 侧配置不匹配:必须为 AES256、GCM、 NoPadding,且 Key 和 IV 与 Vibe Island 中复制的完全一致。