Skip to content
All capabilities
Open source Tauri Rust React TypeScript Local LLMs MCP

Cortex — multi-agent coding platform

Every AI coding agent, driven from one window.

We build agent tooling that routes each task to a model that can actually do it, isolates parallel agents so their edits cannot collide, and records every run — the reference implementation is published as Cortex.

A self-hosted desktop application for driving multiple AI coding agents — CLI, API and local models — from one window. It routes each task to a model that can actually perform it, runs the work locally, and records what happened so the question of what an agent did has an answer.

  • 3

    ways to reach a model — CLI, API, local

  • 0

    cloud services required to run it

  • 1

    window, however many agents

The system is published in full, so the behaviour described can be read in the source rather than taken on trust. Published in full. The routing, sandboxing and run-replay described here can be read in the source rather than taken on trust.

What you are handed

  • Provider routing across CLI subscriptions, hosted APIs and local runtimes, with capability checked before cost
  • Parallel agents isolated in git worktrees, so their edits cannot collide and their diffs can be compared
  • Every run recorded and replayable: prompt, model choice, tool calls, approvals, edits, errors and cost
  • Sandboxed execution with allowlists, a plan mode that blocks write and exec tools, and workspace checkpoints independent of git
  • A release pipeline with a headless probe that fails a build which would ship a blank window

Usually bought as

Build 2–6 weeks

Design and delivery of a defined system — a monitoring estate, an alarm-to-ticket integration, an access layer, a backup regime, a hosting platform — including the documentation and the handover.

A working system you can operate without us.

Start this one

01 The juggling problem

Anyone using coding agents seriously ends up with separate terminals for each vendor's CLI, plus a local runtime nobody remembers to use because switching costs a context. Each tool keeps its own history, its own approvals, its own idea of the project.

Cortex is a Tauri 2 desktop application — Rust backend, React frontend — that puts all of them behind one window. A task is typed once; it goes to a model that can actually do it. It runs entirely on the operator's own machine: agent CLIs authenticate with existing subscriptions, API keys live in the OS keychain, and nothing is sent anywhere that was not configured.

02 Routing by capability first, cost second

Three classes of provider are treated as one pool. Vendor CLIs run as subprocesses under their own logins, so usage bills against existing plans rather than metered tokens. OpenAI-compatible APIs connect with a base URL and a key. Local runtimes — Ollama, llama.cpp, vLLM and the rest — connect over localhost and cost nothing.

The router checks what a model can do before it checks the price, so a chat-only model is never handed shell access. Among capable models, cheaper wins, and a free local model wins ties. Explicit selection always overrides.

03 More than one agent at a time

  • Teams pairs a manager model with specialist workers on a single task.
  • Lanes runs the same task across several providers in isolated git worktrees, so their edits cannot collide and the diffs can be compared before any of them touches the real branch.
  • Arena runs two models head-to-head on one prompt and keeps an ELO leaderboard of the results — opinion about which model is better, replaced with a record.

04 An answer to “what did the agent do?”

Every run is recorded to a local SQLite store. Run Replay plays any past run back as a timeline: the prompt, why that model was chosen, each tool call and approval, file edits, errors, and per-run cost. A reliability dashboard aggregates the history into per-provider success rates, latency percentiles and spend.

The other half of trust is containment. Commands run in an untrusted-by-default sandbox with a safe-command allowlist; plan mode blocks write and exec tools entirely; checkpoints snapshot the workspace independently of git, and an undo shows the exact diff before rolling anything back.

05 Shipping a desktop application is its own project

Releases build in CI on a self-hosted runner: a tag push produces the Linux .deb and AppImage and publishes them, and an in-app updater picks new builds up from the release feed.

The AppImage taught the best lesson. Tauri bundles the build host's WebKitGTK, and on a newer distribution that bundled WebKit could not initialise EGL — the web process died and the application launched to a blank window, with no error a user would ever see. No runtime setting could fix it, because the bad library was inside the bundle. The fix is at build time: post-process the AppImage to prefer the host's WebKit and fall back to the bundled copy only where the host has none.

That failure is also why the pipeline gained a headless end-to-end probe: the built application is launched under a virtual display and must prove it actually painted before a release goes out. A build that would ship a blank screen now fails instead of shipping.

Next

Want this one, scoped for your estate?