orbit README

The project's README from github.com/imrj05/orbit. As one markdown file: README.md.

Orbit

CI License: Apache-2.0 Rust

Orbit is a native desktop workbench for the pi coding agent — a chat-style GUI rendered entirely in Rust on GPUI, the GPU-accelerated UI framework Zed is built on. It speaks the pi CLI's RPC protocol directly over stdio: no browser, no webview, no Node.

Sessions you create in Orbit and in the terminal are the same sessions (~/.pi/agent/sessions/), managed by pi's own session manager.

Screenshots

A live session — streaming transcript, tool rows, and the composer:

A completed Orbit session: the agent's notes on the Windows IME composer fix and a Changed 4 files card with per-file line counts, above the composer.

Usage — requests, tokens, cost, and cache, read from your own sessions:

Orbit's Usage page with request, token, cost, and cache metrics above a tokens-over-time chart.

New task Review
Orbit's new-task page with a workspace picker, the composer, and the access-mode menu open on Supervised, Auto-accept edits, and Full access. The Orbit Review panel open beside a session, showing a selected file's diff on the left and the changed-file tree on the right.
Git Providers
Orbit's Git page listing staged and changed files with line counts and a commit box. Orbit's Providers page showing provider cards for Ollama, OpenCode Go, Bedrock, and Anthropic with usage meters.
Plugins Skills
Orbit's Plugins page listing installed pi packages with update and remove actions. Orbit's Skills page listing project and global skills with the selected skill's SKILL.md rendered on the right.
Models Appearance
Orbit's Models page listing models grouped by provider with context sizes and favorite toggles. Orbit's Appearance settings with theme pickers, type and density previews, and font pickers.
General Agent
Orbit's General settings showing the connected pi agent, the local session store, the workspace, and notification toggles. Orbit's Agent settings with follow-up delivery, auto-compaction, auto-retry, compact-now, and session rename.

Features

Chat and transcript

Sessions

Safeguards

Review and Git

Explorer and Files

Terminal

Workbench

Native

Structure

┌───────────────────────────────────────────┐
│  Orbit (Rust) — GPUI, Metal-rendered UI   │
│  crates/orbit-pi                          │
│  window, transcript, markdown, workbench  │
└──────────────┬────────────────────────────┘
               │ newline-delimited JSON RPC over stdio
┌──────────────▼────────────────────────────┐
│  pi CLI (child process, per open session) │
│  pi --mode rpc — sessions, models, tools  │
└──────────────┬────────────────────────────┘
               │
┌──────────────▼────────────────────────────┐
│  ~/.pi/agent/ — sessions, config, usage   │
│  (same data the pi CLI uses)              │
└───────────────────────────────────────────┘

Orbit spawns the pi CLI as a child process per open session and speaks its RPC protocol: JSON requests on stdin, JSON-line events on stdout (text/thinking deltas, tool calls, question dialogs, settle signals). Everything user-facing is painted by GPUI on Metal — no DOM, no CSS, no browser engine. The agent runtime stays pi itself, so the model catalog, thinking levels, and persistence remain pi's own.

Project layout

crates/orbit-pi/      The GPUI app — window, transcript, markdown, workbench
crates/orbit-rpc/     pi CLI RPC client (process lifecycle + JSONL protocol)
contrib/              Bundled pi extensions (access guard, auth/quota bridges)
scripts/make-dmg.sh   Build a signed .app + DMG (arm64 / universal)
assets/icons/         App icon (logo-icon.png source, icon.icns, icon.png)
marketing/            Next.js landing page
PRODUCT.md            Product definition, capabilities, constraints
INTENT.md             Architecture decisions + phase plan
AGENT.md              Conventions for agents and humans working on this repo
PRIVACY.md            What Orbit does and does not send

Roadmap

Orbit is a workbench, not just a chat window. The confirmed direction lives in PRODUCT.md, architecture decisions in INTENT.md, and shipped work in CHANGELOG.md. Every unchecked item below is open for a pull request — read CONTRIBUTING.md and claim the linked issue before starting.

Planned features

