安装器会为 Claude Code、Codex、Copilot CLI 和 Pi 添加技能,不想装技能需参考安装文档跳过;本地运行依赖你已有代理的登录和订阅;内置模板 software-change 默认走 PR 交付,需显式加 --delivery none 才能导出不带 Git 交付的图
zeroshot
the-open-engineMIT活跃维护用 Rust 写的多智能体图编排引擎,自带工作流约束,帮你搭建自动化软件工厂,让编码智能体按既定流程干活。
Multi-agent graph orchestration engine for building your own software factory. Bring your own QA workflow, and the engine enforces it.
npm install -g @the-open-engine-company/zeroshotREADME 未说明
多智能体图编排引擎,用独立评审强制把关,防止编码代理自评自过
用 Rust 写的多智能体图编排引擎,自带工作流约束,帮你搭建自动化软件工厂,让编码智能体按既定流程干活。
核心能力
- 用 JSON 定义图拓扑,含步骤、评审、分支、并行、有界循环
- 评审返回枚举裁决,图据此路由下一步
- 运行前校验类型不匹配、无界循环和不可达分支
- 每个节点可单独指定代理与模型,支持 Claude Code、Codex 等
- 凭据存为命名连接,不进入图、日志和运行记录
容易踩的坑
- zeroshot-python-v12.0.0_1Zeroshot Python SDK 12.0.0.post12026-11-09 · 2026-11-09 01:33 UTC
查看更新说明
Python SDK 12.0.0.post1 for Zeroshot 12.0.0.
- v12.0.0Zeroshot v12.0.0最新正式版2026-11-09 · 2026-11-09 01:29 UTC
Changes since v11.1.0.
Breaking changes
Make machine size identifiers target-owned (#1463)
Targets advertise machine size identifiers, descriptions and their default.
zeroshot target sizes NAMEdisplays the catalog as a formatted table or JSON. CLI, Python SDK and editor preserve target-owned size IDs; the target resolves defaults and rejects unavailable sizes.Public targets configure and enforce their catalog. Accepted history records the concrete size, while retries retain the original request identity. Local CLI and ACP resolve the host default while preserving authored request identity. The descriptor extension uses
run_size_catalogso clients and servers can roll out independently.Breaking change: the shared
RunSizeenum is replaced by an opaque string; omitted size means the target default. Direct/local targets exposehost.Features
Replace merge plans with stacks delivered by merge or stacked pull requests (#1360)
zeroshot stackreplaceszeroshot planfor submitting a set of dependent runs to a hosted target. Manifests use"schema": "zeroshot.stack/v1"and a required"delivery":merge: the same behaviour merge plans had. Each run merges into the base branch before the runs that need it start, and fan-in is allowed. The profile needs exactly onemerge@2ormerge@3delivery node.stacked_pull_requests: validation and submission turn the runs into one linear stack, in dependency order with ties broken by run name. Each run then opens a pull request against the previous run's branch. Nothing is merged. The profile needs exactly onepr@2delivery node.zeroshot stack validateprints the resulting order.
The protocol, discovery (
zeroshot.stacks/v1), Python SDK (Client.submit_stack,StackRequest(delivery=...),StackStatus), docs and skills are renamed to stacks, with no aliases.zeroshot planandzeroshot.merge-plan/v1are no longer accepted.Details
- Protocol:
Stack*types replaceMergePlan*. The submit request carriesdelivery. Each run's status adds an explicit-nullablesourceBranchnext tosourceRevision. Status usesstackId. Discovery uses thestacksextension, and its status and force route templates use a{stack_id}variable. - Delivery branch:
native_v2_delivery::delivery_head_branch(&RunId)is the public function for the pull-request head branch that delivery pushes. First delivery, preflight and recovery all use it, and delivery receipts are unchanged. - Docs: a new guide, Submit a stack (
docs/guides/stacks.md), covers both modes and the linear order. It also covers how a stacked chain is reviewed: GitHub moves a child pull request onto the base when its merged parent's branch is deleted, a squash-merged parent leaves the child needing a rebase, and changes to a parent pull request during review are not restacked. The SDK guide, Python reference, CLI reference (regenerated), AGENTS.md and related guides are updated. - Skills: when plans have
depends_on,zeroshot-planoffers to write.zeroshot/plans/<id>.stack.jsonand leavesdeliveryto the user. Thezeroshotskill explains how to submit a stack and the two delivery modes. - CI: a tooling test validates the guide's and the skill's stack
manifests with
zeroshot stack validate. Changes to the guide or the plan skill also run the tooling lane. Changes to the Rust validator already do, because every native change selects that lane, and a classifier test pins this. - Repository: the root
.venv/is ignored and not part of the change.
Compatibility
This CLI cannot submit stacks until Zeroshot Platform deploys its matching server side, and older CLIs cannot submit afterwards. Merge plans are used only internally today.
Tests
- Protocol tests cover se
- zeroshot-python-v11.1.0_1Zeroshot Python SDK 11.1.0.post12026-11-05 · 2026-11-05 12:12 UTC
查看更新说明
Python SDK 11.1.0.post1 for Zeroshot 11.1.0.
- v11.1.0Zeroshot v11.1.02026-11-05 · 2026-11-05 12:09 UTC
查看更新说明
Changes since v11.0.0.
Features
Add an opt-out for automatic skill installation (#1350)
Add documented
ZEROSHOT_SKIP_SKILLS=1support for npm installation and self-update while preserving default managed-skill protections. Isolate updater tests from the exported setting.Allow disabling workspace checkpoints (#1344)
Add
workspaceCheckpointsto runtime plans, defaulting to enabled. Local runs can set it tofalseto skip Restic setup, workspace snapshots and snapshot cleanup while retaining durable run history, outputs, logs and usage.Normal restart preserves the saved policy and retained workspace. Selected checkpoint restore is rejected before credential resolution when snapshots were disabled. Named targets and contained hosting explicitly reject the opt-out until they support it. Decision bindings are excluded from workspace writers.
The setting works in exact and uniform runtime plans, saved profiles and Python
UniformRuntime. The SDK change also normalizes an existing type union to satisfy its pinned Ruff check.Add local script bindings (#1343)
Add a local
scriptruntime binding to typed graph steps. The runtime supplies an executable and literal arguments. Each invocation exchanges bounded JSON over stdin and stdout, validates the result against the step's output schema, and checks the serialized completion against the existing ledger event limit. Invalid or oversized results follow the graph's normal error handling.The adapter reuses process containment, cancellation, declared connections and credential redaction before diagnostic truncation. Agent instructions remain required for agent bindings, while script steps omit them. Scripts work inside existing maps and record execution timings and zero native model tokens. Decision HTTP timing uses the same small timing helper. Named targets and contained placements explicitly reject this initial local binding.
Add the code-review built-in template (#1348)
Adds
code-review, an alternative topr-reviewthat inspects code and existing tests without installing dependencies or starting applications, services or browsers. It shares the existing PR input, source pinning and native comment delivery:--task-from <PR URL>or prepared{url, context, instructions?}input produces the same comment receipt.Triage partitions the change into units. Four reviewers inspect each unit beside five whole-change specialists; finalizers merge duplicates and try to disprove findings before the report agent writes one comment. Agent errors and map overflow stop publication; a crashed agent gets one retry. Prompt fragments concatenate at compile time, and the report budget leaves room for the publisher header. Models remain in the runtime plan.
The supplied local runtime sets
workspaceCheckpoints: false, skipping workspace snapshots and Restic while retaining durable history, outputs, usage, logs and comment receipts. Uniform runtimes can use the same setting. Named targets currently reject opt-out, so hosted users enable or omit the field as documented. This uses the checkpoint control frommain; it adds no template-specific runtime override.Let hosts choose the author of delivered commits (#1359)
- Hosted runs can choose the author and committer of the commits
delivery creates:
TargetRunRequest.commitIdentity({name, email}) on submission, andRunResumeParams.commitIdentityfor a resumed successor. - When present, it is used for every commit that attempt's delivery
creates: prepared revisions, reconcile merges, target-integration
merges, and the repository-local
user.name/`use
- Hosted runs can choose the author and committer of the commits
delivery creates:
- zeroshot-python-v11.0.0_1Zeroshot Python SDK 11.0.0.post12026-11-02 · 2026-11-02 22:45 UTC
查看更新说明
Python SDK 11.0.0.post1 for Zeroshot 11.0.0.
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
zeroshot
A multi-agent orchestration engine that keeps coding agents from grading their own work.
zeroshot.sh · Discord · Docs · Blog
npm install -g @the-open-engine-company/zeroshot
Single agents have a reliability ceiling. As context grows and complexity compounds, requirements get buried, assumptions go unchallenged, and shortcuts start to accumulate. The agent will optimize for completion and lose track of what correctness requires.
Independent, adversarial review fixes that. A reviewer starts with fresh context and looks for reasons the work should fail. Rejection turns those failures into concrete repair tasks. Each revision faces renewed scrutiny, allowing the system to recover from mistakes that would otherwise survive all the way to “done.”
zeroshot is a multi-agent framework built around this cycle. Define your graph topology, choose your agents and models, and make independent approval a requirement for delivery. The engine enforces the process.
Build your own graph
An example graph: independent reviews, end-to-end testing, and CI must pass before merge.
┌─────────────────┐
│ Goal │
└────────┬────────┘
▼
┌───────────────┐ ┌─────────────────┐
│ Repair ├─────────▶┤ Worker │
└───────┬───────┘ └────────┬────────┘
▲ ┌─────────────┴─────────────┐
│ ▼ ▼
│ ┌─────────────────────┐ ┌─────────────────────┐
│ │ Acceptance review │ │ Code review │
│ └──────────┬──────────┘ └──────────┬──────────┘
│ │ │
│ └─────────────┬─────────────┘
├◀─── either rejects ───────┤
│ │ both approve
│ ▼
│ ┌─────────────────┐
├◀───── fail ──────┤ End-to-end test │
│ └────────┬────────┘
│ ▼ pass
│ ┌─────┐ ┌─────┐ ┌───────┐
│ │ PR ├────▶┤ CI ├─pass──▶┤ Merge │
│ └─────┘ └──┬──┘ └───────┘
└◀───────────── fail ───────────────────┘
Save your graph as a reusable profile and run the same process across tasks.
See more graph examples on zeroshot.sh.
Features
Bring your own graphs
One graph per process your team runs.
- Graphs are JSON: steps, reviewers, branches, parallel work, bounded loops and maps over lists.
- Profiles: save each graph by name and pick one
per run with
--profile. - Agent and model per node: Claude Code, Codex, Copilot CLI, Pi and more, through the providers each agent supports: OpenAI, Anthropic, OpenRouter, Bedrock, Foundry or your own endpoint.
- Delivery: a run can end by pushing a branch, opening a PR,
or opening and merging one on GitHub, GitHub Enterprise or GitLab, or by leaving the change in
your working copy. The built-in template
software-changedefaults to PR delivery.
The engine enforces them
Agents do the work. The graph decides what happens next.
- Checked before it runs: type mismatches,
unbounded loops and unreachable branches are rejected before any agent starts.
--validate-onlyruns just the checks. - Reviewers route the run: each reviewer returns an enum verdict, and the graph routes on it.
- Script steps: run a deterministic command as a step in local runs.
- Secrets stay out of the record: credentials are stored once as named connections and kept out of graphs, run history, logs and the UI.
See inside every run
zeroshot ui: each node's input, output and logs in the browser, on a timeline you can replay.- CLI:
statusandlistreturn JSON,watchandlogsstream resumable events,attachfollows a running agent. - SQLite: one SQLite file per local run.
- Resume: restart a failed run from a checkpoint without redoing finished steps.
Build on it
Drive zeroshot from your own code, CI or UI.
- Python SDK: async Python client for submitting, watching and waiting on runs. Each wheel bundles the matching zeroshot binary.
- JSON-RPC API: run
zeroshot target serveand connect over WebSocket to submit runs, watch their status and which nodes are running, and stream logs. An OpenRPC spec describes the methods. - API keys: expiring, revocable CI keys for hosted targets.
- Agent adapters: add support for another coding agent through a documented contract.
Get started
The installer adds skills for Claude Code, Codex, Copilot CLI and Pi. Open your agent in a repo and ask:
design a zeroshot graph for this repo
The skill reads your repo and builds the graph with you: agents, models, review gates, and delivery. Then plan a task:
plan this with zeroshot: let users export their data as CSV
Run the plan:
zeroshot it
Run locally with your agent's existing login and subscription. Watch with zeroshot ui.
See installation options to skip skill installation.
Edit a graph directly
Export a template with Git delivery disabled:
zeroshot template show software-change --delivery none > graph.json
Edit the graph, choose a runtime, and run it. The review loop guide has complete graph, input, and runtime files; the CLI quick start shows validation and execution.
Hosting
Run locally, self-host with Docker, or share graphs and run on zeroshot Platform using your own model API keys.
Contributing
Development guide · UI development · Publishing · Security · Issues · Discord
MIT. See LICENSE.