Mac · 客户端

bluebell Mac

bluebell Mac 是本机 Event Hub:保持运行,接收 bluebellctl 事件,保存、去重并按你的开关决定是否发送到 Apple 设备。

bluebell Mac 计划通过 Mac App Store 免费提供,内含 bluebellctl,客户端与命令行工具随同一个 App 安装和更新。商店链接将在上架后公布。

程序边界

一个 App,内含命令行工具

程序职责
bluebellMac.app本机 IPC、2 秒结算、历史、去重、Mac 通知、CloudKit outbox 与重试。
bluebellctl解析参数或 JSON,然后通过本机 Unix Domain Socket 把事件交给客户端。

首页

四个主要区域

bluebell Mac Event Hub 首页,总推送开关开启

接入你的终端

复制当前真实 CLI 路径,打开离线接入教程;不会扫描或显示工具“已安装”。

多设备测试提醒

输入 1–128 个字符,在 iCloud 就绪且总推送已开启时加入云端发送队列。

提醒送达

分别显示本机 IPC、iCloud 与发送队列,不把“账号可用”误写成“通知已送达”。

最近提醒

显示来源、项目、摘要和时间;本机最多保存最近 200 条。

新增设置

“推送到 Watch 和 iPhone”总开关

这个开关默认开启,并与 Event Hub 状态一起持久化。它只控制远程 CloudKit 路径;Mac 本地通知有独立开关。

bluebell Mac Event Hub 首页,总推送开关关闭
操作具体结果
关闭清空所有账号的远程 outbox,包括待发送、重试与正在发送条目;未完成 2 秒结算的候选改为仅本机。
关闭期间收到事件在接收时直接持久化为 localOnly,不等待 iCloud,不进入远程队列。
重新开启只发送重新开启后收到的新事件;不会补发此前清除或关闭期间收到的事件。
关闭时的 UI禁用多设备测试与手动发送重试。

先分层测试

本机测试与多设备测试不同

1. 终端本机测试

Terminal
'/Applications/bluebellMac.app/Contents/Helpers/bluebellctl' emit \
  --source '我的 Agent' \
  --workspace-name '接入测试' \
  --dedupe-key "bluebell-test:$(uuidgen)" \
  --local

这个命令验证 CLI → IPC → Event Hub → 最近提醒,不进入 CloudKit。Mac 横幅还需要独立开启 Mac 本地通知并允许系统权限。

2. 首页多设备测试

在“多设备测试提醒”输入通知正文并发送。按钮只有在总推送开启、iCloud 就绪、正文非空且不超过 128 字符时可用。反馈“已加入队列”不是 Watch 送达回执。

诊断

读懂发送状态

  • 本机接入:bluebellctl 是否能连接 Event Hub。
  • iCloud:当前 CloudKit 账号是否可用于远程写入。
  • 发送队列:待发送和重试中的数量;只有持续错误才展开重试卡。

Outbox 的“待发送 / 重试中”表示 CloudKit 写入尚未成功,不是因为 iPhone 或 Watch 版本。配置型错误会提示检查容器环境、Schema、Entitlements 与当前构建。

本机数据

最近提醒与设置

最近提醒默认显示 20 条,可在设置改为 50、100 或全部;“全部”仍受最近 200 条本机存储上限约束。显示数量只改变列表,不删除记录。

清空最近提醒需要二次确认,只清除这台 Mac 的历史列表,不删除 pending candidate、CloudKit outbox、云端记录或去重身份,也不会撤回已经送达的通知。

设置还包括外观、Mac 本地通知、登录启动与隐私。Mac 本地通知关闭时会清理属于 Agent 类别的待处理和已送达卡片,不删除 bluebell 的训练、计时或 Flow 通知。

下一步:了解 bluebellctl →