Orca
A DeepSeek-native terminal coding agent that reads code, edits files, runs commands, and verifies its own work until the task is done or it needs you.
- Source repo
- echoVic/orca-agent
- Stars
- ★ 507
- Last updated
- 2d ago
- License
- MIT
- Primary language
- Rust
- FA score
- 59/100 · Major gaps
At a glance
- How it runs
- Works with
- Platform-specific
- Cost
- Free software; you pay for model usage
- Setup effort
- Low · running in minutes
- You'll need
- Typical use
- Developers who want a terminal coding agent powered by DeepSeek that reads and edits local code and runs tests to verify its own work
- Not a fit if
- Teams that need model providers other than DeepSeek
- Users who cannot supply a paid DEEPSEEK_API_KEY
- Source review
- 59/100 · Major gaps
What does this agent do, and when should you use it?
Orca (GitHub repo echoVic/orca-agent) is a DeepSeek-native coding agent built in Rust that runs locally under the MIT license. Given a task, it reads code, edits files, runs shell commands, and verifies results, continuing until the task is done or human input is needed. It speaks DeepSeek's reasoning and tool-use semantics directly, with SSE streaming, prefix-cache-friendly prompts, automatic context management, and retry logic. It exposes an interactive TUI (orca), headless execution (orca exec), plus stable JSONL, app-server, and Agent Client Protocol (ACP) contracts for editors, harnesses, and CI. Sessions support resume and fork, with synchronous/async subagents, a persistent goal mode (/goal), automatic project memory, and four permission modes (suggest, sandboxed auto-edit, full-auto, read-only plan) with per-folder trust.
After installation it connects to DeepSeek models via DEEPSEEK_API_KEY, adopting DeepSeek's reasoning/tool-use protocol directly and fully replaying returned reasoning_content across tool turns. Orca reads, searches, edits, and writes code files and runs shell commands; runtime-owned exec_command sessions can stay alive across tool calls, allocate a PTY, and receive input via write_stdin for editors, REPLs, and TUIs, while a background supervisor settles exited sessions and injects a bounded completion notification before the next model turn. Interactive TUI sessions can ask one to four structured clarification questions with described choices, previews, and multi-select. You can verify results before finishing with orca exec --verifier "cargo test" and restore headless sessions with orca exec resume SESSION_ID. It supports sync/async subagents and JavaScript workflows, with durable child continuation via resume_from; /tasks opens live transcripts and exposes stop/resume/retry controls. It learns a bounded set of durable project facts after committed turns (/remember) and retrieves only prompt-relevant facts later. Model-side, DeepSeek V4 thinking is enabled explicitly (reasoning_effort low/high/max), the deepseek-v4 family (Flash, Vision-exp, Pro) offers a 1M-token context and up to 384K output tokens, and JPEG/PNG/GIF/WebP images are accepted in the TUI and from ACP clients, with Ctrl+V clipboard attach and protocol-aware pixel previews. Configuration priority is environment variables, CLI arguments, config files, then defaults; user config lives at ~/.orca/config.toml and trusted projects can supply .orca/config.toml, AGENTS.md, rules, skills, and workflows.
- Developers who want a terminal coding agent powered by DeepSeek that reads and edits local code and runs tests to verify its own work
- CI/pipeline maintainers running tasks headlessly (e.g., "fix the failing test") with orca exec, integrating via JSONL output and typed exit codes
- Engineers using ACP-compatible editors, connecting via orca --mode=acp for an in-editor agent experience
- Teams tackling long or parallel work, using subagents and JavaScript workflows with /goal for persistent objectives
- Multi-platform users (Windows/macOS/Linux) who rely on unified sandbox permission modes and per-folder trust controls
- Workflows needing resumability, using --resume/--fork or orca exec resume to continue conversations up to a message boundary
How do you install or deploy this agent?
Install globally via npm (macOS/Linux/Windows on ARM64 and x64): npm install -g @blade-ai/orca. Or install the native binary directly: on macOS/Linux run curl -fsSL https://orcaagent.dev/install.sh | sh; on Windows PowerShell run irm https://orcaagent.dev/install.ps1 | iex. From a Windows project directory, provision the restricted sandbox with & ([scriptblock]::Create((irm https://orcaagent.dev/install.ps1))) -SetupSandbox. Prebuilt archives are also available on GitHub Releases.
How do you use this agent?
1) Set the key: export DEEPSEEK_API_KEY=sk-... (Windows PowerShell: $env:DEEPSEEK_API_KEY = "sk-..."). 2) Run orca to open the TUI; or orca exec "fix the failing test" for headless runs; or orca exec --verifier "cargo test" "fix it" to verify before finishing. 3) Resume with orca --resume [SESSION_ID], fork with --fork SESSION_ID, or continue headless sessions with orca exec resume SESSION_ID "continue" (use --last for the most recent, --resume-at MID to stop at a message boundary). 4) In the TUI, @ searches files/skills/plugins/MCP resources; /plan for read-only planning, /goal for a persistent objective, /tasks for subagents and background commands, /trust for sandbox permissions, /config for session settings. 5) Configuration lives in ~/.orca/config.toml; tune thinking depth via reasoning_effort in config.toml or ORCA_REASONING_EFFORT.
What are this agent's strengths and limitations?
- DeepSeek-native: speaks DeepSeek reasoning/tool-use semantics directly, keeps the Chat Completions transport, and fully replays reasoning_content across tool turns, exploiting 1M context and up to 384K output windows
- Complete interface surface: one runtime host backs TUI, headless, JSONL, app-server, and ACP contracts, fitting editors, harnesses, and CI
- Detailed reliability engineering: session switches start replacements before closing runtimes, escape-driven cancellation commits terminal child state, fail-closed continuation recovery restores only digest-verified checkpoints, and budget stops settle tools and exit 4 with a typed terminal
- Granular permission model: suggest, sandboxed auto-edit, full-auto, and read-only plan modes plus per-folder trust, with AppContainer isolation and restricted sessions on Windows
- Strong multi-platform support: the npm package covers macOS/Linux/Windows on ARM64 and x64, with explicit Windows handling of PowerShell 7/5.1/cmd.exe
- Model lock-in to DeepSeek: core operation depends on DEEPSEEK_API_KEY and DeepSeek semantics (e.g., reasoning_content replay); no alternative model-provider adapter path is documented
- The README references deepseek-v4-family models (Flash, Vision-exp, Pro) and V4 thinking; availability and pricing of those models to you should be confirmed before adopting
- Advanced capabilities (sandbox, subagent continuation, workflows, memory, MCP) require a trusted project with .orca/config.toml and related configuration, creating initial setup cost
- Windows behavior branches: PowerShell 7 is preferred, restricted sessions fall back to cmd.exe when it is missing, and 5.1 is limited to modes without AppContainer isolation
- Image attachments share a 5 MiB total limit; SSH sessions without a graphical clipboard must paste or reference remote paths, and terminals without image protocols degrade to low-resolution cell previews
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| Orca This agent | 59 · Major gaps | CLIFree + model costs | ★ 507 | 2d ago | Rust | — |
| Aster | 77 · Good | CLIFree + model costs | ★ 131 | 4d ago | Rust | OpenAI API |
| VT Code | 66 · Some gaps | CLIFree + model costs | ★ 884 | today | Rust | OpenAI API |
| Klaat Code | 61 · Some gaps | CLIFreemium | ★ 359 | 1mo ago | TypeScript | — |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence shows a fairly complete sandbox design: SECURITY.md describes a capability resolver/execution broker, refusal rather than host-shell fallback, non-authoritative project configs, plus landlock/seccompiler dependencies; README offers suggest/auto-edit/full-auto/plan tiers and per-folder /trust. Deductions: a full-auto host-access mode exists with risk boundaries described only at documentation level; no file-edit rollback mechanism is evidenced; copyright is 'blade-deepseek' with unverified publisher, so source attribution is thin.
Centralized workspace dependency versions, some exact pins (=0.10.4 etc.) and rustls support adequate availability management. Deductions: naming inconsistency — crate 'blade-deepseek', npm package '@blade-ai/orca', SECURITY.md links to a blade-deepseek repo — indicating an incomplete rename; no evidence in the provided files of failure-message design or error-path handling.
README clearly covers multi-platform (macOS/Linux/Windows, ARM64/x64), TUI and exec/CI usage, and ACP — enough for full marks on environment fit; /plan read-only mode and a verifier command show capability boundaries. Deductions: trigger precision (when to pick which mode) and audience/scenario depth are thin, with no failure-scenario guidance.
Good information architecture: multilingual README, doc links, SECURITY/CONTRIBUTING/SUPPORT templates; MIT license consistent with Cargo.toml earns full marks. Deductions: no CHANGELOG in the repo (version only as 0.4.24 in Cargo.toml); unstable naming (blade-deepseek vs Orca vs @blade-ai/orca); missing known-limitations documentation; the curl | sh pipe install offers no checksum guidance.
The value proposition is clear (DeepSeek-native, local, prefix-cache-aware prompts, session compression/resume), giving marginal value for the DeepSeek ecosystem. Deductions: no token-cost-control evidence, and output usability is assessable only from documentation; all performance claims lack in-repo benchmarks.
README claims are partially cross-checkable against Cargo.toml (version, license, workspace layout) and SECURITY.md. Deductions: only one language variant of the README could be sampled; key claims (sandbox enforcement, npm publication) lack code-level evidence in the provided files; claims and inference are reasonably separated, with no sign of fabricated tests or provenance.
- curl | sh and PowerShell remote-script installs cannot be checksum- or integrity-verified in static review; prefer a verified installation method.
- The full-auto mode grants full host access and is described by SECURITY.md itself as advisory rather than sandboxed — confirm you understand the risk before enabling it.
- Naming inconsistency (blade-deepseek / Orca / @blade-ai/orca) suggests a complex provenance chain; verify supply-chain attestations (npm provenance, release signing) yourself.
- Publisher identity is unverified and no response SLA is promised; assess your own support needs before production use.
- No in-repo CHANGELOG or known-limitations document; consult the external changelog and release notes before upgrading.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
v0.5.13 Orca v0.5.13
Release notes excerpt
What's Changed * docs: add README badges, terminal demo, and related projects by @echoVic in https://github.com/echoVic/orca-agent/pull/135 * fix(computer-use): live-verified macOS typing, focus and overlay fixes by @echoVic in https://github.com/echoVic/orca-agent/pull/141 * fix(computer-use): follow-ups to #141 — foreground selection and live-test robustness by @echoVic in https://github.com/echoVic/orca-agent/pull/142 * fix: dynamic DeepSeek pricing and the #137–#140 runtime fixes by @echoVic in https://github.com/echoVic/orca-agent/pull/143 …View on GitHub ↗ -
v0.5.12 Orca v0.5.12
Release notes excerpt
Orca v0.5.12 Changes since v0.5.11: - In full-auto, computer use no longer asks for app approval: that mode already runs commands on the host. Typing into a password field still asks every time, deny and prompt rules still apply, and apps blocked by default stay blocked. - The app approval panel offers two more choices: 3 **Allow all apps this session and 5 Always allow all apps (saved)**, which saves pattern = "*". Neither covers password entry. - Outside full-auto, terminals and IDEs still need approval for that app …View on GitHub ↗ -
v0.5.11 Orca v0.5.11
Release notes excerpt
Orca v0.5.11 Changes since v0.5.10: - On macOS 14 or later, the interactive TUI's main session can see and operate other apps with the new computer tool: list and launch apps, observe a window's screenshot and accessibility elements, click, type, send keys and scroll. Each app needs your approval, entering text into a password field asks every time, and Esc stops the turn from anywhere. - Computer use works in the background where it can. Otherwise it switches to the app briefly, restores the previous app and pointer, and says so. Command …View on GitHub ↗