编程 ~12 MB 单二进制、~0.01s 冷启动、~2.3k token 上下文:终端 Agent 运行时 San

2026-09-26 00:03:54

~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 AI
  • OPENAI_API_KEY 或 ChatGPT 订阅
  • GitHub Copilot 订阅
  • GOOGLE_API_KEY 或 Vertex AI(gcloud auth application-default login + GOOGLE_CLOUD_PROJECT)
  • DEEPSEEK_API_KEY
  • MOONSHOT_API_KEY
  • DASHSCOPE_API_KEY
  • MINIMAX_API_KEY
  • BIGMODEL_API_KEY
  • SENSENOVA_API_KEY
  • MIMO_API_KEY
  • VOLCENGINE_API_KEY
  • OLLAMA_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:

指标SanClaude Code对比
下载体积12 MB63 MB(+ Node.js 112 MB)小 5x
磁盘占用38 MB175 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

复制全文 生成海报 终端 Agent Terminal Go Claude Code 运行时

推荐文章

程序员茄子在线接单