Feature Area Description Status Tracking
Workflow modes Composer Start a session scoped to Plan Mode, Build Mode, or Ask Mode instead of one undifferentiated chat. Shipped —
Follow-up on settle Transcript Show a queued follow-up inline once a run ends, not only in the compose queue. Planned —
Suggested follow-ups Transcript Propose 2–3 context-grounded next prompts as composer inserts after a run settles. Proposed #10
GitHub client Workbench Browse and manage remote commits, graph, issues, and pull requests in-app. In progress — Issues and Pull requests ship with comments, reviews, merges, and branch checkouts; a remote-commits view remains open (#8 closed for the issues/PRs half) —
Pi extension support Workbench First-class list / install / enable / configure / debug of pi extensions, including community ones. In progress — Plugins installs, updates, and removes packages; a dedicated extensions surface with enable/configure/debug is still open #7
Global default model Models Pin pi's global default model and thinking effort from within Orbit. Shipped — Settings → Agent sets the model and thinking level every new session starts on (Orbit's own store; pi's global settings are untouched) #9
Voice dictation Composer Dictate prompts into the composer. Planned —
Diff review and terminal Workbench Inline diff review and an integrated terminal. Shipped — Review pane with per-turn checkpoints and view controls, plus a login-shell terminal (⌘J) —
Terminal tabs Terminal Run several shells in the bottom panel without losing the ones in the background. Shipped — ⌘T / ⌘W / ⌘⇧] / ⌘⇧[, each tab holding its own PTY —
Git worktrees Workbench List, create, open, move, lock, repair, and prune worktrees, and work in one as the active workspace. Shipped — Worktrees page, a Work in chip in the status bar, and an optional per-repository setup script —
Session retention Workbench Keep pi's session store from growing without bound. Shipped — Settings → Privacy archives or deletes idle sessions on a schedule, alongside Orbit and pi scratch-file cleanup —
Parallel sessions Sessions Run multiple agents / sessions side by side. Planned —
Explorer gaps Explorer Quick-open, sticky scroll, and directory folding in the file tree. Planned — expand/collapse, filter, hidden toggle, and git badges ship today —
Conversation fork/rewind Sessions Branch and rewind a conversation (clone ships today). Planned —
Scroll-perf measurement Performance On-device measurement of transcript scroll performance. Planned —
Zed token migration Design Move the remaining surfaces (settings, pickers, command palette, modals, transcript chrome, sidebar rows) onto the Zed design tokens. In progress — settings, usage, sidebar, transcript chrome, palette, pickers, modals, Explorer, Git panel, and terminal are on the tokens; the composer is the last major surface —

Contributor checklist


Credits

Orbit leans on a lot of other people's work. The full license texts ship in NOTICE and beside each asset in the repo.

The agent

Framework and libraries

Icons

Fonts

Every family in crates/orbit-pi/assets/fonts/bundled/ ships under the SIL Open Font License 1.1: Anonymous Pro, Atkinson Hyperlegible, Cascadia Code, Commit Mono, DM Mono, DM Sans, Fira Code, Fixel Text, Geist, Geist Mono, IBM Plex Mono, Inconsolata, Inter, Iosevka, JetBrains Mono, Manrope, Martian Mono, Noto Sans, Noto Sans Mono, Roboto, Roboto Mono, Source Code Pro, Source Sans 3, and Space Mono. IBM Plex Sans and Lilex come from Zed's font set, also OFL 1.1.

Marketing site

Built with Next.js, React, Tailwind CSS, Base UI, HugeIcons for React, and shadcn/ui patterns. Sora and Geist Mono are served through next/font. The Apple mark in the download buttons follows gilbarbara/logos (CC0), and the Tux mark comes from tandpfun/skill-icons (MIT).

People

Something missing from this list is a bug. Open an issue and it gets fixed.


Setup, checks, and commit conventions live in CONTRIBUTING.md. Orbit is licensed under Apache-2.0; report vulnerabilities per SECURITY.md. Data handling is documented in PRIVACY.md.

orbit (imrj05/orbit)

Searching Database…

103 ·GitHub

Orbit is a native desktop workbench for the pi coding agent — a chat-style GUI rendered entirely in Rust on GPUI, the GPU-accelerated UI framework Zed is built on. It speaks the pi CLI's RPC protocol directly over stdio: no browser, no webview, no Node.

Creator
imrj05
Size
284.5 MB
Stars
103
Age
1mo
Commits · 90 Days