Back to home@kevinforge

orbit

A local-first workspace for human-led collaboration with multiple AI employees.

Stars
1
Language
TypeScript
Created
May 21, 2026
Updated
Aug 19, 2026

Introduction

Orbit

中文 · English

A local-first workspace for human-led collaboration with multiple AI employees.

Coordinate Claude Code, Codex, and CodeBuddy in one conversation, one workspace at a time.

CI status MIT License Node.js 22 or newer

What Orbit is

Orbit turns a local project directory into a collaborative AI workbench. You define a team of digital employees, give each employee a role and an execution runtime, and coordinate their work through a shared conversation. Orbit keeps the user in control while the employees clarify requirements, design a plan, implement changes, verify results, and hand work to one another.

The employees are powered by Claude Code, Codex, or CodeBuddy through the Agent Client Protocol (ACP). Orbit owns the workspace, conversation history, routing, queues, approvals, session continuity, and UI; each vendor runtime remains responsible for its own model access and tool execution.

📦 Installation

If you already use Claude Code, Codex, or CodeBuddy locally, copy this prompt to your agent:

Please install Orbit for me with npm using the remote package:
npm install -g @kevinforge/orbit
Then run orbit and verify that http://localhost:4317 is available. Do not
install the unrelated public package named orbit.

See it in action

Orbit can turn one unassigned goal into a supervised multi-agent workflow: the supervisor decomposes the work, specialists investigate in parallel, a verification employee checks the deliverables, and the supervisor produces the final synthesis in the same conversation.

Orbit supervised multi-agent collaboration demo

This demo was recorded from a real ACP/model run with Claude Code, Codex, and CodeBuddy in the 复杂协作 mode. The demonstration project is isolated from the Orbit source tree and contains no private workspace information.

Why use it

  • One conversation, several specialists. Keep requirements, design, implementation, and verification in the same visible work stream.
  • Human-directed routing. Assign work explicitly with the employee's display name, or let supervised mode coordinate an unassigned goal.
  • Runtime choice per employee. Mix Claude Code, Codex, and CodeBuddy in one team and change the assignment later from the UI.
  • Local-first state. Workspaces, messages, configuration, runtime sessions, attachments, and transcripts are stored under ~/.orbit.
  • Recoverable execution. Runs are queued per employee, streamed to the UI, cancellable, approval-aware, and isolated by workspace and conversation.

How it works

flowchart LR
    User[User] --> UI[Orbit web workbench]
    UI --> Router[Message router]
    Router --> Queue[Per-employee run queue]
    Queue --> Adapter[Shared ACP runtime layer]
    Adapter --> Claude[Claude Code]
    Adapter --> Codex[Codex]
    Adapter --> CodeBuddy[CodeBuddy]
    Claude --> Events[ACP events and results]
    Codex --> Events
    CodeBuddy --> Events
    Events --> UI
    Router --> Store[(Local message store)]
    Events --> Store

All three runtimes use ACP v1 over newline-delimited JSON-RPC on stdio. Orbit maps their streamed updates into a common activity model, while runtime-specific behavior stays inside the corresponding adapter.

Core concepts

ConceptMeaning
WorkspaceA local project directory with its own employee configuration and collaboration data.
ConversationA durable channel inside a workspace. Multiple conversations can run independently.
Digital employeeA user-configurable role with a display name, prompt, enabled state, and selected runtime.
AssignmentWork addressed with @display-name:. The display name is the public routing key; internal IDs are not.
Runtime sessionThe vendor-side ACP session restored for an employee when the next run starts.

Three interaction modes

Every conversation has a mode. The mode affects how messages are routed; it does not erase an employee's persisted runtime session.

ModeBest forRouting behavior
普通对话 (direct)A focused conversation with one employeeAssign one employee with @display-name:. Later unmarked messages continue with that employee.
简单协作 (collaborative)Explicit multi-person teamworkAssign one or more employees. Employees can hand work to one another when needed.
复杂协作 (supervised)A goal that needs decomposition and follow-upSend an unassigned goal to the internal supervisor, which schedules the configured employees.

The supervisor in supervised mode is an internal coordinator, not a fifth employee. Plain @name text is a reference; only @name: starts an assignment.

Dependency-aware prompts apply to every team: independent tasks may run in parallel, but dependent tasks wait for prerequisite results. Direct mode still talks to one employee.

Built-in team

The software-development template starts with four editable digital employees:

