constellation-works/orbit/tree/agent-main/plugin
orbit
AI コーディングエージェント向けの永続タスク、サンドボックス並列実行、PR ゲート付き配送。Orbit の MCP ツールとワークフロー skill を Claude Code に追加します。
この mod について
<p align="center"> <a href="https://orbit-cli.com"> <picture> <source media="(prefers-color-scheme: dark)" srcset="docs/assets/orbit-lockup-on-dark.svg" /> <img src="docs/assets/orbit-lockup-on-light.svg" alt="Orbit" width="340" /> </picture> </a> </p> <h3 align="center">エージェントが書く。Orbit が届ける。</h3> <p align="center"> <a href="https://github.com/constellation-works/orbit/releases"><img src="https://img.shields.io/github/v/release/constellation-works/orbit" alt="Release" /></a> <a href="https://www.npmjs.com/package/@orbit-tools/cli"><img src="https://img.shields.io/npm/v/@orbit-tools/cli" alt="npm" /></a> <a href="LICENSE.md"><img src="https://img.shields.io/badge/license-MIT-blue" alt="License: MIT" /></a> <a href="https://orbit-cli.com"><img src="https://img.shields.io/badge/docs-orbit--cli.com-informational" alt="Docs" /></a> </p> <p align="center"> <img src="docs/assets/orbit-demo.gif" alt="Animated tour of the real Orbit dashboard on a live workspace: proposed tasks waiting for your approval, an auto-drain running tasks in parallel while overlapping work waits on file locks, a task's durable record, the run list, a pull-request pipeline run stepping from isolated worktree through implement, commit, review gate, and push to pr_open, the audit log of every tool call, and a scoreboard comparing Codex, Claude, Grok, and Gemini." width="880" /> </p>Orbit はローカルファーストのコーディングエージェント向けランタイムです。Claude Code、Codex、Cursor、Copilot、その他の対応 CLI をそのまま使えます。Orbit は永続タスクキュー、分離されたサンドボックス作業ツリー、並列実行用のファイル単位ロック、プルリクエストで終わるゲート付きパイプライン、各手順の監査ログを提供します。
理由: エージェントは十分に速くなり、最初に失われるのは計画、レビュー、追跡可能性です。6 か月後には、なぜその行を書いたのか誰にも分かりません。Orbit はこうした規律を低コストにし、事務作業からあなたを解放します。エージェントがタスクを登録し、Orbit が実行し、すべてのコミットにタスク ID が付くため、プロンプト、計画、レビューまでたどれます。
- 単一バイナリ、クラウドなし。 状態は
~/.orbitと.orbit/に保存されます。外部へ通信しません。 - 自分のエージェントを使う。 Orbit は認証済みのプロバイダー CLI を駆動し、API キーを要求しません。
- MIT ライセンス。 有料プランもホスト型サービスもありません。
仕組み
$ orbit init # one-time, per machine
$ cd my-repo && orbit workspace init --mcp # per repo; wires Orbit into your agent CLIs
$ orbit web serve # open the Orbit dashboard in your browser
You: The fsProfile lookup is undocumented. Get that fixed.
Agent: orbit.task.add → ORB-1042 · proposed
Filed with acceptance criteria. Approve it and ship?
You: Yes.
Agent: orbit.task.update → ORB-1042 · backlog
orbit.workflow.ship → worktree isolated · file scope locked · plan → execute → review
Pull request opened. ORB-1042 is in review. The diff and the merge are yours.
$ orbit task update ORB-1042 --approve # after you merge: review → done
<sub>例示的なセッションです。ツール名は実在し、ID はプレースホルダーです。</sub>
複数のタスクがある場合は、仕様をエージェントに渡してオーケストレーションを頼みます。付属の orbit-orchestrate skill は仕様をタスクに分割し、承認後にキューへ入れ、orbit run auto で並列実行し、失敗した実行を診断します。
- あなたの承認なしには何も始まりません。 新しいタスクは
proposedに入り、あなたが承認したときだけbacklogに移ります。 - すべての実行はプルリクエストで終わります。 Orbit が自動でマージすることはありません。PR のマージとタスクの完了は別の判断です。ただし明示的に
--completeを渡した場合は除きます。 - すべてが記録されます。
orbit task show ORB-1042は、数か月後でもプロンプト、計画、実行トレース、レビューのスレッドを復元します。
クイックスタート
必要なもの: macOS または Linux(x64 または arm64。Windows ではネイティブ Windows ビルドがないため WSL2 内で Orbit を実行してください。Windows WSL2 ガイドを参照)、Node 18+、認証済みのエージェント CLI 1 つ以上。プルリクエストを使う場合は、認証済みの gh も必要です。
npm install -g @orbit-tools/cli
orbit init # asks for a machine name and a task-ID prefix, links Orbit's skills into your agents, and on Linux prepares the sandbox
次にエージェントにリポジトリを設定させます。 リポジトリでエージェントを開き、*「このリポジトリに Orbit を設定して」*と頼みます。付属の orbit-setup skill がリポジトリを登録し、MCP 経由でエージェントに接続し、orbit doctor を実行します。プルリクエストの対象ブランチなど、推測できないことだけを質問します。完了したら新しいエージェントセッションを開始して Orbit ツールを読み込み、依頼を出します。タスクの登録、承認の依頼、配送、PR の報告まで行います。orbit web serve ですべてを確認できます。
cd <repo> && orbit workspace init --mcp # add --ship-mode local to skip PRs
orbit doctor
orbit web serve
最初の配送前に、workspace init が一覧にしたチェックアウトファイルをレビューしてコミットします。ローカル配送にはクリーンなベースチェックアウトが必要で、一覧には MCP クライアントファイルが含まれます。
orbit doctor は、デフォルト、システム、または複雑度ルーティングで選ばれたクルーに不足している CLI を報告し、このワークスペースに Orbit MCP クライアントが登録されていない場合は警告します。確認するのは CLI の存在と登録ファイルだけで、プロバイダーのサインインや MCP 接続は確認しません。orbit doctor providers で、ワークフロールーティングで選ばれていないプロバイダーを含むすべてのエグゼキューター定義を確認できます。Linux では サンドボックスの準備状況とディストリビューション対応を参照してください。
| 操作 | 実行 |
|---|---|
| タスクまたは実行を確認 | orbit task show <ID> · orbit run show <RUN_ID> |
| ダッシュボードを開く | orbit web serve(リモート:orbit web connect <host>) |
| デフォルトクルー(プロバイダーとモデル)を選ぶ | orbit config set workflow.default_crew <crew> |
| 更新 | npm install -g @orbit-tools/cli@latest(orbit update --check で変更点を確認) |
すべての MCP ツールには CLI 版があります。
TASK_ID=$(orbit task add --title "..." --description "..." \
--acceptance-criteria "..." --complexity medium --workspace .)
orbit task update "$TASK_ID" --approve # proposed → backlog
orbit run ship "$TASK_ID" # async; prints a run ID
orbit run show <RUN_ID> # progress and outcome
orbit task update "$TASK_ID" --approve # after merging the PR: review → done
</details>
機能
計画と統制
- 意図を持つ永続タスク。 タスクには受け入れ条件、ファイル範囲、依存関係、型付きリレーションが含まれます。
proposed → backlog → in-progress → review → doneを移動し、その状態はセッションやブランチをまたいで保持されます。 - 構造化された監査ログ。 すべてのツール呼び出し、プロバイダーとの交換、状態遷移が追記専用の検索可能なイベントとして記録され、生成したエージェントとモデルがタグ付けされます(
orbit audit)。 - 摩擦台帳。 分かりにくいエラー、欠けたフラグ、文書化されていない慣習などで作業が難しくなったとき、エージェントは黙って回避せず
orbit friction addで記録します。その摩擦を解消するタスクが完了すると、摩擦も閉じられます。 - ローカル検索。
orbit searchはタスクと摩擦を SQLite FTS5 で高速な語彙検索にかけます。モデルのダウンロードは不要です。
安全な並列実行
- 分離されたサンドボックス実行。 各実行は専用の git worktree を持ち、macOS では
sandbox-exec、Linux では Bubblewrap の下でエージェント CLI を動かします。Linux ではワーカー実行も cgroup でメモリ制限されます。 - 衝突を考慮したスケジューリング。 実行前にタスクのファイルをロックとして予約するため、重複する作業は後からマージ競合を起こす代わりに列に並んで待ちます。
- ゲート付きパイプライン。 各実行は plan → execute → review を通り、修復予算と失敗復旧を備えます。依存関係が受付を制御するので、順序を一度宣言すればキューが強制します。
- クルーでルーティングされる 9 つのエージェント CLI。 Claude Code、Codex、Cursor、Copilot、Grok、Gemini、Antigravity、OpenCode、Pi。クルーはプロバイダー、モデル、努力レベルを固定します。複雑度別の重み付きクループールが作業を分散します。
無人実行
- 範囲を限定した排出。
orbit run auto --for 4h --concurrency 8は時間枠が閉じるまでバックログを配送します。orbit run readinessは何も開始せずに実行対象をプレビューします。エージェントに 1 つ実行させることもできます。orbit-orchestrateskill がバックログを準備し、排出を開始し、失敗した実行に対応します。 - オプトインの完了。 GitHub が許可すると
--completeが PR をマージし、マージ確認後にタスクを閉じます。これを有効にするものは他にありません。 - 継続的なレビュー。 同梱の
code-review、qa-sweep、security-reviewの自動タスクは、前回の実行以降に取り込まれたものをすべて読み、ライブコードで指摘を検証し、確認済みのものをfile:lineの証拠付きタスクとして登録します。 - 定期作業をデータとして扱う。 スケジュール済みタスクテンプレートは
.orbit/auto_tasks/*.yamlにあり、1 台のマシンスケジューラー(orbit clock)がルーチンと自動タスクを実行します。 - マルチマシン。 分散排出は永続的な claim でバックログを複数マシンに分散します。フェデレーテッド MCP サーバーはローカルと SSH リモートのワークスペースを 1 つの名前空間にまとめます。
観察と拡張
- ダッシュボード(
orbit web serve)。タスクのバックログ、ライブ監査フィード、エージェント別スコアボード、ジョブ、摩擦、有効な設定を表示し、インライン編集に対応します。 - プラグイン(
orbit plugin)。プラグインは独自のツール、ジョブ、ルーチン、自動タスク、skill、CLI コマンドを追加できます。明示的な権限付与の下でサンドボックス実行され、orbit plugin scaffoldがスターターを生成します。 - エージェント skill。 Orbit には
orbit(日常のタスク作業)、orbit-orchestrate(バックログとディスパッチ)、orbit-setup(マシンとリポジトリ設定)の 3 つの skill が付属します。orbit initがエージェントへリンクします。
これらは一度に 1 つずつ導入できます。タスク層と監査ログは初日から機能し、並列排出、自動タスク、プラグインは必要になったときに有効にします。
エージェントプラグイン
CLI を PATH にインストールせず、1 つのエージェントに Orbit の MCP ツールと skill を与えるには、プラグインを追加します。固定された npm CLI を起動します。ダッシュボードとエージェント間のワークスペース設定には CLI のインストールが引き続き必要です。
# Claude Code
/plugin marketplace add constellation-works/orbit
/plugin install orbit
# Codex CLI
codex plugin marketplace add constellation-works/orbit --ref agent-main
codex plugin add orbit@orbit
# Cursor (local plugin from a checkout)
mkdir -p ~/.cursor/plugins/local && ln -sfn "$(pwd)/plugin" ~/.cursor/plugins/local/orbit
設定を案内してほしい場合は、エージェントに*「このリポジトリに Orbit を設定して」*と頼んでください。付属の orbit-setup skill が後を引き受けます。
Claude Code デスクトップ
Claude Code では、プラグインが Orbit mod も追加します。プロンプトの上にワークスペースの実行中、ブロック中、レビュー中の件数を表示する帯と、タスクボード、orbit run ship を事前チェックして追跡する配送ビュー、軌道マップを備えた Orbit ペインが現れます。/orbit-board、/orbit-ship、/orbit-map で開きます。チェックアウトがレプリカの場合は、プラグインの ownerHost オプションを所有者の SSH ホストに設定します。plugin/hooks/modを参照してください。
Codex デスクトップ
Node.js 18+(npx を含む)と、PATH 上の Codex CLI が必要です。
-
ターミナルから Orbit marketplace を登録します。
codex plugin marketplace add constellation-works/orbit --ref agent-main -
デスクトップアプリを再起動します。Plugins Directory を開き、Orbit marketplace を選択して Orbit をインストールします。
-
リポジトリで新しいチャットを開始し、*「このリポジトリに Orbit を設定して」*と頼みます。
[公式 marketplace セットアップガイド](https://developers.openai.com/plugins/build/plugins#add-a-marketplace-from-th
インストール
まず作者の README で marketplace とプラグイン名を確認してください。コマンドはリポジトリの構成によって変わる場合があります。
claude plugin marketplace add constellation-works/orbit claude plugin install orbit
原文 / README
Orbit is a local-first runtime for coding agents. You keep using Claude Code, Codex, Cursor, Copilot, or any of the other supported CLIs. Orbit gives them a durable task queue, isolated sandboxed worktrees, file-level locks for parallel runs, a gated pipeline that ends in a pull request, and an audit log of every step.
Why: agents are fast enough that planning, review, and traceability are the first things to go. Six months later nobody can say why a line was written. Orbit makes those disciplines cheap and keeps you out of the clerical work. The agent files the task, Orbit runs it, and every commit carries a task ID you can trace back to the prompt, the plan, and the review.
- Single binary, no cloud. State lives in
~/.orbitand.orbit/. Nothing phones home. - Bring your own agents. Orbit drives the provider CLIs you already have authenticated, and never asks for API keys.
- MIT licensed. No paid tier, no hosted offering.
How it works
$ orbit init # one-time, per machine
$ cd my-repo && orbit workspace init --mcp # per repo; wires Orbit into your agent CLIs
$ orbit web serve # open the Orbit dashboard in your browser
You: The fsProfile lookup is undocumented. Get that fixed.
Agent: orbit.task.add → ORB-1042 · proposed
Filed with acceptance criteria. Approve it and ship?
You: Yes.
Agent: orbit.task.update → ORB-1042 · backlog
orbit.workflow.ship → worktree isolated · file scope locked · plan → execute → review
Pull request opened. ORB-1042 is in review. The diff and the merge are yours.
$ orbit task update ORB-1042 --approve # after you merge: review → done
<sub>Illustrative session. The tool names are real, and the IDs are placeholders.</sub>
For more than one task, hand your agent a spec and ask it to orchestrate. The bundled orbit-orchestrate skill splits the spec into tasks, queues them once you approve, runs them in parallel with orbit run auto, and diagnoses any run that fails.
- Nothing starts without you. New tasks land in
proposed, and only your approval moves them tobacklog. - Every run ends at a pull request. Orbit never merges on its own. Merging the PR and completing the task are separate decisions, unless you explicitly pass
--complete. - Everything is on the record.
orbit task show ORB-1042reconstructs the prompt, plan, execution trace, and review thread, even months later.
Quick start
You need: macOS or Linux (x64 or arm64; on Windows, run Orbit inside WSL2, as there is no native Windows build: see the Windows WSL2 guide), Node 18+, at least one authenticated agent CLI, plus gh authenticated if you want pull requests.
npm install -g @orbit-tools/cli
orbit init # asks for a machine name and a task-ID prefix, links Orbit's skills into your agents, and on Linux prepares the sandbox
Then let your agent set up the repo. Open your agent in the repository and ask it to "set up Orbit for this repo". The bundled orbit-setup skill registers the repo, connects your agent over MCP, and runs orbit doctor, asking only for what it can't infer, such as the branch pull requests should target. Start a fresh agent session when it finishes so the Orbit tools load, then ask for something: it files the task, asks for approval, ships it, and reports the PR. Watch it all with orbit web serve.
cd <repo> && orbit workspace init --mcp # add --ship-mode local to skip PRs
orbit doctor
orbit web serve
Review and commit the checkout files listed by workspace init before the first ship. Local delivery requires a clean base checkout; the list includes MCP client files.
orbit doctor reports missing CLIs for crews selected by the default, system,
or complexity routing and warns when no Orbit MCP client is registered for this
workspace. It checks CLI presence and registration files only; provider sign-in
and MCP connectivity are not checked. Use orbit doctor providers to inspect
all executor definitions, including providers not selected by workflow routing.
On Linux, see sandbox readiness and distro coverage.
| To… | Run |
|---|---|
| Inspect a task or run | orbit task show <ID> · orbit run show <RUN_ID> |
| Open the dashboard | orbit web serve (remote: orbit web connect <host>) |
| Pick the default crew (provider and model) | orbit config set workflow.default_crew <crew> |
| Upgrade | npm install -g @orbit-tools/cli@latest (orbit update --check shows what's new) |
Every MCP tool has a CLI twin.
TASK_ID=$(orbit task add --title "..." --description "..." \
--acceptance-criteria "..." --complexity medium --workspace .)
orbit task update "$TASK_ID" --approve # proposed → backlog
orbit run ship "$TASK_ID" # async; prints a run ID
orbit run show <RUN_ID> # progress and outcome
orbit task update "$TASK_ID" --approve # after merging the PR: review → done
</details>
Features
Plan and govern
- Durable tasks with intent. Tasks carry acceptance criteria, a file scope, dependencies, and typed relations. They move through
proposed → backlog → in-progress → review → done, and that state survives sessions and branches. - Structured audit log. Every tool call, provider exchange, and state transition is recorded as an append-only, queryable event tagged with the agent and model that produced it (
orbit audit). - Friction ledger. When the work was harder than it should have been, whether from a confusing error, a missing flag, or an undocumented convention, the agent records it with
orbit friction addinstead of quietly working around it. A task that resolves the friction closes it on completion. - Local search.
orbit searchruns fast lexical search (SQLite FTS5) over tasks and frictions. It needs no model download.
Execute safely in parallel
- Isolated, sandboxed runs. Each run gets its own git worktree and runs its agent CLI under
sandbox-execon macOS or Bubblewrap on Linux. On Linux, worker runs are also memory-bounded in a cgroup. - Conflict-aware scheduling. Runs reserve their task's files as locks before starting, so overlapping work waits in line instead of producing merge conflicts later.
- Gated pipeline. Each run goes plan → execute → review, with repair budgets and failure recovery. Dependencies gate admission, so you declare the order once and the queue enforces it.
- Nine agent CLIs, routed by crews. Claude Code, Codex, Cursor, Copilot, Grok, Gemini, Antigravity, OpenCode, and Pi. Crews pin a provider, model, and effort level. Complexity-tiered, weighted crew pools spread the work across them.
Run unattended
- Bounded drains.
orbit run auto --for 4h --concurrency 8ships the backlog until the time window closes.orbit run readinesspreviews what would run without starting anything. Or ask your agent to run one: theorbit-orchestrateskill prepares the backlog, starts the drain, and works through failed runs. - Opt-in completion.
--completemerges PRs once GitHub allows it and closes tasks after the merge is verified. Nothing else turns this on. - Continuous review. The shipped
code-review,qa-sweep, andsecurity-reviewauto-tasks read everything that landed since their last run, verify findings against live code, and file confirmed ones as tasks withfile:lineevidence. - Recurring work as data. Scheduled task templates live in
.orbit/auto_tasks/*.yaml, and one machine scheduler (orbit clock) runs routines and auto-tasks. - Multi-machine. A distributed drain spreads a backlog across machines through durable claims. A federated MCP server puts local and SSH-remote workspaces under one namespace.
Observe and extend
- Dashboard (
orbit web serve). Shows the task backlog, live audit feed, per-agent scoreboard, jobs, frictions, and effective config, with inline editing. - Plugins (
orbit plugin). A plugin can add its own tools, jobs, routines, auto-tasks, skills, and CLI commands. Plugins run sandboxed under explicit permission grants, andorbit plugin scaffoldgenerates a starter. - Agent skills. Three skills ship with Orbit:
orbit(everyday task work),orbit-orchestrate(backlog and dispatch), andorbit-setup(machine and repo configuration).orbit initlinks them into your agents.
You can adopt these one at a time. The task layer and audit log work from day one. Parallel drains, auto-tasks, and plugins switch on when you want them.
Agent plugins
To give a single agent Orbit's MCP tools and skills without installing the CLI on PATH, add the plugin. It launches the pinned npm CLI. The dashboard and cross-agent workspace setup still need the CLI install.
# Claude Code
/plugin marketplace add constellation-works/orbit
/plugin install orbit
# Codex CLI
codex plugin marketplace add constellation-works/orbit --ref agent-main
codex plugin add orbit@orbit
# Cursor (local plugin from a checkout)
mkdir -p ~/.cursor/plugins/local && ln -sfn "$(pwd)/plugin" ~/.cursor/plugins/local/orbit
Want to be walked through setup? Ask your agent to "set up Orbit for this repo", and the bundled orbit-setup skill takes it from there.
Claude Code desktop
In Claude Code the plugin also brings the Orbit mod: a band above the prompt with the workspace's running, blocked, and review counts, and an Orbit pane with a task board, a ship view that preflights and tracks orbit run ship, and an orbital map. Open them with /orbit-board, /orbit-ship, and /orbit-map. When the checkout is a replica, set the plugin's ownerHost option to the owner's SSH host. See plugin/hooks/mod.
Codex desktop
You need Node.js 18+ (including npx) and the Codex CLI on PATH.
-
Register the Orbit marketplace from a terminal:
codex plugin marketplace add constellation-works/orbit --ref agent-main -
Restart the desktop app. Open the Plugins Directory, choose the Orbit marketplace, and install Orbit.
-
Start a new chat in your repo and ask: "set up Orbit for this repo".
See the official marketplace setup guide.
MCP and authority
orbit workspace init --mcp registers orbit mcp serve --operator with your agent CLIs. That operator session is the only one that can dispatch workflows, resume runs, or run commands. Agents launched by Orbit get an agent-only surface. Authority is enforced when a tool is called, not by hiding tools, so every session sees the same tools/list. Use orbit mcp init alone for an agent-only registration, or orbit mcp init --federated to put several machines under one namespace (details).
Where state lives
| Path | Holds |
|---|---|
| ~/.orbit/ | Machine state: task bundles, orbit.db (audit, runs, routines, frictions), workspace registry, shipped resources, skills, config.toml |
| <repo>/.orbit/ | Workspace state: identity, local config overrides, auto-tasks, routines, worktrees, and logs. Gitignored, and safe to delete for a clean slate. |
Backups, stuck runs, database recovery, and upgrades are covered in the runbooks.
Learn more
- orbit-cli.com: guides, concepts, and the full CLI and config reference
- docs/CONFIG.md: crews, pools, base branch, sandbox
- docs/POSITIONING.md: what Orbit is for, and what it deliberately isn't
- ARCHITECTURE.md and design docs
- CHANGELOG.md: Orbit is pre-1.0, and breaking changes ship in minor releases
Contributing
Pull requests are welcome, from typo fixes to new executors. Small fixes can go straight to a PR, and bigger changes start with an issue. See CONTRIBUTING.md to get set up.
License
同名の他の作品
- orbitjamubc · ★ 0

