::docs :: getting started

introduction

What Saturn is, the two guarantees it is built around, and how a turn flows through the engine.

Saturn is a private, local-first AI agent that runs in your terminal. It plans its work in the open, calls tools to search the web, read and write your files, query your own documents, run commands, and remember things across sessions — and it shows you every step it takes, pausing for your approval before anything touches the outside world.

Inference runs entirely on local models through Ollama. No API key is required for anything: web search is keyless, page extraction is local, and there is no telemetry. Saturn is built by Saturday.ai and released under the MIT license.

::two guarantees

nothing leaves your machine

Local models by default, zero required keys, zero telemetry. The only ways anything can leave are a web search query, a page fetch, and the MCP servers you configured — and every exit is recorded in an egress ledger you can read (/privacy egress) or seal (/privacy airgap).

nothing happens without you

The plan is a live, editable object you can pause, steer, and rewrite mid-run. Every side effect stops at an approval gate that shows the real artifact of the decision — the full shell command, a colored diff of the proposed write. Every run can be replayed afterward (/trace), and file changes reversed (/undo).

::how a turn works

Every turn flows through a graph of small, inspectable steps:

the engine loop
ground → plan → [review?] → agent → [approval?] → tools → update plan → … → synthesize
  • ground loads your profile, memory, and document/workspace manifests.
  • plan drafts a step-by-step plan — the transparency surface you can inspect and edit.
  • agent picks the next tool to call (or finishes) against a curated per-step context.
  • approval pauses for your OK before anything side-effecting runs.
  • tools run; results flow back so the agent can decide what's next. A judge reviews each step's outcome and can revise the remaining plan, bounded by iteration and replan budgets.
  • synthesize writes the final answer from what was actually gathered — with citations, and with every figure checked against the turn's results.

The plan is a first-class object: it both shows you what's happening and drives execution. Skipped, blocked, or failed steps are disclosed plainly in the answer, never papered over.

::prove it in 60 seconds

  1. 01Ask something that needs the web: » what changed in local LLMs this week? The plan renders live; each web_search / web_extract call shows in the rail as it runs.
  2. 02Read the receipt under the answer. It says ⇅ N sends · <bytes> → <host> because something did leave your machine — the receipt says so instead of hiding it.
  3. 03/trace answer — answer-level provenance: each cited source's origin (local vs network) and trust, and what left the machine this turn.
  4. 04/privacy egress — the per-event ledger: exactly what left, channel / host / bytes.
  5. 05Make it ask: » save a two-line summary to notes.md. The gate shows the exact file diff and waits; bare Enter rejects.
  6. 06/trace export writes the run's complete record as JSON, and saturn --replay <file> renders it offline — a shareable, replayable execution log, not a screenshot.

note

Saturn is a trust-first agent, not a general-purpose assistant racing on breadth. The terminal is the product — there is no GUI on the roadmap, by design.