通知: 可选架构(共享启用标志、管理器自动启动、存活性) + 基于证据的默认设置
1. 在共享设置键中添加了一个选项标志。 /0/settings/aw-notify 中默认为 enabled: false — 为所有平台提供了一个单一的真实性来源。Android 的 NotifyWorker 遵循同一个标志(今天默认为启用;统一为选项启用并添加迁移说明)。**2. 管理员在启动时读取该标志,并在启用时启动 aw-notify。这是一个单向的管理员→服务器读取,在服务器启动后进行(管理员已经启动或检测服务器;没有模块管理进入服务器)。3. 立即性的托盘切换。 aw-qt/aw-tauri 获得了一个“启用通知”托盘项,该项不仅写入了标志,还立即启动或停止模块。仅在下次启动时,网络用户界面切换才会生效;托盘涵盖了“我现在需要它”。不引入网络用户界面→管理器通道。4. 无管理器耦合的生命力。 aw-notify 向其自己的存储桶(aw-notify_<host>)发送定期的心跳。设置面板从存储桶的新鲜度中推断“运行/不运行(如何启用)” — 仅基于服务器数据,适用于所有表面,包括远程/Android。5. 模块管理保持在网络用户界面/服务器之外。 服务器仍然是纯粹的存储/查询;进程控制保留在管理员手中。(如果模块控制需要远程表面,则应该是管理员拥有的端点 — 这里不在范围内。)6. 目标为 aw-notify-rs。 Python aw-notify 已被淘汰(ActivityWatch/aw-notify#16);启用标志 + 心跳工作落入了 aw-notify-rs(该模块已经读取了共享设置 API,ActivityWatch/aw-notify-rs#38)。这也使得未来如果需要的情况下,始终运行的默认模式成为可行的,但上述的自动启动选项设计不需要它。7. 基于证据的默认值(单独的交付物件,提供此问题的依据)
- 默认的警报集 + 阈值 + 时间规则,并附有引用(JITAI,通知疲劳/习惯,框架效应,执行意图)
- 面向用户的文档:如何有效地使用通知来进行奖励/提示;从设置面板链接
- 与现有的奖励框架方向相结合:成就/连续性(ActivityWatch/aw-android#205),异常检测警报
内容来源: ActivityWatch/activitywatch