Projects

Dispatch

Live · Sep 2026

A CLI that routes a task to the right AI provider CLI by data-sensitivity tier, cheapest eligible provider first, with verification before it trusts an answer.

Problem

Every task made me pick a provider by hand: local model, subscription tool, or metered API. Pick wrong and you either leak sensitive data to a cloud API or burn money on a trivial task. The tier decision is the whole game, so I made it explicit and mandatory instead of guessed.

Outcome

Open source. Explicit --tier on every run, never inferred. Cascade-with-verification tries the cheapest eligible provider and escalates on empty, refused, or failed output. Optional decomposition splits compound tasks into subtasks routed at the same tier, and --recall reuses verified public-tier results. Every run appends a tier-redacted record to a local audit log.

Details

Stack
TypeScript, Node.js
Parts
Tiered routing, Cascade with verification, Decomposition

Notes

Dispatch decides which AI provider CLI should run a given task and hands it off, so the choice stops being a manual judgment call every time. You give it two things: the task, and how sensitive the data in it is. The tier flag is always required and never guessed.

It tries the cheapest provider allowed at that tier, checks the answer actually looks like an answer, and escalates to the next one if not. With –decompose it first asks an eligible provider at the same tier to split a compound task into self-contained subtasks, routes each one independently through the cascade, and composes the answers. Subtasks always inherit the run’s explicit tier. Nothing gets re-tiered or downgraded behind your back.

Every run is argv-array subprocess exec only, no shell-string interpolation, with per-run timeouts and a tier-redacted audit log. Private tiers are never cached. The whole point is the same one behind everything I build: the sensitive decision stays explicit, and the cheap path is the default.