Configuring dsh-multica-runtime
DeepSeek Harness loads the built plugin into the multica profile. The runtime can use a non-standard DeepSeek Harness launcher when MULTICA_DSH_PATH is set to an absolute path:
MULTICA_DSH_PATH=/absolute/path/to/dsh
The plugin reads DEEPSEEK_API_KEY through DeepSeek Harness’s credential provider at process runtime. Do not store this key in the repository. Multica supplies the per-runtime or per-agent session roots. Its canonical MCP configuration is translated into DSH clients using stdio or streamable HTTP.
Commands supported by dsh-multica-runtime
Run these commands with the multica profile:
| Command |
Purpose |
dsh --profile multica --probe |
Returns protocol version 1 for Multica discovery. |
dsh --profile multica --list-models |
Lists models and thinking levels discovered from DSH. |
dsh --profile multica --stdio |
Runs the versioned JSONL runtime protocol over standard input and output. |
DeepSeek Harness must be installed in a location that the plugin can launch. For local development, the README validates the bundle with pnpm install, pnpm check and pnpm build; the checkout is currently validated against @deepseek-ai/dsh@0.1.0-rc.6 and its matching @deepseek-ai/dsh-* package family.
Runtime behaviour
The stdio channel is protocol-only: diagnostics go to stderr. The bridge emits committed text, reasoning, tool, result and token-usage events. It supports cooperative cancellation and durable session resume. Headless one-shot approvals are supported, but no interactive question surface is provided. DSH telemetry is disabled by the bundle patch.
Terminal and credential handling
The runtime can invoke DSH’s credential-scrubbed shell, which is the plugin’s terminal surface. It narrowly forwards Multica’s server-minted mat_ task token so in-task multica commands retain task attribution. Model-provider credentials are not forwarded through that mechanism. DEEPSEEK_API_KEY remains a process-runtime credential rather than repository data.
Written from the project's own documentation and kept in sync with it. Where the two disagree, the source is authoritative — read the README on GitHub