Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dwell

Engaged coding time across AI agents — not agent uptime.

Dwell estimates how long you were in the loop: consecutive human prompts with gaps ≤ a configurable idle threshold (default 5 minutes). A longer gap ends the session; the next prompt starts a new one. Ten agents running for two hours while you’re AFK still counts as zero for you.

Dwell dashboard (sample data)

Screenshots

Fictional sample projects only (northstar-api, garden-app, …) — generated with scripts/generate_demo.py, not real user data.

Dashboard Settings
Dashboard Settings

What it tracks

Agent Local data
Grok ~/.grok/sessions/
Claude ~/.claude/projects/
Command Code ~/.commandcode/
Droid (Factory) ~/.factory/
Reasonix ~/.reasonix/
Pi ~/.pi/
OMP ~/.omp/
OpenCode ~/.local/share/opencode/opencode.db

Optional: Orca’s orca-stats.json only contributes secondary “agent wall” stats if present. Orca is not required.

Agent skill

skills/dwell/SKILL.md

Symlink into Claude / OpenCode / etc. skill directories so an agent can enable the tools you use and add new collectors when needed.

Install

Python 3.10+ (stdlib only — no pip deps).

git clone https://github.com/edsmkt/dwell.git
cd dwell
python3 dwell.py --serve
open http://127.0.0.1:7432/

User data lives in ~/.dwell/ (never committed): settings, categories, generated HTML/JSON, history.

Usage

# Generate report once
python3 dwell.py

# Local dashboard (required for Settings + category edits)
python3 dwell.py --serve
python3 dwell.py --serve --port 7432

# Override idle gap for this run only
python3 dwell.py --idle-minutes 5

Dashboard

  • Range — 7d / 14d / 30d / 90d / 1y / custom
  • Chart — engaged hours by day, stacked by category
  • Projects — engaged time, prompts, agent tags
  • Click a project — daily history + session titles
  • Category dropdown — assign work / personal / …
  • Settings — agents on/off, idle minutes, add/edit/delete categories

Settings

~/.dwell/settings.json:

{
  "idle_minutes": 5,
  "agents": {
    "grok": true,
    "claude": true,
    "command-code": true,
    "droid": true,
    "reasonix": true,
    "pi": true,
    "omp": true,
    "opencode": true
  }
}

Or use Settings in the UI (server mode).

Categories

Defaults: Work, Personal projects, Productivity, Learning, Uncategorized.

In Settings → Categories: add, recolor (swatch), or delete (×; projects fall back to Uncategorized). Or edit ~/.dwell/categories.json.

Docs / screenshots only

Demo data is not shipped for users. Maintainers can regenerate fictional sample HTML locally (gitignored):

python3 scripts/generate_demo.py
python3 -m http.server 7433 --directory docs/demo
# then capture docs/screenshots/*.png

Metric

Situation Counts?
You reply within idle gap Yes — whole gap
You leave for 2 hours No
You come back and chat again New session
Agent runs while you’re gone No

Privacy

Everything is local. Dwell only reads agent session files on your machine and writes under ~/.dwell. No network calls except your optional local server on 127.0.0.1.

License

MIT — see LICENSE.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages