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 把事件交给客户端。 |
首页
四个主要区域

接入你的终端
复制当前真实 CLI 路径,打开离线接入教程;不会扫描或显示工具“已安装”。
多设备测试提醒
输入 1–128 个字符,在 iCloud 就绪且总推送已开启时加入云端发送队列。
提醒送达
分别显示本机 IPC、iCloud 与发送队列,不把“账号可用”误写成“通知已送达”。
最近提醒
显示来源、项目、摘要和时间;本机最多保存最近 200 条。
新增设置
“推送到 Watch 和 iPhone”总开关
这个开关默认开启,并与 Event Hub 状态一起持久化。它只控制远程 CloudKit 路径;Mac 本地通知有独立开关。

| 操作 | 具体结果 |
|---|---|
| 关闭 | 清空所有账号的远程 outbox,包括待发送、重试与正在发送条目;未完成 2 秒结算的候选改为仅本机。 |
| 关闭期间收到事件 | 在接收时直接持久化为 localOnly,不等待 iCloud,不进入远程队列。 |
| 重新开启 | 只发送重新开启后收到的新事件;不会补发此前清除或关闭期间收到的事件。 |
| 关闭时的 UI | 禁用多设备测试与手动发送重试。 |
先分层测试
本机测试与多设备测试不同
1. 终端本机测试
'/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 通知。