Preface

DeepSeek Harness (hereinafter referred to as dsh) splits agent capabilities into replaceable plugins: models, tools, sessions, sandboxes, and interfaces can all be layered at the configuration layer without modifying the framework source code. Its official slogan is “Everything is a plugin”, and it is currently in the developer preview stage, with core interfaces subject to continued changes.

On the other hand, Multica is a platform that treats coding agents as colleagues and assigns tasks to them: the local daemon is responsible for calling installed CLIs, and the dashboard is responsible for task queuing, claiming, execution, and feedback. The official website documentation lists DeepSeek Harness as a supported coding tool, with the detection command being dsh. However, dsh is designed for interactive terminals or Web UIs by default, while Multica requires a headless, detectable runtime that supports a versioned protocol over stdio. There is a missing bridge between the two.

dsh-multica-runtime is exactly this bridge. It does not modify DeepSeek Harness source code, but instead connects dsh to Multica’s runtime protocol via an external plugin.

What is this

dsh-multica-runtime is a development and runtime plugin maintained by the GitHub organization multica-ai, with the repository address multica-ai/dsh-multica-runtime. Its package name is @multica-ai/dsh-runtime, current version is 0.1.0-private.1, and the primary language is TypeScript. The README positions it as an out-of-tree runtime bridge between Multica and the public DeepSeek Harness: it exposes a JSONL protocol with version 1 over stdio, and is built on top of @deepseek-ai/dsh-base.

The catalog entry date is 2026-08-15, and the last push to the repository was on 2026-08-14. The GitHub repository currently shows 41 stars; the community catalog entry marked 33 stars at the time of inclusion, and the catalog number is a snapshot, so please refer to the repository page for the latest star count.

The problem it solves is specific: allowing the Multica daemon to register the local dsh as an online runtime, so that tasks can be assigned to DeepSeek Harness for execution. The repository clearly states two things: it only contains the Multica integration layer, and does not embed or redistribute DeepSeek Harness source code; it does not require modifications to DeepSeek Harness itself.

Core Capabilities

The runtime conventions listed in the repository README can be cross-referenced with the protocol frames in the source code. After the plugin starts in --stdio mode, it will first write a ready frame to stdout, declaring itself as runtime: dsh with these capability flags: resume, cancel, models, thinking, usage, tools, as well as MCP transports stdio and streamable-http.

  1. Detection and Model Discovery. --probe returns protocol version 1; --list-models enumerates providers and models from dsh’s own LLM service, along with thinking levels. The Multica documentation specifies that the daemon will only register DeepSeek Harness as an online runtime after a successful --probe check.
  2. JSONL Task Channel. stdin accepts two commands: execute and cancel. Each process only accepts one execute at a time: the working directory must be an absolute path, you can specify a model, thinking level, MCP server list, or use resume_session_id to resume a previous session. stdout only uses protocol frames, and diagnostic information is written to stderr. Tool outputs exceeding 256 KiB will be truncated; commands exceeding 8 MiB in size will be rejected outright.
  3. Sessions and Cancellation. New session IDs take the form multica-<uuid>. If the session working directory does not match the current cwd when resuming, it will fail with DSH_RESUME_REJECTED to avoid assigning tasks to the wrong directory. cancel follows dsh’s user cancellation path, which is a cooperative abort rather than a forced process kill.
  4. MCP Configuration Translation. The MCP configuration issued by Multica will be converted to dsh’s @deepseek-ai/dsh-mcp-client: stdio servers carry command, args, env, and cwd, while streamable-http servers carry url and headers. Names will be normalized to the character set allowed by dsh.
  5. Headless Approval. This is a headless runtime for daemons, with no interactive prompt interface. The system prompt in cordis.patch.yml explicitly prohibits calling ask_user_question; approval requests are handled as one-time allowances (allowed-once) in the source code. Hot module replacement (hmr) and OpenTelemetry telemetry plugins are disabled, and no HTTP listener is exposed.
  6. Narrow Forwarding of Task Tokens. By default, dsh clears environment variables matching patterns like *TOKEN*, *KEY*, *SECRET*, and *PASSWORD* from child processes. This plugin only forwards the MULTICA_TOKEN issued by the Multica server and starting with mat_, allowing the multica command in tasks to carry task attribution information; model vendor keys will not pass through this path. DEEPSEEK_API_KEY is still read by dsh’s own credential module during process runtime, and the repository requires that it not be committed to this plugin repository.

The current release has been validated against @deepseek-ai/dsh@0.1.0-rc.6 and the same-series @deepseek-ai/dsh-* packages. The engines field in package.json requires Node.js ^22.19.0 || >=24.0.0. The Multica installation documentation specifies Node.js 20+ for a global install of @deepseek-ai/dsh; if there is a discrepancy, this plugin’s own engines field takes precedence.

Installation and Activation

The installation command given on the community catalog page, to be run in the DeepSeek Harness terminal:

dsh plugin add github:multica-ai/dsh-multica-runtime

The catalog page also reminds users that for reproducible installations, they should pin the commit hash:

dsh plugin add github:multica-ai/dsh-multica-runtime#commit

Replace #commit with the actual commit hash, do not copy the placeholder verbatim.

If building locally per the repository README and installing into a profile named multica (which is also the path used in the Multica documentation), the steps are:

pnpm install
pnpm check
pnpm build
dsh plugin --profile multica add /absolute/path/to/multica-dsh-runtime

