ADE for working with a fleet of parallel agents
Go to file
Jinwoo Hong c45712cead
feat(ssh): stream fs.readFile to lift 10MB SSH preview cap (#1095) (#1676)
* feat(ssh): stream fs.readFile to lift 10MB SSH preview cap (#1095)

Replaces the single-shot fs.readFile path on the SSH relay with a
push-style stream protocol modeled on VS Code's readFileStream.

Wire shape:
- fs.readFileStream request returns metadata (streamId, totalSize,
  isBinary, mimeType, chunkEncoding, resultEncoding, optional empty)
- Relay pumps fs.streamChunk notifications (256 KB base64 chunks) and
  ends with fs.streamEnd or fs.streamError
- Client cancels via fs.cancelStream notification

Invariants:
- Max 16 concurrent streams per FsHandler (TooManyStreams)
- Client clamps totalSize against caps before allocating
- Sequence-number defense against out-of-order/missing chunks
- Subscribe-before-await with frame queueing until streamId is known
- Pump cleans up registry+handle in finally; disposeAll aborts before
  release so in-flight reads exit cleanly instead of EBADF
- Empty files short-circuit (no streamId, no handle open)

Compat:
- New client tries fs.readFileStream first, falls back to legacy
  fs.readFile on JSON-RPC -32601 (with once-per-session warn log)
- Bumps MAX_PREVIEWABLE_BINARY_SIZE 10 MB to 50 MB to match local

Tests: 91 streaming tests across relay, client, mux, integration.

Co-authored-by: Orca <help@stably.ai>

* test(ssh): wait for streamEnd instead of fixed flush() in stream test

Why: the binary-streaming test relied on 5 setImmediate ticks to drain
the pump, which is racy on slower CI runners (each handle.read is async
I/O). Swap to a deadline-bounded waitFor(streamEnd) so the test is
deterministic regardless of scheduler latency.

Co-authored-by: Orca <help@stably.ai>

* fix(ssh): preserve small binary detection in streamed reads

Co-authored-by: Orca <help@stably.ai>

* fix(ssh): rebind file watcher when connection id hydrates

Co-authored-by: Orca <help@stably.ai>

* fix(ssh): refresh explorer for update-only file creates

Co-authored-by: Orca <help@stably.ai>

* fix(ssh): recompute file watches when repo connection changes

Co-authored-by: Orca <help@stably.ai>

* Revert "fix(ssh): refresh explorer for update-only file creates"

This reverts commit 7c3c683cd0929aa90723f29bddd741df311c1361.

* fix(ssh): install relay watcher dependency

Co-authored-by: Orca <help@stably.ai>

---------

Co-authored-by: Orca <help@stably.ai>
2026-05-11 15:29:15 -07:00
.github Add native computer-use automation (#1683) 2026-05-11 14:20:08 -07:00
.husky fix(win32): resolve EPERM on userData writes, batch-file spawn failures, and native dep rebuild (#1152) 2026-04-26 22:29:58 -07:00
Casks feat(release): publish Orca as a Homebrew cask (#1304) 2026-05-01 00:33:21 -07:00
config Add native computer-use automation (#1683) 2026-05-11 14:20:08 -07:00
docs chore: remove local-only design doc from repo (#1689) 2026-05-10 23:18:30 -07:00
mobile feat(source-control): send all notes to agent in a new terminal tab (#1568) 2026-05-08 13:52:08 -07:00
native Add native computer-use automation (#1683) 2026-05-11 14:20:08 -07:00
resources Add native computer-use automation (#1683) 2026-05-11 14:20:08 -07:00
skills Add native computer-use automation (#1683) 2026-05-11 14:20:08 -07:00
src feat(ssh): stream fs.readFile to lift 10MB SSH preview cap (#1095) (#1676) 2026-05-11 15:29:15 -07:00
tests Add native computer-use automation (#1683) 2026-05-11 14:20:08 -07:00
tools/spikes Add native computer-use automation (#1683) 2026-05-11 14:20:08 -07:00
.env.e2e feat: add idempotent E2E test suite with headless Electron support (#671) 2026-04-19 12:09:32 -07:00
.gitignore Add native computer-use automation (#1683) 2026-05-11 14:20:08 -07:00
.npmrc min release age = 1 day 2026-04-06 23:32:45 -07:00
.oxfmtrc.json Replace eslint/prettier with oxlint/oxfmt, add pre-commit hooks 2026-03-16 20:38:27 -07:00
.oxlintrc.json fix(feedback): enforce anonymous submissions (#1528) 2026-05-06 23:23:58 -07:00
AGENTS.md Move STYLEGUIDE.md into docs/ (#1625) 2026-05-09 01:08:35 -07:00
CLAUDE.md Link CLAUDE.md to AGENTS.md 2026-05-04 20:42:03 -07:00
LICENSE Add MIT license 2026-03-28 10:19:14 -07:00
README.md chore: move Autohand Code listing after Auggie in READMEs and agent catalog 2026-05-05 00:27:36 -07:00
components.json Shadcn 2026-03-16 22:27:51 -07:00
electron.vite.config.ts Add native computer-use automation (#1683) 2026-05-11 14:20:08 -07:00
orca.yaml chore: trim orca.yaml comments (#1258) 2026-04-29 15:22:17 -07:00
package.json release: v1.3.49-rc.0 [rc-slot:2026-05-11-15] 2026-05-11 22:27:19 +00:00
pnpm-lock.yaml fix terminal complex script rendering (#1675) 2026-05-10 16:53:24 -07:00
tsconfig.json feat: Add SSH remote support (beta) (#590) 2026-04-13 19:23:09 -07:00

README.md

Orca Orca

Supported Platforms Discord Follow on X

English · 中文 · 日本語 · Español

The AI Orchestrator for 100x builders.
Run Claude Code, Codex, or OpenCode side-by-side across repos — each in its own worktree, tracked in one place.
Available for macOS, Windows, and Linux.

Download 🐋

Orca Screenshot

Supported Agents

Orca supports any CLI agent (not just this list).

Claude Code   Codex   Gemini   Pi   Hermes Agent   OpenCode   Goose   Amp   Auggie   Autohand Code   Charm   Cline   Codebuff   Continue   Cursor   Droid   GitHub Copilot   Kilocode   Kimi   Kiro   Mistral Vibe   Qwen Code   Rovo Dev


Features

  • No login required — Bring your own Claude Code or Codex subscription.
  • Worktree-native — Every feature gets its own worktree. No stashing, no branch juggling. Spin up and switch instantly.
  • Multi-agent terminals — Run multiple AI agents side-by-side in tabs and panes. See which ones are active at a glance.
  • Built-in source control — Review AI-generated diffs, make quick edits, and commit without leaving Orca.
  • GitHub integration — PRs, issues, and Actions checks linked to each worktree automatically.
  • SSH support — Connect to remote machines and run agents on them directly from Orca.
  • Notifications — Know when an agent finishes or needs attention. Mark threads unread to come back later.

Install

Mac, Linux, Windows

Alternatively, install from a package manager:

macOS (Homebrew)

brew install --cask stablyai/orca/orca

Arch Linux (AUR)

# Precompiled binary
yay -S stably-orca-bin

# Build from GitHub source
yay -S stably-orca-git

[New] Annotate AI Diff

Comment directly on AI-generated diffs.

Annotate any line in an AI-generated diff with your feedback, then send it back to the agent to revise. Keep the review loop tight — no copying line numbers, no context switching.

Orca Annotate AI Diff — comment on AI-generated diffs and send feedback to the agent


[New] Hot Swap Codex Accounts

Multiple Codex accounts? Switch in one click.

If you run multiple Codex accounts to get the best token deal, Orca lets you hot-swap between them instantly — no re-login, no config files. Just pick an account and keep building.

Orca Codex Account Switcher — hot swap between multiple Codex accounts


[New] Per Worktree Browser & Design Mode

See your app. Click any element. Drop it into the chat.

Orca ships with a built-in browser right inside your worktree. Preview your app as you build, then switch to Design Mode — click any UI element and it lands directly in your AI chat as context. No screenshots, no copy-pasting selectors. Just point at what you want to change and tell the agent what to do.

Orca Design Mode — click any UI element and drop it into the chat


[New] Introducing the Orca CLI

Agent orchestration from your terminal.

Let your AI agent control your IDE. Use AI to add projects to your IDE, spin up worktrees, and update the current worktree's comment with meaningful progress checkpoints directly from the terminal. Ships with the Orca IDE (install under Settings).

npx skills add https://github.com/stablyai/orca --skill orca-cli

Community & Support

  • Discord: Join the community on Discord.
  • Twitter / X: Follow @orca_build for updates and announcements.
  • Feedback & Ideas: We ship fast. Missing something? Request a new feature.
  • Privacy: See the privacy & telemetry docs for what anonymous usage data Orca collects and how to opt out.
  • Show Support: Star this repo to follow along with our daily ships.

Developing

Want to contribute or run locally? See our CONTRIBUTING.md guide.