Aether is a keyboard-first AI agent that lives in your shell. A TUI chat over your code, an MCP server for your tools, and gist or folder sync — in one native Rust binary. No Node runtime. No browser tab. No noise.
The free zen provider works out of the box — no API key needed.
# ask a one-shot question$ aether ask "explain this repo"
03
Or open the TUI
Keyboard-first UI: session list, chat, and a live plan→build→route agent screen.
# full terminal UI$ aether tui
capabilities
Everything a terminal agent needs
tui
Session list + chat
A ratatui interface with a chrome header (model, provider, version), a tab bar (chat · agent · sessions), wheel scroll, and a live token ledger. All from the keyboard.
agent
Live plan → build → route
Run the three-model agent loop straight from the TUI. Three live panels show the planner, builder, and router as they work — plan cards, todo progress, and per-step verdicts update in real time, with live counters on every panel.
mcp
MCP server
Speaks Model Context Protocol over stdio and streamable-HTTP. Your editor, your agents, and Aether share one context layer.
sync
Gist or folder sync
Sessions sync to GitHub gists or a local folder, merged line-by-line with origin fingerprints — no silent overwrites on concurrent edits.
native
One Rust binary
No Node runtime, no bundled Electron, no 400 MB install. Compiled, typed, and fast — the way a terminal tool should be.
ledger
Token ledger & usage rail
Every request is counted. A right-side rail tracks tokens in, tokens out, and total live — you always know what a session cost before you commit to it.
polish
Terminal-first polish
An empty chat opens on the logo screen with a blinking cursor, and your terminal title is restored on exit — no dead space, no leftover state.
faq
Questions, answered
Do I need an API key?+
No. The free zen provider is built in and works out of the box — hosted by opencode.ai. Bring your own key or a local model anytime.
Is my code sent anywhere?+
Honest answer: the free zen endpoint is hosted by opencode.ai and sees your conversation payload. Local models (Ollama, LM Studio) run fully offline. No telemetry, no accounts — see docs/zen-privacy.md.
Does it need Node or Python?+
No. One native Rust binary — no runtime, no interpreter, no 400 MB install. That is the whole point.
Can it edit my files?+
Yes — via the agent loop with path-sandboxed tools and a command approval gate: every write shows a diff preview and waits for your y/N before touching disk.
Is it open source?+
Yes — MIT licensed. Public, auditable, and free. Fork it, vendor it, build on it.
honest comparison
Aether vs. Node-based agents
—
Aether
Node-based agents
Runtime
One native Rust binary
Node + hundreds of MB of deps
Binary size
4.99 MB — one stripped binary
hundreds of MB installed
Startup
~112 ms cold start
1 s+ cold start per run
Agent loop
plan → build → route, 3 models, sandboxed tools
varies by tool
Sessions as files
Plain JSONL — grep it, script it, own it
Often bespoke databases
MCP server
Built in — stdio + Streamable HTTP
Requires separate config
Telemetry
None — verifiable
Varies
Aether figures are measured in this repo (benchmark/run.sh, 5-run median, 2026-08-09). Node-based figures are vendor-published claims, not measured here. Coverage, not a superiority claim.