DSH Hub

openma-ai/deepseek-harness-acp

deepseek-harness-acp

BundleTerminal52 GitHub stars· updated 2026-10-26

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

deepseek-harness-acp DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/deepseek-harness-acp.svg)](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.

<h1 align="center">deepseek-harness-acp</h1>

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 forNormal installation and upgradesConnecting an ACP client without managing a dsh profile
Installdsh plugin --profile acp add @openma/deepseek-harness-acp@latestnpm i -g @openma/deepseek-harness-acp
Zed runsdsh --profile acpdsh-acp
HarnessThe dsh that owns the profileYour installed dsh, then the package's locked private runtime
Compositiondsh-base + this bundle + your profile's own patchesdsh-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):

…

Related plugins