openma-ai/deepseek-harness-acp ↗★ 2
@openma/deepseek-harness-acp
Agent Client Protocol (ACP) adapter for DeepSeek Harness — use DeepSeek Harness from ACP clients such as Zed.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:openma-ai/deepseek-harness-acp说明文档
阅读完整 README ↗ACP adapter for DeepSeek Harness
Use DeepSeek Harness from Agent Client Protocol clients such as Zed.
@openma/deepseek-harness-acp is a dsh profile plugin (a harness bundle) and a standalone stdio ACP server. In both shapes it maps the harness session-event log onto the full ACP update vocabulary and reuses your existing dsh setup — including the API key you saved in the dsh Web UI. No credentials in your editor config.
Install (recommended: as a dsh plugin)
1. Have DeepSeek Harness (you probably already do):
npm install -g @deepseek-ai/dsh
dsh web # first run: save your DeepSeek API key in Settings → Models
2. Add the ACP bundle to a profile:
dsh plugin --profile acp add -w @openma/deepseek-harness-acp
This creates $DSH_HOME/profiles/acp, installs the package, and registers the
bundle (its dsh.bundle patch mounts the bridge over @deepseek-ai/dsh-base
— the same product baseline as dsh web, with the module-reload watcher off).
3. Point Zed at it (settings.json):
{
"agent_servers": {
"DeepSeek Harness": {
"command": "dsh",
"args": ["--profile", "acp"]
}
}
}
That's it — no env, no keys in the editor. Credentials come from the
harness's own credential store ($DSH_HOME/.credentials.yaml, the file the
Web UI writes, hot-reloaded), with the process environment
(DEEPSEEK_API_KEY / DEEPSEEK_BASE_URL) as a fallback layer.
Because the profile rides dsh-base, the agent in your editor is the full
product: sandboxed bash and filesystem tools, todo plans, skills, subagents,
workflows, web search, plan mode, LLM session titles, compaction — and it
shares $DSH_HOME/sessions, so conversations started in the dsh Web UI can
be listed and loaded from the editor.
MCP servers configured in your client (Zed context servers, for example)
are attached per session: each session/new server entry mounts a
@deepseek-ai/dsh-mcp-client instance (stdio and streamable HTTP
transports), whose tools join the agent as mcp____. A server
that fails to start never takes the session down.