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 摘要。