Display nameDefault responsibility
范同经Clarify goals, scope, and acceptance criteria.
甄架构Design solutions and evaluate implementation risk.
蔡一平Edit files, run commands, and implement changes.
田小坑Verify behavior and report regressions.

Names, prompts, enabled state, and runtimes are configurable. You can also start with a blank workspace and create your own team.

Quick start

Requirements

  • Node.js 22 or newer.
  • At least one installed and authenticated runtime: Claude Code, Codex, or CodeBuddy with ACP support.
  • Bun is also required when building the standalone executable from source.

Orbit includes the ACP protocol adapters for Claude Code and Codex. You do not need to install claude-agent-acp or codex-acp separately. CodeBuddy is installed separately, for example with npm install -g @tencent-ai/codebuddy-code, and must be able to run its ACP mode on the local machine.

Run from a source checkout

git clone https://github.com/kevinforge/orbit.git
cd orbit
npm ci
npm run build
npm run dev

Open http://localhost:4317 in your browser.

Install a release package

Download the package for your operating system from GitHub Releases, then install it locally:

npm install -g .\orbit-<version>-windows-x64.tgz
orbit

Linux and macOS users should use the package matching their platform. The scoped npm package will be available as @kevinforge/orbit after public npm publishing is enabled. Do not install the unrelated public package named orbit.

Send the first task

  1. Create a workspace and select the local project directory.
  2. Choose the software development team template, or create a blank team.
  3. Open employee settings and confirm that each selected runtime is available.
  4. Send an explicit assignment using the exact display name shown in the UI:
@甄架构: Inspect this project and propose a small implementation plan.

To request independent work in parallel:

@蔡一平: Implement the fix. @田小坑: Prepare the regression checklist.

For a supervised task, omit the assignment marker and describe the goal in 复杂协作 mode. The internal supervisor will coordinate the enabled team.

For the full first-run walkthrough, see the English Quickstart or 中文快速上手.

Features

  • Three interaction modes for direct work, explicit collaboration, and supervised collaboration.
  • Configurable digital employees and reusable workspace team templates.
  • Claude Code ACP, Codex ACP, and CodeBuddy ACP runtime adapters.
  • Per-message approval modes: ask before tool operations or approve the current task automatically.
  • Human-in-the-loop permission requests and structured elicitation forms or external URLs.
  • Per-employee FIFO run queues, cancellation, interruption, and failure state.
  • Multiple conversations with background execution and live activity updates.
  • Durable message history, runtime session restoration, attachments, and terminal transcripts.
  • Collaboration Insights for task outcomes, execution timelines, and duration trends.
  • A local HTTP server, React UI, SSE event stream, and standalone binaries for supported platforms.

Data and privacy

Orbit's own product data is stored locally under ~/.orbit; it is not stored in this repository. Runtime authentication and model-provider behavior are owned by the vendor CLI you choose, so network access and account policies depend on that runtime.

Read Local Data before backing up, moving, retaining, or resetting Orbit data. Read Terminology And Routing before building integrations around employee names or assignment markers.

Documentation map

NeedDocument
First runQuickstart · 中文快速上手
Runtime and module designArchitecture
Files under ~/.orbitData Directory
Public terms and routingTerminology And Routing
Standalone packagingStandalone Build
Development and pull requestsContributing
Release verificationRelease Checklist
Support and reportingSupport · Security

Development

npm ci
npm run dev
npm run test
npm run build
npm run smoke:start
npm run smoke:port-conflict
npm run release:check

npm run build type-checks the source, builds the Vite UI, and compiles the standalone executable with Bun. npm run build:all produces packages for all supported platform targets. Before opening a pull request, run the checks that match the changed surface and report exactly what was run.

Project status

Orbit is being prepared as an open-source 1.0 release. The repository already contains the CI, release, support, security, and contribution workflows used to validate the project. See Open Source Readiness and the release notes for current gaps and release-candidate context.

Contributing

Bug reports, feature requests, and pull requests are welcome. Please read CONTRIBUTING.md before changing the code. The project keeps shared coding-agent instructions in AGENTS.md; CLAUDE.md and CODEBUDDY.md are thin host-specific entry points that import the same source.

License

Orbit is released under the MIT License.

Support and security

Use GitHub Issues for reproducible bugs and feature requests. For security issues, follow SECURITY.md instead of posting sensitive details publicly. General support expectations are described in SUPPORT.md.