Skip to content

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.

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:

Terminal window
npm install --global @chorus-aidlc/chorus
chorus 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:

Terminal window
dsh plugin --profile <name> add @chorus-aidlc/chorus-dsh -w

Launch the profile:

Terminal window
dsh --profile <name>

Ask it to “check in to chorus”. In Chorus, open Settings → Agents and confirm that the dsh connection is online.

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:

Terminal window
chorus daemon --agent dsh

The 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.

  • 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.
  • dsh or pnpm not 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_URL and the cho_ agent key are stored in $DSH_HOME/.env (re-run chorus 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.