ActivityWatch / ActivityWatch/aw-android

aw-notify: smart anomaly-detection notifications (percentile/sigma above baseline)

未关闭
#200 7 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Kotlin
星标
265
派生
57
平均合并
2 天 21 小时
30 天内合并 PR
19

描述

## Background

Opened from discussion on #199 (aw-notify Android implementation).

Currently `aw-notify` on both desktop and Android uses fixed user-defined thresholds (e.g. "alert at 60/120/240 min of Work"). Erik's suggestion: replace or supplement these with statistical anomaly detection — no user config needed.

## The Idea

Instead of asking users to set thresholds, detect statistically unusual sessions automatically:

- **>90th percentile** of daily time for a category (based on rolling 30-day history)
- **~2 sigma** above mean for a category
- Examples: "Today's Twitter use is already at your 95th percentile (1h 45m vs your usual 35m)" or "Exceptional focus day — Work time in top 10%"

This makes defaults useful out-of-the-box with zero configuration, avoids threshold fatigue (fixed thresholds get ignored fast once familiar), and provides positive reinforcement not just warnings.

## Scope

- Applies to both `aw-notify` (desktop) and the Android notification worker (#199)
- Requires historical data access (aw-server query API already supports arbitrary time ranges)
- Percentile computation is straightforward; the harder part is choosing the right lookback window and minimum data requirements before anomalies can be computed

## Non-Goals

- This is not a replacement for per-user threshold config (that can coexist)
- Not blocking #199 — the v1 fixed-threshold approach is still useful while historical data accumulates

## Related

- #199 — Android aw-notify implementation (prompted this issue)
- [aw-notify desktop](https://github.com/ActivityWatch/aw-notify)

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。