Skip to content

v0.9.0 — DeepSeek Harness (dsh): day-0 sub-agent support

Latest

Choose a tag to compare

@zqiren zqiren released this 14 Aug 00:27
· 1 commit to main since this release

DeepSeek's official agent harness (dsh) launched Aug 13. Orbital was dispatching it as a sub-agent within 3 hours, and shipped this full integration the same night.

The receipts: dsh 0.1.0-rc.6 hit npm at 12:35 UTC, Aug 13. Orbital's first verified end-to-end dispatch — real DeepSeek model, bash tool writing files into a project workspace — ran at 14:53 UTC, 2h18m later, over Orbital's existing ACP transport with zero new transport code (probe scripts preserved at tests/manual/dsh/). The production integration below was built in 5 hours that night (about 2 of them active — a usage-limit outage ate the middle 3).

DeepSeek Harness as a first-class sub-agent

  • One-click install. Orbital downloads and installs dsh itself (npm ci against a committed lockfile — exact-pinned, reproducible) with live streamed progress on the settings card. First agent Orbital installs on your behalf; no CLI setup.
  • Key management. dsh has no credential store of its own, so Orbital keeps your DeepSeek API key in the system keychain — write-only fields, masked display, never returned by any API. One checkbox reuses your global DeepSeek provider key (copied server-side; the key never travels through the browser). Optional region-locked base URL supported.
  • Same project, same everything. dsh dispatches like Claude Code and Codex: @dsh in chat or manager delegation, briefed with the project's real context, working in the project workspace, with its own per-project MEMORY.md that it maintains across dispatches — and across daemon restarts.
  • Tool activity capsules. dsh's ACP adapter ships no tool events ("committed answers only"), so Orbital adds a composition-local plugin that emits standard ACP tool_call frames from the harness's own event bus — your capsule shows bash · 3.2s-style rows per invocation, same as Claude Code. The same fix repaired Cursor's previously empty tool capsules.
  • Model + permission mode in Settings (deepseek-v4-flash / deepseek-v4-pro, workspace-write / danger-full-access) — applied per spawn, and dsh's own sandbox enforces workspace containment (verified: outside-workspace writes fail cleanly with Operation not permitted).
  • Honest by design. dsh turns run silently (activity appears post-hoc — labeled as such in the UI), session resume degrades to an honest fresh session (upstream dsh-acp has no session/load yet; we've specified the PR), and credential pills now say "API key saved" instead of pretending key-agents "log in".

Also in this release

  • DeepSeek and every other agent now show their vendor marks on the settings cards (previously chat-only).
  • The @-mention dropdown picks up freshly installed agents immediately (previously required a page reload).
  • Removed the legacy hand-rolled acp transport (superseded by the real ACP SDK client).
  • Manifests can declare platform gates (setup.orbital_install.platforms); dsh installs on macOS + Linux.

Known issues

  • Windows: dsh install is gated off (untested npm .bin shim story) — the card says "not yet supported on this platform". Everything else works on Windows.
  • Windows installer is unsigned — expect the SmartScreen warning; choose "More info → Run anyway".
  • macOS .dmg is Developer-ID signed and notarized — no Gatekeeper bypass needed.
  • dsh session resume across daemon restarts is intentionally a fresh session (see above); dsh's own MEMORY.md carries practical continuity.

Install

Download below: Orbital-0.9.0-macOS.dmg (Apple Silicon) or Orbital-Setup-0.9.0.exe (Windows 10/11). Bring your own API key. To try dsh: Settings → Sub-agents → DeepSeek Harness → Install, paste your DeepSeek key (or reuse your provider key), then @dsh <task> in any project.