~12 MB 单二进制、~0.01s 冷启动、~2.3k token 上下文:终端 Agent 运行时 San
San(genai-io/san):Minimal overhead. Maximum agent. Lean context, native speed, open all the way down.
- 项目地址:https://github.com/genai-io/san
- 官网:https://genai-io.github.io/san/
- Getting Started:https://genai-io.github.io/san/getting-started.html
- 文档:仓库内
docs/index.md - Product Hunt:https://www.producthunt.com/products/san?launch=san
- License:Apache 2.0
⚡ ~0.01s cold start · 📦 ~12 MB single binary · 🪶 zero runtime deps
San 是一个开源终端 agent 运行时:单个原生 Go 二进制,不需要 Node.js 或 Python。模型接触到的所有东西——prompt、工具、provider、扩展——都留在你手里可以改。
为什么做 San
三个属性:小 / 快 / 开放。
- 小 — 你的第一条消息之前,进入模型的 harness 约 2.3k tokens,剩下的上下文窗口留给你的工作。磁盘上是一个 12 MB 二进制,零运行时依赖,可以放进笔记本、CI runner 或临时容器。
- 快 — 冷启动约 0.01s,一次完整的工具调用任务端到端约 3.3s。你等的是模型,不是客户端。
- 开放 — 接入模型、skills、subagents、MCP servers;自己写 system prompt、autopilot 目标和自学习策略;任意一次运行都能在 san inspector 里回放。
名字来源:San 即「三」,☰,出自《道德经》「三生万物」,一个运行时变成任意 agent,三步循环 推理→行动→观察。命令仍是 san。
开放架构
- Plug in — 模型来自 Anthropic、OpenAI、Google、DeepSeek、Ollama 等十余家;web 搜索后端自选;扩展有 skills、subagents、MCP servers、plugins、hooks。
- Write — agent 如何行为是你拥有的文本,不是烘焙进二进制里的东西。组合 system prompt、打包成 persona、给 autopilot 一个目标、设置自学习策略。
- Oversee — 没有运行是无人看管的。自己选 San 在未经询问时可以做到什么程度,subagents 继承这个选择;inspector 按模型当时看到的样子精确回放任意一次运行。
安装
Homebrew(macOS/Linux):
brew tap genai-io/san
brew install san
macOS/Linux:
curl -fsSL https://raw.githubusercontent.com/genai-io/san/main/install.sh | bash
Windows PowerShell:
irm https://raw.githubusercontent.com/genai-io/san/main/install.ps1 | iex
Windows:如果装了 Git for Windows bash,命令在其中执行,否则用 PowerShell(有 pwsh 用 pwsh,没有则用内置 Windows PowerShell);可通过 SAN_SHELL=bash / powershell / path 设置。两者都装时,另一个也能在 /tools 开启。
用 san 启动。首次启动选择模型并填 API key。默认自动后台更新,状态行会提示重启;san update 立即更新;brew upgrade san;在 /settings › General 关闭后台更新,或设置 SAN_DISABLE_AUTOUPDATE=1。模型清单、上下文窗口和价格来自 models.dev,每日刷新(SAN_DISABLE_MODEL_REFRESH=1 跳过),可在 ~/.san/models.json 修正。
卸载:
curl -fsSL https://raw.githubusercontent.com/genai-io/san/main/install.sh | bash -s uninstall
Go Install(Go 1.26.0+):
go install github.com/genai-io/san/cmd/san@latest
从源码构建:
git clone https://github.com/genai-io/san.git
cd san
go build -o san ./cmd/san
mkdir -p ~/.local/bin && mv san ~/.local/bin/
用法
san # interactive
san "explain this function" # one-shot
san -p "do something" # print mode(无 TUI),适合管道
san --continue # 恢复最近一次会话
san --resume # 选择历史会话
子命令:inspector · agent · plugin · mcp
- 模型与 thinking budget:
/models·Ctrl+T - 权限模式:
Shift+Tab(ask · auto-accept · autopilot) - 长任务与学习:
/autopilot·/goal·/evolve - 全部 slash 命令:
/help - 按键:Enter 发送 · Alt+Enter 换行 · Esc 停止 · Ctrl+O 展开工具 · Ctrl+C 取消 · Ctrl+D 退出
配置
凭据:
ANTHROPIC_API_KEY或 Vertex AIOPENAI_API_KEY或 ChatGPT 订阅- GitHub Copilot 订阅
GOOGLE_API_KEY或 Vertex AI(gcloud auth application-default login+GOOGLE_CLOUD_PROJECT)DEEPSEEK_API_KEYMOONSHOT_API_KEYDASHSCOPE_API_KEYMINIMAX_API_KEYBIGMODEL_API_KEYSENSENOVA_API_KEYMIMO_API_KEYVOLCENGINE_API_KEYOLLAMA_BASE_URL(默认http://localhost:11434/v1)AGNESAI_API_KEY
搜索:Exa(默认无 key)、TAVILY_API_KEY、BRAVE_API_KEY、SERPER_API_KEY。
配置文件:设置从 ~/.san/ 和 /.san/ 加载,项目级覆盖用户级。项目指令遵循 AGENTS.md 标准:~/.san/AGENTS.md、从仓库根到工作目录的每个 AGENTS.md(最近的优先)、根目录下 git-ignored 的 AGENTS.local.md。
用户级 ~/.san/:
providers.json, models.json, settings.json, skills.json,
personas/, skills/, agents/, commands/, plugins/, projects/
项目级 .san/:
settings.json, mcp.json(团队共享), mcp.local.json(个人,git-ignored),
personas/, agents/*.md, skills/*/SKILL.md, commands/*.md,
plugins/, plugins-local/
Benchmark:San vs Claude Code
对比 Claude Code v2.1.112,Apple Silicon,同一模型 claude-sonnet-4-6:
| 指标 | San | Claude Code | 对比 |
|---|---|---|---|
| 下载体积 | 12 MB | 63 MB(+ Node.js 112 MB) | 小 5x |
| 磁盘占用 | 38 MB | 175 MB | 小 4.6x |
| 启动时间 | ~0.01s | ~0.20s | 快 20x |
| 启动内存 | ~32 MB | ~189 MB | 少 5.8x |
| 简单任务 | ~2.4s / 39 MB | ~10.4s / 286 MB | 快 4.3x,内存少 7.3x |
| 工具调用任务 | ~3.3s / 39 MB | ~26.0s / 285 MB | 快 7.9x,内存少 7.2x |
| Harness 上下文(空首轮的系统提示 + 工具 schema) | ~2.3k tokens | ~20.9k tokens | 精简约 9x |
上下文开销单独在 San v1.22.0 vs Claude Code v2.1.220 测量;其余行来自 v1.13.2 / v2.1.112。
文档
架构、Package Map、Personas、System Prompt(Slot/persona/skill-agent 注入)、Subagents、Skills、Plugins、MCP、Hooks、Permissions、Tasks、Inspector(本地 Web UI 回放 transcript)。
相关项目:Claude Code、Aider、Continue。
社区:微信公众号「极客外传」回复 san 或 三 入群;Slack。
License Apache 2.0