Zero
可自选模型与权限策略的本地终端编码代理。
- Star 数
- ★ 1.8k
- 最近更新
- 1 天前
- License
- MIT
- 主语言
- Go
- FA 评分
- 59/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 使用 OpenAI、Anthropic 或 Gemini API 的开发者,希望在自己的终端中让代理检查并修复某个仓库的失败测试。
- 不适合
- 只使用 Windows on ARM 且不愿接受 x64 模拟运行的用户
- 需要开箱即用、不想自行编译 Go 源码或沙箱辅助程序的用户
- 源码审查
- 59/100 · 缺口较多
这个 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?
npm 安装:
npm install -g @gitlawb/zero
zero从源码构建需要 Go 1.26.5+:
git clone https://github.com/Gitlawb/zero.git
cd zero
go 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 查看配置。
这个 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 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Zero 当前 | 59 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.8k | 1 天前 | Go | OpenAI API · Claude API |
| Oh My Pi | 54 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 38k | 今天 | TypeScript | Codex · OpenAI API · Claude API |
| Forge 终端编程助手 | 46 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 7.6k | 6 天前 | Rust | OpenAI API · Claude API |
| AgenC Core | 74 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 108 | 今天 | TypeScript | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:README 描述了权限模型(工作区读取默认允许,写入限于工作区,shell/网络/破坏性命令需权限),有 --add-dir 和 /add-dir 授予额外写入根,不安全/自主模式需显式选择,秘密从工具输出和日志中编辑。CI 包含 govulncheck 作为硬门禁。SECURITY.md 提供漏洞报告流程。扣分:未提供代码级验证,权限模型仅文档断言;回滚仅提及 /rewind 和会话恢复,无具体机制;发布者未验证,来源归属仅基于仓库元数据。
证据显示:README 和 CI 一致,go.mod 和 package.json 版本一致,CI 有测试、构建、冒烟测试。扣分:未提供失败消息的具体示例,依赖可用性仅通过 CI 间接保证,未提供运行时错误处理细节。
证据显示:README 覆盖多种使用场景(TUI、headless exec、CI、扩展),明确能力边界(权限门控、沙箱),触发方式明确(命令、slash 命令、环境变量),支持多平台(Linux/macOS/Windows)。扣分:未提供详细的场景示例或边界条件,环境适配仅文档描述。
证据显示:README 结构清晰,安装说明详细,命名一致(zero 命令),有示例和 FAQ 链接,MIT 许可证明确。扣分:无 CHANGELOG,版本号仅 package.json 有 0.6.0,维护责任未明确,已知限制未列出。
证据显示:README 展示多种输出格式(文本、JSON、stream-JSON),提供脚本化接口,价值主张明确(多提供商、本地会话、可扩展)。扣分:未提供性能基准或成本数据,边际价值仅基于功能列表。
证据显示:README 声称的功能与代码结构一致(如命令列表),CI 提供测试和构建验证。扣分:无独立来源验证,事实与推断未明确区分,部分声明(如性能)无数据支持。
- 发布者未验证,安装脚本(curl | bash)存在供应链风险,建议审查脚本内容。
- 权限模型依赖文档声明,未提供代码级验证,实际行为可能不同。
- 回滚机制仅提及 /rewind 和会话恢复,未提供具体实现细节,可能不完整。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
[0.12.0](https://github.com/Twigpine/zero/compare/v0.11.0...v0.12.0) (2026-11-02) Features * providers: add MiniMax-M3.1-Flash to catalog ([#1180](https://github.com/Twigpine/zero/issues/1180)) ([d99f92b](https://github.com/Twigpine/zero/commit/d99f92b81a671f186cede81614c89b8e8a7f9451)) * sandbox: support self-exec pattern to eliminate separate helper binary ([#946](https://github.com/Twigpine/zero/issues/946)) ([8c4e759](https://github.com/Twigpine/zero/commit/8c4e7597989ef9b3ca67b7703dfd15d92372aed2)) …在 GitHub 查看 ↗ -
发布说明摘录
[0.11.0](https://github.com/Twigpine/zero/compare/v0.10.0...v0.11.0) (2026-10-15) Features * providers: add Concentrate provider preset ([#1147](https://github.com/Twigpine/zero/issues/1147)) ([61b0936](https://github.com/Twigpine/zero/commit/61b09364f0f45b0fa8aebaf0a6c3d1c55dbe01c3)) Bug Fixes * cli: let providers subcommands run with no active provider ([#1143](https://github.com/Twigpine/zero/issues/1143)) ([d1a0d04](https://github.com/Twigpine/zero/commit/d1a0d048ee2c1e7cbfb75160ec4c9f099f3c4472)) …在 GitHub 查看 ↗ -
发布说明摘录
[0.10.0](https://github.com/Twigpine/zero/compare/v0.9.0...v0.10.0) (2026-10-15) Features * notify: make permission-prompt alerts on by default and discoverable ([#1001](https://github.com/Twigpine/zero/issues/1001)) ([7f8e5f0](https://github.com/Twigpine/zero/commit/7f8e5f08bb83371ce16cc54c97ab032a010026cf)) * npm: publish as @twigpine/zero ([#1142](https://github.com/Twigpine/zero/issues/1142)) ([530563a](https://github.com/Twigpine/zero/commit/530563a0bb58d3cbadceb97b3ee234ef763124df)) …在 GitHub 查看 ↗
常见问题
Zero 是否只能使用一种模型提供商?
它会默认拥有完整文件系统和网络权限吗?
能否在自动化或 CI 中使用?
zero exec 支持脚本调用、隔离 worktree、spec-first 运行、有意义的退出码,以及 JSON 和 stream-JSON 输入输出。