orbi

orbi-buildAGPL-3.0活跃维护

给 GitHub Issue 打上标签,就能自动完成编码、独立评审、合并 PR 并打版本发布,是可自托管的无人值守软件工厂。

Open-source (AGPL-3.0), self-hostable lights-out software factory for the agent era: label a GitHub Issue, get an independently reviewed, merged PR and a tagged release.

v0.7.41发布于 2026-11-08 13:27 UTC248star +3 / 7 天32fork同步于 2026-11-11 00:01 UTC

怎么上手

由 README 提炼,执行前请确认
git clone https://github.com/orbi-build/orbi.git && cd orbi
uv tool install --force --reinstall --editable --python python3 .
cp src/orbi/example_config.toml orbi.toml
orbi setup --config orbi.toml
硬件要求按 README 说明

README 未说明 GPU 或显存要求;需 Linux(systemd 用户会话)或 macOS(launchd GUI 会话),macOS 尚未在真机验证。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

给 GitHub Issue 打标签,自动产出经独立评审并合并的 PR 与发布

给 GitHub Issue 打上标签,就能自动完成编码、独立评审、合并 PR 并打版本发布,是可自托管的无人值守软件工厂。

核心能力

  • 用 ai-ready 标签触发任务,GitHub Issues 即任务池
  • 在隔离 worktree 中实现、测试并开 PR
  • 独立评审会话修复问题后才允许合并
  • systemd/launchd 定时器每 5 分钟自动跑一轮
  • 全链路共用 run_id,日志与评论可追溯

容易踩的坑

