Overview
Capture crashes and errors from your machines, decide which are worth fixing, and suggest fixes.
Triage reads the systemd journal on each of your machines, picks out crashes, failed units, out-of-memory kills and errors, and groups them into issues on one server. A decision model can then tell you which issues are worth fixing, and a language model can suggest how.
# The issues on this machine, most recently seen first
triage collect
triage issues
# Ask a language model how to fix one
triage suggest <issue>
How it fits together
Triage has four roles, and any machine can take on any of them:
| Role | Runs | Does |
|---|---|---|
| Collect | triage collect --follow --upload |
Reads the journal, redacts what it finds and sends it to the server |
| Serve | triage serve |
Stores events, groups them into issues and enforces the daily AI limits |
| Decide | triage work --decide or serve --decide |
Asks a decision model which new issues are worth fixing |
| Suggest | triage work --suggest or serve --suggest |
Asks a language model how to fix the issues worth fixing |
A small always-on box, such as a Home Assistant Green, can serve, while a desktop with a GPU decides and suggests as a worker. The worker pulls work from the server, so the models only need to be reachable from the worker, and nothing queues up while it’s off.
AI only runs when you ask for it. Decide and suggest are off until you turn them on, and stop at their daily limits.
Get started
| Page | Why |
|---|---|
| Install | The Arch packages, the Home Assistant app, the container or a release build |
| Run a server | Where events and issues live |
| Add hosts | Collect from each machine |
| Add workers | Run the models on another machine |
| Configuration | Every setting |
| Issues | States, labels and how models are measured |
| Choices | Hosting and models, local or hosted |
| Privacy | What’s captured, what’s redacted and where it goes |
| Libraries | Talk to a server from your own Effect app |
| Commands | Every command and flag |
Machine-readable docs
| URL | Use |
|---|---|
| https://triage.timmo.dev/llms.txt | Compact page index |
| https://triage.timmo.dev/llms-full.txt | Full docs bundle |
| https://triage.timmo.dev/mcp | Hosted MCP (search, page and navigation) |
/{route}.md |
One page as Markdown |