功能 · 04

Agent 多设备通知

当 Mac 上的一轮 Agent 工作真正完成时,把一个最小化事件交给 bluebell,再由系统通知在 Apple 设备上提醒你。

bluebell Agent 多设备通知功能图标

产品边界

bluebell 接收完成事件,不猜测完成

任何能在明确完成时执行本机命令的 Agent 工作流,都可以由用户接入。bluebell 不扫描已安装工具、不自动修改配置,也不通过终端文字或进程退出推测一轮工作是否结束。

用户需要根据所用工具和版本的官方协议选择真正的完成信号。等待批准、一次工具调用、子任务结束或整个会话退出,都不一定等同于“这一轮工作完成”。

数据链路

从工具到系统通知

  1. 工具 hook / plugin
  2. →
  3. bluebellctl
  4. →
  5. Mac Event Hub
  6. →
  7. CloudKit
  8. →
  9. 系统通知

所有工具先收敛成同一个 CodingEvent 边界。bluebellctl 只通过本机 Unix Domain Socket 上报;去重、历史、Mac 通知、CloudKit outbox 和重试都在 bluebell Mac 客户端内。

Mac 控制

总推送开关只影响远程路径

bluebell Mac 的“推送到 Watch 和 iPhone”默认开启。关闭后,现有远程 outbox 会被清空,尚未结算以及之后新接收的事件都只留在 Mac;本地历史、去重身份和独立的 Mac 本地通知开关不受影响。

重新开启后只发送新收到的事件,不补发关闭前或关闭期间的事件。已经提交给 CloudKit 的请求无法撤回,仍可能在关闭后延迟产生通知。

设备表现

Mac、iPhone 与 Watch 各自负责什么

bluebell iPhone Agent 多设备通知设置页面
设备行为
Mac接收事件、2 秒去重结算、本地历史、可选本机通知、云端发送队列与重试。
iPhone保留最近事件;默认不参与远程提醒。开启页面开关后也注册同一条系统通知,由 Apple 决定呈现设备。
Apple Watch接收正式的系统通知。Agent 页面里的铃铛按钮只用于试听本机通知震动,不代表远程事件已经送达。

可靠性

“已接收”不等于“已送达”

bluebellctl 退出 0 表示 Mac 客户端已经安全接收事件,包括被判定为重复的事件;它不是 Watch 收到通知的回执。Mac 的“已加入队列”也只表示事件已进入本地持久化流程。

CloudKit 写入成功仍不保证每台设备立刻收到。Push 可能合并或延迟,系统通知还会受网络、通知权限、Focus、佩戴状态和 Apple 的通知路由影响。bluebell 通过稳定事件身份与拉取真实记录补齐历史,但不宣称 exactly-once 或即时送达。

最小化数据

不会自动上传对话或源码

CloudKit 记录只包含事件 ID、来源、类型、项目显示名、短摘要、通知正文、发生时间和随机生成的来源设备 ID。

完整工作区路径、session / turn 标识、去重键、原始 payload、prompt、transcript 和源码不会自动上传。完整路径仅可用于 Mac 本地记录。你自行填写的来源、项目名、摘要或通知正文仍可能包含敏感内容,请只提供提醒所需的信息。

了解 bluebell Mac → 查看 bluebellctl 协议 →