aido-code · the agent that uses aido

The coding agent
that lives inside
its own sandbox.

aido-code is the LLM-driven coding agent that consumes the three AIDO bodies (runtime, VM, browser). Multi-provider · Claude OAuth, OpenAI, Mistral, Ollama. Sandboxed by default via Incus or Podman. TUI + CLI + HTTP frontends. Slash commands the others don't have.

Where Claude Code, Codex and Cursor are frontends-with-a-backend-baked-in, aido-code is a backend-first agent that exposes its primitives so other agents can call it too.

4+
LLM providers
~50
slash commands
3
frontends (CLI/TUI/HTTP)
101
MCP tools available
aido · session · claude-sonnet-4
sandboxed
project aido-runtime
tokens 12.4k
cost $0.08
sandbox ● incus
you/goal ship the v0.3 cut + simulate primitive
aidogoal saved. plan: 1) simulate primitive 2) hard-cut 59 actions 3) landing pages
yougo
✓ aido-runtime/src/executor/simulate.rs (351 lines)
→aido-runtime → simulate { target: Pipeline {...} } ⟶ 6 unit tests passing
→aido-runtime → run_in_sandbox cargo test ⟶ workspace clean
aidostep 1 done. workspace clean, simulate shipped, smoke-tested via MCP.
you/diff
→aido-runtime → git_diff ⟶ 12 files · +1247 −63
aido ›
why aido-code

Backend-first. Sandbox-first. Multi-LLM by design.

Other coding agents bake their backend into a closed frontend. aido-code inverts it · the agent is a backend (its slash commands, agent loop, project memory, subagent spawner are all reusable primitives) and ships three different frontends on top: a CLI, a ratatui TUI, and an HTTP/SSE serve mode for web frontends.

Claude Code

Anthropic · closed
  • polished UX
  • MCP support
  • Anthropic-only
  • no sandbox by default
  • no public spawn API
  • not auditable

aido-code

x0ne · open · backend-first
  • Claude OAuth + OpenAI + Mistral + Ollama
  • Incus / Podman by default
  • spawn subagents (sysaicalls)
  • 3 frontends (CLI · TUI · HTTP)
  • slash commands · project memory
  • audit trail · cost tracker

Cursor / Codex

IDE-coupled
  • tight editor integration
  • rich diff UI
  • tied to an editor
  • no headless CLI
  • opaque billing
  • no sandbox
features

An agent that ships all the parts.

Most "AI coding tools" are 90% UI and 10% prompt-engineering. aido-code ships the missing 90% · sandbox bootstrap, multi-provider auth, conversation state, slash-command dispatcher, project detection, subagent orchestration, session logging.

01

Sandboxed by default

Incus or Podman wrap. The agent runs in a container with the project bind-mounted. Host filesystem and credentials are unreachable unless you opt in.

02

Multi-provider

Claude (anthropic OAuth + API key), OpenAI, Mistral, Ollama (local), gpt-oss via OpenRouter. Switch with /model. Costs tracked per turn in the sticky header.

03

Three frontends

Interactive CLI (rustyline), full TUI (ratatui), HTTP/SSE serve mode with /prompt endpoint for web embedding. Same agent core under all three.

04

Slash commands

~50 built-in: /goal, /policy, /restore, /commit, /diff, /auto, /expand, /bench, /handles, … The agent's keyboard shortcuts.

05

Project memory

Reads AIDO.md + builds a codebase index at boot. Persistent /remember store across sessions. The agent knows the repo before you ask.

06

Subagent spawn

sysaicalls registry · the agent spawns specialized subagents (reviewer, ultrareview, simulate-only). Same backend, different prompts. Multi-agent native.

architecture

aido-code is the consumer.

aido-runtime, aido-vm, aido-browser are the bodies · typed MCP servers exposing primitives. aido-code is the brain · the LLM agent that drives them through a unified gateway. One CLI, three frontends, all three bodies on tap.