需要 Python ≥ 3.14,Ubuntu 24.04 自带的 3.12 要用 --python 3.14 让 uv 另装;GitHub CLI 需 ≥ 2.94,Ubuntu 24.04 软件包的 2.45.0 太旧;还需先装好 Pi 及其 provider 并完成 gh auth login,且在 orbi.toml 里设置 source_repos。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.7.41
  1. v0.7.41最新正式版2026-11-08 · 2026-11-08 13:27 UTC

    v0.7.41

    Changelog

    Features

    • orbi suggest: the small-task preference is a caller input (--size ), not a built-in rule; already_suggested drops size (Issue #2139; PR #2146)
    • prompts/prompt.md: drop Orbi's own MVP boundary (no database/queue/daemon) from the default implementer prompt for delivered repositories (Issue #2142; PR #2149)
    • orbi suggest: the #2119 why check matches the engine's input paths, not the word context.json (Issue #2143; PR #2150)
    • orbi suggest: already_suggested is scoped to the repository (the batch file records repo) (Issue #2145; PR #2151)
    • orbi draft accepts a bare-string question and a question without header or options, returns them as {"question": "..."} objects, and does not validate where the (Recommended) option sits; no code, prompt, tool description or round-document text refers to a hosted page, preselection or an "Other" row added by a page. (Issue #2147; PR #2152)
    • The engine drafting rules and the write-ai-ready-issue skill agree: the full-form Issue body no longer asks for the commit line at the top, and both state that an Assumptions section appears only when at least one decision was taken. (Issue #2148; PR #2153)

    Contributors

    • tag: v0.7.41
    • release commit: fbafd09fe49a20299e96565f100633bca61ae2af
    • release task: Issue #2144

    Scope (verified item by item)

    • Issue #2139 closed
    • Issue #2140 closed
    • Issue #2142 closed
    • Issue #2143 closed
    • Issue #2145 closed
    • Issue #2147 closed
    • Issue #2148 closed

    Pre-release gates

    • no open Issue in milestone 'v0.7.41' carries ai-in-progress / ai-pr-opened / ai-fix-needed
    • CI on the release commit: 5 check(s) all success/neutral/skipped (waited 420s for pending checks)

    Tests

    • release tests gated by GitHub Actions CI on the release commit fbafd09fe49a20299e96565f100633bca61ae2af (the #268 CI-wait gate; no local test execution)

    run_id=24b0a18a

    Released by Orbi

    Download Orbi

  2. v0.7.402026-11-08 · 2026-11-08 04:48 UTC
    查看更新说明

    v0.7.40

    Changelog

    Features

    • orbi draft: clarifying questions carry 2–4 options with a recommended one first (restore the hosted design) (Issue #2136; PR #2137)

    Contributors

    • tag: v0.7.40
    • release commit: 4fed67e82fae28f38a76b148936e00f4b2b8dd72
    • release task: Issue #2138

    Scope (verified item by item)

    • Issue #2136 closed

    Pre-release gates

    • no open Issue in milestone 'v0.7.40' carries ai-in-progress / ai-pr-opened / ai-fix-needed
    • CI on the release commit: 5 check(s) all success/neutral/skipped (waited 360s for pending checks)

    Tests

    • release tests gated by GitHub Actions CI on the release commit 4fed67e82fae28f38a76b148936e00f4b2b8dd72 (the #268 CI-wait gate; no local test execution)

    run_id=6ebcfd42

    Released by Orbi

    Download Orbi

  3. v0.7.392026-11-08 · 2026-11-08 01:34 UTC
    查看更新说明

    v0.7.39

    Changelog

    Features

    • orbi suggest:每条建议带 size,仓库里有有依据的小任务时首轮给一条(十分钟量级) (Issue #2131; PR #2132)
    • 写需求:有默认答案的分歧写进 Assumptions 直接开工,不再用「➜ recommended」式提问 (Issue #2133; PR #2134)

    Documentation

    • docs(workflow): document queueing dependent Issues with GitHub's blocked by (Issue #2127; PR #2129)
    • docs(workflow): explain how a delivery triggers the user's CI and how to keep runs down (Issue #2128; PR #2130)

    Contributors

    • tag: v0.7.39
    • release commit: bc2ba6014af086060d4b8a4c279e16e831aa1c8f
    • release task: Issue #2135

    Scope (verified item by item)

    • Issue #2131 closed
    • Issue #2133 closed

    Pre-release gates

    • no open Issue in milestone 'v0.7.39' carries ai-in-progress / ai-pr-opened / ai-fix-needed
    • CI on the release commit: 5 check(s) all success/neutral/skipped (waited 420s for pending checks)

    Tests

    • release tests gated by GitHub Actions CI on the release commit bc2ba6014af086060d4b8a4c279e16e831aa1c8f (the #268 CI-wait gate; no local test execution)

    run_id=9206c3e2

    Released by Orbi

    Download Orbi

  4. v0.7.382026-11-06 · 2026-11-06 03:11 UTC
    查看更新说明

    v0.7.38

    Changelog

    Features

    • Stop writing the ORBI_ACTIVE_MILESTONE Actions variable into delivered repositories (Issue #2123; PR #2124)

    Contributors

    • tag: v0.7.38
    • release commit: 99c87acfd7be341772979c979fb5a154176bfbd6
    • release task: Issue #2126

    Scope (verified item by item)

    • Issue #2123 closed

    Pre-release gates

    • no open Issue in milestone 'v0.7.38' carries ai-in-progress / ai-pr-opened / ai-fix-needed
    • CI on the release commit: 5 check(s) all success/neutral/skipped (waited 390s for pending checks)

    Tests

    • release tests gated by GitHub Actions CI on the release commit 99c87acfd7be341772979c979fb5a154176bfbd6 (the #268 CI-wait gate; no local test execution)

    run_id=fb8ffd11

    Released by Orbi

    Download Orbi

  5. v0.7.372026-11-05 · 2026-11-05 13:44 UTC
    查看更新说明

    v0.7.37

    Changelog

    Features

    • chore(deps): bump pypa/gh-action-pypi-publish from 1.14.2 to 1.14.3 in /.github/workflows in the github_actions group across 1 directory (PR #2039)
    • orbi suggest: a suggestion's why names Orbi's internal context.json (Issue #2119; PR #2122)

    Contributors

    • tag: v0.7.37
    • release commit: 31c5c07db19deeb12e9931fd240fbadf6aec3a3e
    • release task: Issue #2121

    Scope (verified item by item)

    • Issue #2119 closed

    Pre-release gates

    • no open Issue in milestone 'v0.7.37' carries ai-in-progress / ai-pr-opened / ai-fix-needed
    • CI on the release commit: 5 check(s) all success/neutral/skipped (waited 420s for pending checks)

    Tests

    • release tests gated by GitHub Actions CI on the release commit 31c5c07db19deeb12e9931fd240fbadf6aec3a3e (the #268 CI-wait gate; no local test execution)

    run_id=01681452

    Released by Orbi

    Download Orbi

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    English | 简体中文

    Orbi

    Label a GitHub Issue. Get back a reviewed, merged PR. Release when you decide.

    Try Orbi Cloud — 3 merged deliveries free · no server, no credit card required

    Watch the 95-second film

    See one real loop: Issue #1367 → PR #1370 → Release v0.5.47

    Orbi is an open-source software dark factory: a software delivery system for GitHub. You define the goal and acceptance criteria in an Issue and label it ai-ready; Orbi implements it in an isolated worktree, runs tests, opens a PR, and takes it through independent review, fixes, and merge. When you request a release, Orbi runs the release gates and publishes the tag and release notes. GitHub Issues are the only state store—no database, queue, or daemon.

    Ledger: merged PRs · closed Issues · tagged releases — the repository is the record.

    Website https://orbi.build | Documentation https://docs.orbi.build/ | Discussions | Docker GHCR · Docker Hub

    Prefer to run it yourself? Follow the Quick start below. Cloud founding members get 50% off forever with the code FOUNDING50 at checkout (6 places).

    Quick start

    git clone https://github.com/orbi-build/orbi.git && cd orbi
    uv tool install --force --reinstall --editable --python python3 .  # compatible system Python (>= 3.14, e.g. Fedora 43 / current Arch); older (e.g. Ubuntu 24.04's 3.12): --python 3.14 so uv provisions it
    

    Want just the CLI? It's on PyPI as orbi-cli (requires Python ≥ 3.14; the command stays orbi): uv tool install orbi-cli (older system Python: add --python 3.14 so uv provisions one) or pip install orbi-cli in a Python ≥ 3.14 environment; verify with orbi --version → orbi <version>, uninstall with uv tool uninstall orbi-cli. To run Orbi itself, use the one-line installer at the top of Getting started — it creates the editable install Orbi's deployment drives.

    Ready check (before setup)

    • uv: uv --version; Pi and its provider: pi --version, then pi --print "reply with the single word: ok"
    • GitHub CLI ≥ 2.94 (official repository — Ubuntu 24.04's package 2.45.0 is too old): run gh auth login once, then verify gh auth status
    • Linux — systemd user session: systemctl --user status
    • macOS — launchd GUI session: launchctl print gui/$(id -u) (not yet verified on real hardware; reports welcome)

    Choose the mode in Getting started: bootstrap uses this checkout as repo_dir; External single-repo mode uses it as deploy_home and a foreign repository as repo_dir.

    cp src/orbi/example_config.toml orbi.toml
    # edit orbi.toml: set source_repos = ["OWNER/REPO"] (the repository whose Issues Orbi delivers)
    orbi setup --config orbi.toml  # 4. run one-time setup (checks prior gh auth, labels, scheduler units (systemd/launchd), and checkout; idempotent)
    PYTHONPATH=src python3 -m orbi.runner --config orbi.toml  # 5. manually run one tick (for initial verification; the timer schedules normal runs)
    orbi doctor --config orbi.toml  # 6. verify deployment health
    

    The loop, in 35 seconds

    Another real delivery, recorded from the live GitHub pages — including the review that rejected the first attempt:

    1. An issue — a bug, labelled ai-ready
    2. It writes the code — PR #1023, on a recorded base SHA
    3. The review says no — one Major finding, naming src/orbi/release.py:2377 and the fix
    4. It fixes itself — more commits, until the checks go green
    5. It merges — 9 commits, +427/−43, only after the review passed
    6. A tagged release — v0.5.17, with the Issue and PR in the notes

    Why Orbi

    • GitHub Issues are the task pool: the ai-ready label dispatches work, and the delivery record (comments, PRs, and CI) is complete by default, with no second task system;
    • Fully automated: a user scheduler timer (systemd on Linux, launchd on macOS) triggers a tick every 5 minutes. Normal operation needs no status command, polling, or supervision;
    • Independent review + merge gates: after a PR opens, an independent review session reviews it and fixes findings in the same session. Only the reviewed head can merge, and AI never merges or pushes protected branches;
    • Fail fast: command errors fail immediately and leave the evidence in the logs. The Issue is marked ai-blocked for a human decision, with no silent fallback;
    • Observable end to end: every journal log and GitHub progress comment carries the same run_id, so the complete timeline can be reconstructed with one grep.

    What it does

    GitHub Issue (ai-ready)
      → Claim: create a feature branch + isolated worktree (from the frozen origin/main SHA)
      → Pi development: plan → implement → test → verify
      → Commit delivery (the Agent stops at the commit)
      → Runner closeout: sync the latest base, push, and create a PR (body includes Fixes #N)
      → Independent review (fixes in the same session) → merge gate → merge
    
    • Each task gets its own run: the branch, worktree, logs, and PR are all associated with the same run_id; retries create a new run and preserve the old evidence unchanged;
    • Failures are classified clearly: recoverable failures return to the same PR for continued fixes, while unrecoverable failures mark the Issue ai-blocked for a human;
    • Supports orbi add for dispatching work, status for viewing the queue, session for following the Pi session, install-units for idempotently installing the scheduler units (systemd on Linux, launchd on macOS), and doctor for read-only diagnostics.

    Documentation

    TopicEntry point
    Documentation homehttps://docs.orbi.build/
    Getting started (prerequisites, configuration, first run, smoke test)Getting started
    One-time setup (labels, units, transport migration)One-time setup
    Workflow (state chain, labels, P0, Epic, Release)Workflow
    Operations (timer, journal, unit drift, recovery)Operations
    Public contracts (interface inventory, status and progress formats)Public contracts
    Testing, coverage gates, and remote CITesting
    Contributing (Issue granularity, KISS/LEAN, PR flow)Contributing
    Chinese documentationdocs/zh/

    Development and contribution

    See the development contract in AGENTS.md, and Contributing for dispatching Issues, reporting bugs, and submitting PRs. Runtime code lives in the src/orbi/ package (Issue #168 src layout; the editable finder maps the whole package, so new modules need no reinstall). The checkout root has no orbi.py (it would shadow the installed package); the compatibility entry point is python3 -m orbi.cli, not the formal usage path.

    License

    Orbi is open source under the GNU AGPL-3.0, with the Sustainable Use License (v1.0) as an alternative. Pick either license.

    In practice:

    • Run Orbi on your own repositories for free forever—personal or internal company use, at any scale, under either license. Modify it, self-host it, run it across a thousand repositories; no authorization needed.
    • You may share it—free of charge for non-commercial purposes under the SUL; under AGPL-3.0, offering a modified Orbi as a network service means publishing your changes.
    • Commercial authorization is needed only to sell Orbi itself—hosting it as a service for customers or embedding it in a paid product (SUL); AGPL-3.0 has no such restriction.

    Unsure which side your use falls on? Ask in Discussions.