DeepSeek Harness
DeepSeek Harness
Section titled “DeepSeek Harness”The DeepSeek Harness (dsh) connects to Chorus through a first-party npm bundle,
@chorus-aidlc/chorus-dsh. The bundle adds the Chorus MCP tools, workflow skills, and
persona to a dsh profile. You can drive dsh interactively, and — as of dsh 0.1.2-rc.1 —
Chorus can also wake dsh unattended as a daemon backend.
Before installation, use dsh 0.1.2-rc.1 or newer with pnpm, and create an agent key by
following Prepare agent access.
Install the bundle and store credentials
Section titled “Install the bundle and store credentials”chorus agents add installs the bundle into a dsh profile and writes your credentials to
$DSH_HOME/.env in one step. Name the profile with --dsh-profile:
npm install --global @chorus-aidlc/choruschorus agents add --agents dsh --dsh-profile <name>Enter the Chorus URL and agent key when prompted. Because dsh removes credential-shaped
variables from tool subprocesses, chorus agents add persists CHORUS_URL,
CHORUS_API_KEY, and CHORUS_AGENT_PROFILE into $DSH_HOME/.env, which dsh loads into the
session. dsh resolves credentials in this order: environment, then
$DSH_HOME/.credentials.yaml, then <cwd>/.env, then $DSH_HOME/.env.
To add the bundle by hand instead, run the following (the -w flag is required because a dsh
profile is a pnpm workspace root), then set the credentials in $DSH_HOME/.env yourself:
dsh plugin --profile <name> add @chorus-aidlc/chorus-dsh -wVerify the connection
Section titled “Verify the connection”Launch the profile:
dsh --profile <name>Ask it to “check in to chorus”. In Chorus, open Settings → Agents and confirm that the dsh connection is online.
Run dsh as a daemon backend (optional)
Section titled “Run dsh as a daemon backend (optional)”As of dsh 0.1.2-rc.1, Chorus can wake dsh unattended, the same way it wakes Claude Code,
Codex, and Kiro. Seed credentials once with chorus agents add --agents dsh, then start the
daemon selecting the dsh backend:
chorus daemon --agent dshThe daemon builds and validates its own managed sdk profile the first time it wakes dsh, so
the daemon path needs only credentials — you do not have to hand-install a profile for it.
dsh itself must be on PATH (or set CHORUS_DSH_PATH); Chorus never bundles the dsh
runtime. A Chorus dispatch — assigning dsh an idea or task, or an @mention — wakes it.
Each wake runs a fresh dsh session (dsh has no native cross-wake resume); Chorus keeps the conversation context on the assigned idea/task, and the woken dsh agent reads it back through the Chorus MCP tools.
Capabilities and limits
Section titled “Capabilities and limits”- The bundle provides the Chorus MCP tools, the workflow skills, and the Chorus persona.
- dsh runs interactively through its own profile, and as an unattended daemon backend
(
chorus daemon --agent dsh). - Per wake, dsh starts a new session — there is no native cross-wake conversation resume; continuity comes from the Chorus resource the wake is anchored to.
Common issues
Section titled “Common issues”dshorpnpmnot found: install both prerequisites and open a new shell.ERR_PNPM_ADDING_TO_ROOT: re-run the command with-w— a dsh profile is a pnpm workspace root.- Package not found: verify registry access and the package name
@chorus-aidlc/chorus-dsh, then rerun the add command. - Check-in is unauthorized: confirm
CHORUS_URLand thecho_agent key are stored in$DSH_HOME/.env(re-runchorus agents add --agents dsh --dsh-profile <name>to refresh them), then relaunch the profile. - Check-in fails after a profile update: restart the dsh profile so the effective composition reloads.