dsh-orbital-agents
Persistent Endeavour and Challenger peer sessions for DeepSeek Harness that plan, execute sequential tasks, and verify reported results.
Install
dsh plugin --profile web add dsh-orbital-agents
Sandbox test results
| Stage | Result |
|---|---|
| 1 install | ✗ |
| 2 list | — |
| 3 mount | — |
| 4 boot | — |
dsh: initialized profile web at /home/node/.dsh/profiles/webFour stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).
README
Orbital Agents
Two coordinated DSH agents that plan and execute as one pair. Orbital Agents is the project and
repository identity; the published package is dsh-orbital-agents (the predecessor name
dsh-endeavour is superseded and deprecated on npm).
The Endeavour agent investigates, writes the plan, and verifies results. Its persistent
Challenger peer is a second ordinary chat that executes the plan and reports back through a
durable protocol. The pair is created once and reused for every later plan, so the two agents stay in
the same orbit instead of being re-spawned per task.
- Target runtime: DeepSeek Harness v0.1.7-rc.1 (Cordis 4.0.4), the family bundled by the
third-party community DSH Desktop v2.0.14. Harness 0.1.7 replaced directory agent presets with
composition rows and moved session navigation to the Workspace view owner, so earlier harness
releases are no longer supported. This is a community integration; it is not an official DeepSeek
product.
- The global bundle only provides the durable orchestration service. The four model-facing tools are
registered by the scoped dsh-orbital-agents/tools row of the Endeavour preset, so the standard
preset never sees them.
- User-visible task states are exactly four: waiting, running, succeeded, failed — shown as
Waiting to start, Working, Finished, Confirmed, and Failed display stages.
- Only Endeavour records success or failure after a quick acceptance check; the Challenger can never
authorize terminal success.
Use it
1. Install the package and the user presets (see below), then restart DSH Desktop so the profile
bundle row and the presets are loaded:
osascript -e 'quit app "DSH Desktop"' then open "/Applications/DSH Desktop.app".
2. Start a New Chat and pick the Endeavour preset.
3. Choose the planning model with the host's native Endeavour selector; use the compact
Challenger selector beside it to choose Challenger's Model and Effort independently.
4. Describe the task in ordinary language and send it. This is the only step that needs provider
credentials.
5. Watch the plan card in the Endeavour chat: progress, the durable task states, a live timer per
running task, and the frozen duration after verification. Open Challenger opens the paired chat
that executes the tasks.
Two ordinary presets ship together: Endeavour (planner: endeavour_plan, endeavour_verify)
and Challenger (executor: challenger_start_task, challenger_report). A plan is delivered once
to the persistent Challenger session paired with its Endeavour session; the companion is never a
subagent and is reused by every later plan of that pair. If a user asks for the
Challenger directly, Endeavour uses that paired companion and starts work only
through endeavour_plan; it never spawns a native subagent to replace it.
A paired Endeavour session shows a native Challenger view tab next to Chat and Trajectory, and
the Challenger session shows the reciprocal Endeavour tab; either tab opens the other ordinary
session of the pair (see [docs/architecture.md](docs/architecture.md)). An existing Challenger row is
never promoted by reselecting Endeavour in it; the runtime repairs its Challenger selection instead of
creating a second companion.
Install
git clone git@github.com:Qulierm/orbital-agents.git cd orbital-agents pnpm install --frozen-lockfile pnpm run build pnpm pack node scripts/install-local.mjs --tarball ./dsh-orbital-agents-0.2.8.tgz
The installer backs up the desktop profile and any existing user preset first, installs the package
into ~/.dsh/profiles/desktop, and preserves existing plugin order. The two agent presets ship inside
the package as bundle patches (presets/endeavour.patch.yml, presets/challenger.patch.yml), so no
preset directory is written; an upgrade retires the ownership-marked directories earlier releases
installed under ~/.dsh/.agent-presets. Re-running it is
idempotent; a changed tarball at the same name/version still refreshes the installed artifact
(remove-before-add). See [docs/install.md](docs/install.md) for the full lifecycle.
npm package
The same source is published to the public npm registry as
dsh-orbital-agents (MIT), so a released artifact can be
inspected or fetched by version instead of building it locally. After v0.2.8 is available on npm:
npm view dsh-orbital-agents version # latest published version npm pack dsh-orbital-agents@0.2.8 # download the published 0.2.8 tarball node scripts/install-local.mjs --tarball ./dsh-orbital-agents-0.2.8.tgz
npm pack writes the published tarball into the current directory, and the installer is run from a
clone of this repository with that path — the same installer documented in
[docs/install.md](docs/install.md). Installing the package as a plain library dependency is not a
supported way to load it into DSH Desktop: the plugin is mounted by the desktop profile and its
presets, which is what the installer configures.
Why two agents
Think of a rendezvous in orbit: one vehicle does the planning and holds the checklist, a second flies
the burn. Neither is a passenger, and neither is a throwaway stage — they stay docked for as long as
the mission lasts.
Two persistent ordinary sessions, not a subagent system. Endeavour and Challenger are two regular
chats that are paired once. The Challenger has its own conversation, its own model selection, and its
own history; it is provisioned through the same ordinary session path the UI uses, is never recreated
per plan, and is never spawned as a subagent. What connects them is a durable protocol, not a parent
process: Endeavour sends the whole plan once, the Challenger reports evidence back, and Endeavour
answers with a verdict.
The split of work. Endeavour owns requirements analysis, architecture, acceptance criteria and
verificati
…(truncated)
Rendered from the README published on npm. Formatted only, not edited.
Versions
Published on npm::7,最后更新 2026-10-17