ActivityWatch / ActivityWatch/aw-webui
Improve the single-pass activity-analysis context
- Lenguaje dominante
- TypeScript
- Estrellas
- 151
- Forks
- 179
- Merge medio
- 1 d 20 h
- PR fusionados (30 d)
- 28
Descripción
## Context
Follow-up from ActivityWatch/aw-webui#922. The dev-mode `/analysis/activity` prototype currently sends only total tracked duration plus the top 20 applications to a single-pass LLM. Because that model has no ActivityWatch tools, the compact context needs to carry enough structure for a useful answer without sending raw personal event data.
## Proposed context shape
Build on the existing canonical-query / aggregation seam and include:
- active time after AFK filtering, plus tracked-vs-active coverage
- top applications with duration, share, and distinct-title count
- top browser domains with duration and share (when browser URL data exists)
- category rollups using the user's ActivityWatch categorization rules
- daily distribution (per-day active time) and focus fragmentation signals such as app switches / longest sustained block
- explicit date range, host(s), timezone, and truncation/coverage notes
Keep each section bounded and inspectable in the UI before generation. Derive statistics locally; do not send raw titles or URLs by default.
## Acceptance criteria
- [ ] Define a typed provider-independent summary input shape
- [ ] Fetch through ActivityWatch's query infrastructure rather than downloading an uncapped raw bucket where practical
- [ ] Apply AFK filtering and user category rules
- [ ] Add top domains and title-count metadata without exposing full URLs/titles
- [ ] Add bounded temporal/focus statistics with clear definitions
- [ ] Show the exact compact context sent to the provider
- [ ] Add unit tests for aggregation, missing buckets/rules, percentage denominators, and truncation
- [ ] Document which fields may contain sensitive information
This should be a follow-up, not scope-creep in ActivityWatch/aw-webui#922.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Evaluación
Este issue todavía no se ha evaluado.