┌── you │ │ keyboard / CLI / HTTP ▼ ┌──────────────────────┐ │ aido-code │ │ ┌──────────────────┐ │ │ │ TUI · CLI · HTTP │ │ │ └────────┬─────────┘ │ │ ┌────────▼─────────┐ │ │ │ agent_loop │ │ │ │ + LLM provider │ │ Claude · OpenAI · Mistral · Ollama │ │ + slash dispatch │ │ │ │ + subagent reg. │ │ │ └────────┬─────────┘ │ └──────────┼───────────┘ │ MCP / stdio (json-rpc) ▼ ┌─────────────────────────┐ │ aido-orchestrator │ ← multi-downstream gateway │ ─ aido-runtime · 58 │ │ ─ aido-vm-mcp · 29 │ │ ─ aido-browser · 14 │ └─────────────────────────┘ │ unified MCP surface · 101 tools
# aido-code talks to your favorite LLM, your favorite client. # The bodies (runtime, vm, browser) are wired by the orchestrator. # Interactive CLI aido # defaults: setup wizard if first run aido -m claude-sonnet-4 # pick a model aido --tui # ratatui frontend # Non-interactive (one-shot) aido -p "explain the policy engine in 5 lines" # HTTP/SSE serve mode (for web frontends) aido --serve --port 8080 --token "$SECRET" curl -X POST http://localhost:8080/prompt -d '{"text":"refactor X"}'
slash commands

The keyboard shortcuts of an agentic shell.

Slash commands are aido-code's killer UX. They're not LLM calls · they're typed actions the agent dispatcher runs directly. Cheap, fast, deterministic. /goal persists intent across turns. /restore rolls back. /diff reads git without burning context.

/goal
Set persistent goal across turns.
/auto
Toggle full autonomous mode.
/policy
Inspect / edit the active policy.
/restore
Roll back to last snapshot.
/commit
git commit with a generated message.
/diff
Show working-tree diff.
/expand
Re-roll last turn with more context.
/model
Switch LLM provider/model.
/login
Claude OAuth flow.
/budget
Set max $ per session.
/cost
Per-turn breakdown.
/bench
Run the benchmark suite.
/check
Quick health probe.
/handles
List async handles.
/mem
Inspect remember/recall store.
/session
Session log + replay.
/remember
Pin a fact across sessions.
/artifact
Inspect / serve an artifact.
/read
Quick file inspect.
/sh
One-shot sandboxed shell.
/log
Tail recent runtime logs.
/error
Re-show last error with context.
/history
Conversation history search.
/output
Toggle verbose tool output.
/clear
Clear conversation, keep memory.
/compact
Summarize + compress context.
/setup
Re-run the wizard.
/help
List all commands.
providers

Bring your own brain.

aido-code talks to four families of LLM out of the box. Switch mid-session with /model. Cost is tracked per turn in the sticky header; /budget sets a hard ceiling.

provider models auth cost
Anthropic Claude 4.x · Opus, Sonnet, Haiku. Best for code editing + agentic loops. oauth + key paid
OpenAI GPT-4o, GPT-4.1, o1, o3-mini. Tool-use, structured outputs. api key paid
Mistral Codestral, Mistral Large, Pixtral. EU-hosted, EUR-priced. api key paid
Ollama Llama 3.x, Qwen 2.5, Mistral, GPT-OSS, any local GGUF. local free
OpenRouter Aggregator: any of the above + Cohere, Together, DeepSeek, … api key paid
quickstart

From cargo install to first prompt.

Linux, Rust toolchain. Optional: Incus or Podman for the sandbox. The setup wizard runs on first launch · picks provider, model, sandbox engine.

# 1. Build (workspace) cargo build --release -p aido-code install -m 755 target/release/aido ~/.cargo/bin/ # 2. First run · interactive setup wizard aido # ┌─────────────────────────────────────────────┐ # │ provider? › anthropic / openai / ... │ # │ model? › claude-sonnet-4 │ # │ sandbox? › incus / podman / none │ # │ workspace? › /home/you/myproject │ # └─────────────────────────────────────────────┘ # 3. Or skip the wizard with flags aido --provider anthropic -m claude-sonnet-4 --desktop # 4. Non-interactive (CI-friendly) aido -p "summarise CHANGELOG.md in 5 bullets" # 5. HTTP/SSE serve (web frontends) aido --serve --port 8080 --token "$AIDO_TOKEN" # Browser apps can now POST to /prompt and stream from /events # 6. Slash commands · live /goal ship the v0.3 cut /auto /commit