Zeroshot 工程验证循环
用独立验证者反复审查编码代理的改动,直到通过或给出可复现失败。
按维度查看评分与理由
证据显示:README 明确支持工作树隔离、Docker 隔离、--no-isolation 逃生舱,以及 --pr/--ship 需要用户确认;提供方凭据不存储,由 CLI 管理;有 SECURITY.md 报告漏洞;依赖有 overrides 和 CI 安全审计。扣分:发布者未验证,来源归属仅基于仓库元数据;未提供密钥管理细节。
证据显示:有大量测试(单元、集成、E2E),CI 包含类型检查、lint、安全审计;README 描述崩溃安全 SQLite 日志和恢复命令。扣分:静态审查无法验证测试通过或运行时行为;依赖可用性未完全验证。
证据显示:README 明确目标用户(开发者)、适用场景(有明确验收标准的任务)、支持多种提供方和问题源;有 --no-isolation 等选项适应不同环境。扣分:Windows 未支持,环境适配有限。
证据显示:有 README、LICENSE、SECURITY.md、CONTRIBUTING.md 等;安装说明清晰;版本号自动递增但注明不稳定;有已知限制(无 TUI、Windows 未支持)。扣分:版本号不稳定,变更日志未提供;维护责任未明确。
证据显示:README 声称 100 倍速度、90 分钟运行、5 次迭代,但无基准数据;提供独立验证价值。扣分:成本效益未量化,静态审查无法验证性能声明。
证据显示:README 描述架构和流程,有架构图;测试文件验证具体行为;CI 有 CodeQL 和 Trivy 扫描。扣分:静态审查无法验证运行时结果;部分声明(如速度)无证据支持。
- 发布者未验证,来源归属仅基于仓库元数据。
- 版本号自动递增,不稳定,需固定版本。
- Windows 未支持,环境适配有限。
- 性能声明(如 100 倍速度)无基准数据支持。
- 静态审查无法验证测试通过或运行时行为。
这个 Agent 能做什么,适合哪些场景?
Zeroshot 是面向自主软件工程的开源多代理编排 CLI。它驱动已安装的 Claude Code、OpenAI Codex、Gemini CLI 或 OpenCode,将实现任务的 executor 与未见过其过程的独立 verifier 分开。conductor 会按任务复杂度和类型选择工作流,执行者在当前目录、Git worktree 或 Docker 中修改代码,验证者给出 APPROVED 或带可复现问题的 REJECTED。运行状态和事件会写入崩溃安全的 SQLite ledger,因此可以用 `zeroshot resume <id>` 继续中断的任务。默认模式只修改文件、不提交也不推送;`--pr` 和 `--ship` 则扩展为 worktree、拉取请求与审批后的自动合并流程。
通过 zeroshot run <input> 接收 GitHub issue 编号、Issue URL、Jira key、Markdown 文件或内联任务文本;Issue 后端会从 git remote 自动识别 GitHub、GitLab、Jira 或 Azure DevOps。conductor 对任务分类并选择 agents 与 validators,executor 调用选定的 provider CLI 实现改动,verifier 在不共享 executor 上下文或历史的条件下检查结果并返回 APPROVED 或 REJECTED。拒绝时,循环携带可操作、可复现的失败信息再次执行;事件写入 SQLite ledger,可用 zeroshot list、zeroshot status <id>、zeroshot logs <id> -f、zeroshot stop <id> 和 zeroshot resume <id> 管理。zeroshot cmdproof check <id> 可复用已验证的精确命令结果;在 --pr 或 --ship 流程中,git-pusher 会在所有配置质量门拥有新鲜的通过证据前失败关闭。
- 维护 GitHub 仓库的工程师,针对编号 issue 实现有明确验收标准的功能,并希望由独立代理审查结果。
- 使用 OpenAI Codex 的团队,需要把现有编码 CLI 放入实现—验证循环,而不是更换模型或托管密钥。
- 准备提交拉取请求的开发者,使用
--worktree --pr在隔离分支中完成修改并在验证通过后创建 PR。 - 运行风险较高实验或并行任务的平台工程师,使用
--docker将每次执行放入容器隔离环境。 - 因重启或中断而暂停自动化开发任务的团队,通过 SQLite ledger 和
zeroshot resume <id>恢复原有运行。
这个 Agent 有哪些优点和局限?
- 实现者和验证者被明确隔离;验证者不查看 executor 的上下文或历史,避免由同一代理自行批准。
- 支持 Claude Code、OpenAI Codex、Gemini CLI 和 OpenCode,可在已有编码 CLI 外增加编排层。
- SQLite ledger 持久化每一步事件,运行在崩溃或重启后可用
resume继续。 --pr与--ship流程对配置的质量门采用失败关闭,缺少新鲜通过证据时不会交接。
- 需要 Node.js 18+,并且必须预先安装和认证至少一个外部 provider CLI。
- 最佳适用任务需要清晰、可验证的验收标准;“让应用更快”或“改进代码库”等探索性任务不适合。
- 默认模式会直接修改文件但不提交或推送,团队需要自行审阅和管理变更;隔离或 PR 流程需显式启用。
- Docker 模式可能挂载
gh、git、ssh 等凭据目录,采用前需要审查挂载范围;Windows 被明确延期。
如何安装或部署这个 Agent?
安装 Node.js 18 或更高版本,并安装至少一个支持的 provider CLI。然后执行:
npm install -g @the-open-engine/zeroshot可用 zeroshot providers 查看已安装的 provider;例如选择 Codex:
zeroshot providers set-default codex如需按 Issue 后端读取任务,还需安装相应 CLI:GitHub 使用 gh,GitLab 使用 glab,Jira 使用 jira,Azure DevOps 使用 az。README 说明当前支持 Linux 和 macOS,Windows 尚未支持。
如何使用这个 Agent?
先确保至少一个 provider CLI 已完成其自身认证,再运行一个任务:
zeroshot run 123也可以运行本地规格或内联需求:
zeroshot run feature.md
zeroshot run "Add a --json flag"为单次任务切换提供方:
zeroshot run 123 --provider gemini需要隔离并创建 PR:
zeroshot run 123 --pr查看运行日志:
zeroshot logs <id> -f这个 Agent 与同类方案有什么区别?
相较于单一编码代理在自行判断完成时停止,Zeroshot 让独立 verifier 审查实际改动和测试结果,并在失败时返回可复现问题;它仍复用 Claude Code、Codex、Gemini CLI 或 OpenCode 作为执行编码的提供方。
常见问题
Zeroshot 会保存我的模型 API 密钥吗?
验证失败后会发生什么?
REJECTED 及可操作、可复现的失败信息,循环会继续,直到通过验证或交回具体无法完成的原因。它会自动提交、推送或合并代码吗?
--pr 会启用 worktree 并创建拉取请求,--ship 在审批后自动合并。