openma-ai/deepseek-harness-acp
deepseek-harness-acp
ACP server implementation for DeepSeek harness. dsh-acp
Install
npx @deepseek-ai/dsh plugin --profile acp add @openma/deepseek-harness-acp@latest`Restart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/deepseek-harness-acp)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from openma-ai/deepseek-harness-acp, cleaned of badges and images.
Use <a href="https://github.com/deepseek-ai/deepseek-harness">DeepSeek Harness</a> from <a href="https://agentclientprotocol.com/">Agent Client Protocol</a> clients such as <a href="https://zed.dev">Zed</a> and <a href="https://github.com/openma-ai/backchat">Backchat</a>.
The adapter composes the harness in-process and maps its session-event log
onto the full ACP vocabulary: streamed text and reasoning, tool calls with
diffs and display terminals, plans, permission requests, session modes,
config options, slash commands, skills, and MCP servers. Credentials never
touch your editor config — it reuses the key you saved in the dsh Web UI, or
dsh-acp login saves one to the same store.
One package, standalone or plugin
| A · dsh profile plugin (recommended) | B · Standalone server | |
|---|---|---|
| Best for | Normal installation and upgrades | Connecting an ACP client without managing a dsh profile |
| Install | dsh plugin --profile acp add @openma/deepseek-harness-acp@latest | npm i -g @openma/deepseek-harness-acp |
| Zed runs | dsh --profile acp | dsh-acp |
| Harness | The dsh that owns the profile | Your installed dsh, then the package's locked private runtime |
| Composition | dsh-base + this bundle + your profile's own patches | dsh-base + this bundle (profile machinery booted in-process) |
Both shapes share $DSH_HOME: the same credential store, settings, presets,
and session logs as dsh web — conversations started in the Web UI can be
listed and loaded from the editor.
Other dsh surfaces can mount the transport-independent
@openma/deepseek-harness-acp/plugin on their Base Host tree and own the
transport adapter. The TUI profile uses this path: it starts a separate TUI
Client process and connects ACP over that process's standard stdin/stdout; it
does not start dsh-acp or use an in-process Client stream.
The package is therefore not only a CLI wrapper. It is also the ACP surface plugin used by other dsh applications: one Host composition can expose the same sessions, tools, presets, skills, and persistence through a transport chosen by the surface.
DSH compatibility
This release supports @deepseek-ai/dsh >=0.1.7-rc.2 — a minimum-version
floor declared in engines.dsh (the field dsh's own plugin loader checks, with
prereleases included), never an exact-version list. It is deliberately not a
@deepseek-ai/dsh peer dependency: npm and pnpm match peer ranges without
prereleases, so a peer floor would reject every dsh prerelease. A newer dsh is
always attempted: API differences between dsh generations are feature-detected
where they are used (for example dsh 0.2.1's subagents.drainDescendants
versus 0.2.0's drainContinuableDescendants), and a dsh newer than the newest
tested version (0.2.1-rc.2) only logs a warning. Only a dsh below the floor
is refused. CI exercises the tested profile matrix (runtime/compatibility.json)
plus the next dist-tag. The bundled runtime is
DSH 0.2.0-rc.2, including the upstream cross-process session write lock.
Runtime selection has exactly two rules (Martty issue #157):
…


