dirtywork.run · v0.14.0 beta · MIT

dirtywork.

Frontier models do the thinking. Local models do the dirty work.

$ pipx install dirtywork

Installs the released CLI, including Worker Observatory.

Python 3.9+, stdlib only · macOS/Linux (developed on Apple Silicon; Windows unsupported) · needs LM Studio (or any OpenAI-compatible server) · then set up Claude Code as the orchestrator with a tool-calling model — or the Anthropic API via --provider anthropic · Docker Desktop / dockerd for the default sandbox (--sandbox none to run on the host)

Most of the ecosystem is racing to replace frontier models with local ones. dirtywork keeps the frontier model — but only where judgment lives, as planner and auditor. The grunt work goes to the models already running for free on your own machine, and nothing merges without review.

How a run works

1 · you/ai $ dirtywork run --repo ~/code/app "Add unit tests for parser.ts"
2 · local explores the repo, edits, runs the tests — inside a
 locked-down Docker container over an isolated worktree (.worktrees/dw-…),
 validated export, full JSONL transcript, no auto-commit — for $0;
 ends the run with finish(summary=…), is stopped when it stalls, and any run
 can be picked up again with dirtywork resume;
 the model can be LM Studio's local server, or the Anthropic API (--provider anthropic)
3 · you/ai audit the transcript, review the diff, re-run the gates,
 commit only what survives
4 · you/ai afterwards, dirtywork runs list|show|clean inspects and
 cleans up runs; dirtywork bench scores models on fixture repos

frontier / you — spends judgment local worker — spends electricity

Worker Observatory

See the evidence. Keep the judgment. Bring your runs and their evidence into one local browser view.

Worker Observatory showing its repository selector, an example run, file changes and timed review controls.
Illustrative sample data · View full-size image

Included in dirtywork 0.14.0 and later. Install from PyPI, then launch:

pipx install dirtywork
dirtywork dashboard --open

Already installed? Run pipx upgrade dirtywork first.

Runs locally and reads your existing run records. Leave the command running while you review. Dashboard guide

0.14.0 is a beta. It works on my setup — LM Studio serving qwen3-coder or Devstral Small, driven by Claude Code as the orchestrator — and it is young everywhere else. Flags and output may shift. If it breaks on yours, tell me what happened.