Zero
可自选模型与权限策略的本地终端编码代理。
这个 Agent 能做什么,适合哪些场景?
Zero 是运行在本地终端中的 AI 编码代理,提供交互式 TUI 和可脚本化的 `zero exec` 命令。它可检查仓库、编辑文件、运行命令,并使用本地浏览器与终端辅助工具;会话保存在磁盘上,可搜索、恢复和分叉。用户可在 OpenAI、Anthropic、Gemini、Ollama、LM Studio 及兼容端点等 25+ 提供商之间配置模型。其无界面模式支持文本、JSON 与 stream-JSON 输入输出,也支持隔离 worktree 和 spec-first 运行,适用于脚本或 CI。文件写入、Shell 命令、网络访问和工作区外写入均受权限与沙箱策略约束。
运行 zero 打开终端 TUI,或以 zero exec "..." 执行一次编码任务。代理可读取本地工作区、修改工作区文件、通过 exec_command 运行 Shell 命令,并用 web_fetch 读取公开 URL;这些副作用由权限与沙箱策略控制。zero exec 可接受文本提示,也可用 --input-format stream-json --output-format stream-json 处理 JSONL 回合;可用 --worktree 在隔离 Git worktree 中运行,或用 --resume、--fork 继续和分叉本地会话。它还提供 zero mcp 管理 MCP 服务器和工具,并可通过 zero serve --mcp 以 MCP stdio 暴露 Zero 工具。
- 使用 OpenAI、Anthropic 或 Gemini API 的开发者,希望在自己的终端中让代理检查并修复某个仓库的失败测试。
- 使用 Ollama 或 LM Studio 的本地模型用户,需要在不切换到云端专用编码客户端的情况下配置本机推理服务。
- 维护 CI 或自动化脚本的工程师,需要通过 `zero exec` 的 JSON 或 stream-JSON 接口发送任务并读取结构化输出。
- 要尝试迁移或重构方案的开发者,需要用 `zero exec --worktree` 在隔离 Git worktree 中运行任务。
- 处理多个代码库的团队成员,需要借助 `--add-dir` 为当前会话授予额外但受限的写入目录。
这个 Agent 有哪些优点和局限?
- 同时提供交互式 TUI 与 `zero exec` 无界面接口,后者支持 text、JSON 和 stream-JSON I/O,便于脚本和 CI 接入。
- 模型与提供商选择范围广,文档列出 OpenAI、Anthropic、Gemini、Ollama、LM Studio 及 OpenAI/Anthropic 兼容端点。
- 权限模型明确覆盖文件写入、Shell、网络和工作区外写入,并支持通过 `--add-dir` 精确增加写入根目录。
- 本地会话可搜索、恢复、分叉和回退,且 README 声明 Zero 不会将会话作为遥测上传。
- 源码构建要求 Go 1.26.5+;Linux 的原生沙箱还需要额外构建并部署 `zero-linux-sandbox` 辅助程序。
- 使用远程 API 提供商需要用户自行配置相应 API 密钥;实际模型可用性和费用取决于所选提供商。
- Windows 官方 npm 构建仅列出 x64;Windows on ARM 需以模拟方式运行 x64 构建。
- 文档说明发布安装器和 npm 包依赖已发布的 GitHub Release 资产;在首个公开发布之前需要从源码构建。
如何安装或部署这个 Agent?
npm 安装:npm install -g @gitlawb/zerozero
从源码构建需要 Go 1.26.5+:git clone https://github.com/Gitlawb/zero.gitcd zerogo run ./cmd/zero
使用 API 提供商时,在运行 zero setup 前设置对应密钥环境变量或在向导中输入;例如:export OPENAI_API_KEY=sk-...zero setup
本地模型可先运行 Ollama 或 LM Studio,再执行 zero setup 或 zero providers detect。
如何使用这个 Agent?
启动交互界面:zero
执行一次任务:zero exec "fix the failing test in ./pkg"
指定模型:zero exec --model claude-sonnet-4.5 "refactor the config loader"
以 stream-JSON 方式执行:zero exec --input-format stream-json --output-format stream-json < turns.jsonl
可用 zero doctor 检查设置、密钥和连通性;用 zero providers list 与 zero models list 查看配置。