Sage: an autonomous coding CLI agent
An autonomous coding CLI agent: plans a change, waits for approval, then executes it inside a sandboxed workspace.
A CLI coding agent, rewritten in Python from an earlier .NET/Spectre.Console prototype. It explores a codebase, writes a plan, waits for explicit approval, then executes step by step — every file and shell operation confined to a single configured workspace directory, enforced at execution time rather than just checked upfront.
What it does
- Plan Mode / Execute Mode workflow with mandatory approval before anything runs.
- Multi-provider LLM support (Groq, ZhipuAI) with automatic round-robin fallback on rate limits.
- Resumable sessions backed by SQLite, so a conversation survives a restart.
- A Tavily-backed prompt enhancer that expands a vague first message into a fuller spec.
- A versioned FastAPI surface (
/api/v1) alongside the CLI for session and provider data.
Why the sandbox is enforced at execution time
Checking a path once, upfront, is the easy version and the wrong one: an agent that writes a plan and then executes it can construct a path the upfront check never saw. Every file and shell operation resolves against the configured workspace root at the moment it runs, so a step that escapes the directory fails rather than succeeding quietly.
Setup
No .env required to start — it boots straight into a menu with zero
providers configured, and /connect adds one on the fly, saved to the local
database without a restart.