Open source · Apache-2.0

Minimal overhead.
Maximum agent.

San is an open-source terminal agent runtime: one native Go binary, no Node.js or Python. Everything the model touches — prompt, tools, providers, extensions — stays yours to change.

~0.01s cold start ~12 MB binary ~2.3k tokens of harness zero runtime deps
$ curl -fsSL https://raw.githubusercontent.com/genai-io/san/main/install.sh | bash
Release Stars License
Why San

Minimal overhead,
not a minimal agent.

Three properties — 小 small, 快 fast, 开 open — and San refuses to trade any one of them for the others. Three strokes, one 三.

Small

The context window is for your work

What the harness sends before your first message stays small, so the window belongs to the task at hand. On disk it is one file that needs nothing else installed.

harness context
~2.3k tokens
binary
12 MB · macos · linux · windows
runtime deps
none
💻 Laptop ☁️ Cloud VM 📟 ARM edge 🐳 Container ⚙️ CI step 🔒 Air-gapped host

Why small matters

Fast

What you wait on is the model

Native Go, so nothing boots before you type: no interpreter, no node_modules to read off disk. What you wait on is the model.

cold start
~0.01s
simple task
~2.4s
tool-use task
~3.3s
memory
~32 MB idle · ~39 MB under load

See the numbers

Open

Open all the way down

What the model sees and what it may do are both yours to write — and to replay afterwards.

Plug in

Anthropic, OpenAI, Google, DeepSeek, Ollama and a dozen more providers; the search backend of your choice; skills, plugins, MCP servers, subagents and hooks, all unmodified.

/models/search

Write

Compose the system prompt, bundle it into a persona you can switch, hand autopilot a goal, set the strategy self-learning follows.

/identity/goal/evolve

Oversee

You choose how much San may do without asking, and subagents inherit that choice. The inspector replays a run exactly as the model saw it.

Shift+Tabsan inspector

Compose the system prompt

Benchmark

Small and fast, measured.

Against Claude Code v2.1.112 on Apple Silicon, same model (claude-sonnet-4-6), same tasks.

MetricSanClaude CodeAdvantage
Download size12 MB63 MB + Node 112 MB5× smaller
Disk footprint38 MB175 MB4.6× smaller
Startup time~0.01s~0.20s20× faster
Startup memory~32 MB~189 MB5.8× less
Simple task~2.4s / 39 MB~10.4s / 286 MB4.3× faster
Tool-use task~3.3s / 39 MB~26.0s / 285 MB7.9× faster
Harness context~2.3k tokens~20.9k tokens~9× leaner

Comparable feature sets — San runs Claude Code's skills, plugins and MCP servers unmodified — so the gap is client-side overhead, not capability. Method and how to reproduce →

Community

Two ways in.

WeChat for the Chinese community, Slack for everyone else.

WeChat official account 极客外传 QR code

关注公众号「极客外传」· 回复 san 入群

San Slack QR code

Scan, or join us on Slack