开发与工程 terminal-codinggo-climcpmulti-providersandbox-policystream-jsonlocal-sessions

Zero

可自选模型与权限策略的本地终端编码代理。

FollowAgents 评估 · FARS-2.0
待评估
查看完整评分方法 →

这个 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 工具。

  1. 使用 OpenAI、Anthropic 或 Gemini API 的开发者,希望在自己的终端中让代理检查并修复某个仓库的失败测试。
  2. 使用 Ollama 或 LM Studio 的本地模型用户,需要在不切换到云端专用编码客户端的情况下配置本机推理服务。
  3. 维护 CI 或自动化脚本的工程师,需要通过 `zero exec` 的 JSON 或 stream-JSON 接口发送任务并读取结构化输出。
  4. 要尝试迁移或重构方案的开发者,需要用 `zero exec --worktree` 在隔离 Git worktree 中运行任务。
  5. 处理多个代码库的团队成员,需要借助 `--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/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 setupzero 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 listzero models list 查看配置。

常见问题

Zero 是否只能使用一种模型提供商?
不是。文档列出 25+ 提供商,包括 OpenAI、Anthropic、Gemini、Groq、OpenRouter、Ollama 和 LM Studio,也支持 OpenAI 或 Anthropic 兼容端点。
它会默认拥有完整文件系统和网络权限吗?
不会。工作区读取默认允许;文件写入默认限于工作区。Shell、网络、破坏性命令、提升权限和工作区外写入都需要经过权限控制。
能否在自动化或 CI 中使用?
可以。`zero exec` 支持脚本调用、隔离 worktree、spec-first 运行、有意义的退出码,以及 JSON 和 stream-JSON 输入输出。
会话和上下文保存在哪里?
README 说明会话保存在磁盘上,可搜索、恢复和分叉;Zero 不会将它们作为遥测上传。

相关 Agents