The path in the last line must be replaced with the absolute path to the built artifacts. The official Multica installation documentation flow is: first install Node.js, then run npm install -g @deepseek-ai/dsh, then add the Multica runtime profile to dsh; the daemon will only register DeepSeek Harness after a successful probe with this command:

dsh --profile multica --probe

Before starting the daemon, you also need to set DEEPSEEK_API_KEY in the environment, or add it to dsh’s own settings. If the dsh installation path is non-standard, tell the daemon the absolute path to the launcher:

export MULTICA_DSH_PATH=/absolute/path/to/dsh

The default model can be overridden with MULTICA_DSH_MODEL, whose value is the model ID from the dsh catalog, with the documentation example being deepseek-official/deepseek-chat. The session persistence directory is controlled by MULTICA_DSH_SESSION_ROOT, falling back to the sessions directory under the dsh home directory if not set.

The catalog page states that the plugin runs with the permissions of the current dsh process, and may execute code during installation. Please review the source code repository and license terms before installing.

Typical Usage

After installing the multica profile, the plugin supports the following three commands, corresponding to detection, listing models, and entering stdio protocol mode respectively:

dsh --profile multica --probe
dsh --profile multica --list-models
dsh --profile multica --stdio

When --probe succeeds, stdout will write a JSONL frame with fields including runtime: dsh, plugin_version, and protocol_version: 1. The Multica daemon uses this frame to verify that the protocol matches.

--list-models will write a models frame to stdout. Model IDs are encoded as encodeURIComponent(provider)/encodeURIComponent(model), and the current default model is marked; if the model supports reasoning effort, supported_levels and default_level will be included. If enumeration fails for a particular provider, the plugin writes the error to stderr and skips that provider without failing the entire command.

--stdio is the mode used when the daemon actually runs tasks. The process first sends a ready frame, then waits for the first execute command on stdin. The core fields of an execute command are:
- cwd: Task working directory, must be an absolute path;
- prompt: Current user prompt;
- resume_session_id: Optional, resume an existing session;
- model: Optional, provider + id, plus optional reasoning_effort;
- mcp_servers: Optional, list of stdio or streamable-http MCPs.

During execution, stdout will emit events as frames: session, text, thinking, tool_call, tool_result, usage, with the final frame being result with a status of completed, failed, aborted, or cancelled. In daily use, these frames are read and written by the Multica daemon, and there is generally no need to manually inject JSON into stdin. After starting the local daemon, go to the Multica Runtimes page to confirm that DeepSeek Harness shows as online, then you can select this runtime when creating or editing an agent.

For non-standard installation paths, or when the Desktop and terminal PATH do not match, use the aforementioned MULTICA_DSH_PATH to point to the real dsh executable, then restart the daemon:

multica daemon restart

Applicable Scenarios and Notes

This is suitable for users who are already (or planning to) use Multica to manage coding agents, and want to add DeepSeek Harness as one of the runtimes. Typical scenarios include: a local or self-hosted environment that can already run dsh, and need to have dashboard tasks executed on dsh, while retaining cancellation, session resumption, MCP, and usage event functionality. It is not a plugin that adds a Web UI or terminal skin for regular dsh users; without Multica running, this bridge has no use case.

Please review the following items carefully before installing.

  1. License Terms: Do not rely on the generic wording on the catalog page. The catalog FAQ states “it is a community open source project, you can view the source code and install and use it for free”, but the repository’s package.json marks "private": true and "license": "UNLICENSED", and there is no SPDX license listed on GitHub. The README title uses the phrase “Private runtime bridge”. In case of conflict, refer to the repository’s primary information: the source code is readable, but no open-source license for redistribution is currently provided. Please verify on your own before installing.
  2. Process Permissions: The plugin runs with the permissions of the current dsh process. Both the catalog page and the general installation instructions on the community catalog emphasize that code may be executed during installation, and plugins from GitHub may also run build scripts. Only install commits that you have reviewed yourself.
  3. Tight Version Binding: The current validation baseline is @deepseek-ai/dsh@0.1.0-rc.6. DeepSeek Harness is still in developer preview, and core plugins and APIs are subject to change; after upgrading dsh, you need to re-verify that this bridge can still be detected successfully.
  4. Headless Behavior Differs from Interactive dsh: There is no user prompt interface, approvals are handled as one-time allowances, and the system prompt prohibits calling ask_user_question. Operations that require manual confirmation will not pop up a window in this runtime.
  5. Credentials and Privacy Boundaries: Do not commit API keys, MCP secrets, session logs, or generated profiles into this repository; DSH telemetry is disabled via bundle patch; only protocol frames are allowed on stdout. Only the MULTICA_TOKEN with the mat_ prefix is forwarded, and other credentials are still stripped per dsh’s cleaning rules.
  6. Repository Field Discrepancy: The repository field in package.json still points to github.com/dsh-external/dsh-multica-runtime, which does not match the current public repository multica-ai/dsh-multica-runtime. Use the latter for installation and referencing.

The community plugin directory deepseek-harness-plugin.com is an independent site and has no official affiliation with DeepSeek / HyperMind, and should not be treated as an official app store.

Summary

dsh-multica-runtime does a very narrow set of things: it provides Multica with a runtime bridge that does not modify dsh source code, using the JSONL protocol to connect detection, model lists, task execution, cancellation, and session resumption. For users who are already using Multica and want to add DeepSeek Harness to their runtime list, this plugin is currently the installation path pointed to by both the repository and official documentation.

Catalog page: https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-multica-runtime/

GitHub: https://github.com/multica-ai/dsh-multica-runtime