Repository navigation
0.1.0
The first release of triage. It captures crashes and errors from your Linux machines, groups them into issues, and can ask a decision model which are worth fixing and a language model how to fix them.
Capture
triage collectreads the systemd journal for crashes, unit failures and errors, and groups them into issues by fingerprint.--follow --uploadkeeps watching and sends events to a server.- Everything is redacted when it's captured, before it's stored or sent anywhere: credentials, emails, home paths, user and host names, MAC and IP addresses, machine IDs, serials and Wi-Fi names. Add your own names to hide with
TRIAGE_REDACT_NAMES. - Failures and crashes keep the last 10 lines the unit logged, redacted the same way, and whether it was a system or user unit.
Server
triage servecollects events from your hosts over HTTP. Add hosts withtriage hosts add, which prints a token that can only send events, and admins withtriage admins addto read issues from the API.- Run it with Docker Compose, with optional Caddy or Cloudflare Tunnel files for HTTPS. See the README.
Decisions and suggestions
AI only runs when you ask for it. Automatic runs are off by default and stop at a daily limit when turned on.
- Decision models rate how likely an issue is worth fixing, through any TypeSafe System One API (such as Ollaya or Ollama) or Clef on Workers AI.
triage labelandtriage agreementcompare them against your own labels. triage suggestasks a language model how to fix an issue, through any OpenAI- or Anthropic-compatible API or Workers AI. Each suggestion records the events it was based on.serve --decideandserve --suggestdo this on a schedule, capped at 20 decisions and 5 suggestions a day by default.
Packages
- Server image:
ghcr.io/timmo001/triage:0.1.0(amd64 for now) @timmo001/effect-triage: shared schemas and the API, on npm and JSR@timmo001/effect-triage-client: the Effect client, on npm and JSR
Full Changelog: https://github.com/timmo001/triage/commits/0.1.0