ACP server for DeepSeek Harness — bridges Zed and other IDEs to dsh agents
在 DeepSeek Harness 终端运行:
dsh plugin --profile web add cnctem/dsh-acp
An Agent Client Protocol (ACP) server for DeepSeek Harness (dsh) that lets Zed and other IDEs drive dsh agents over JSON-RPC 2.0 stdio.
Built on the official @deepseek-ai/dsh-acp skeleton as a dsh profile bundle over dsh-base, and extended with the editor experience of pi-acp.
dsh-acp mounts an ACP server on dsh's stdin/stdout. Zed launches dsh --profile acp and speaks ACP JSON-RPC over stdio; the plugin translates session/* requests into dsh agent lifecycles. No dsh modification required.
agent_message_chunk / agent_thought_chunktool_call / tool_call_update with kind, file location and linesession/list · session/load · session/deleteDSH_ACP_PRESET: the built-in standard / minimal modes (other modes need global mounting in the profile, see Configuration), plus any preset you author under $DSH_HOME/.agent-presets/usage_update (used / size) feeds the IDE's context indicatortodo_write snapshots rendered as the IDE's plan checklist (plan update), cleared when a new turn beginsimage prompt blocks (e.g. screenshots) admitted through dsh 0.1.1's durable attachment seam (dsh-attachment) and fed to the model as ImageBlocks, with a capability advertisement that lets Zed send images/ commands advertised via available_commands_update, executed in the command plane (images handed to commands that accept them)ask_user_question tool answered through ACP form elicitation (options, multi-select, free text), with a self-explaining fallback for clients without the elicitation capabilityPrerequisites: Node.js ≥ 20, dsh (developed against dsh@0.1.1-rc.2), pnpm.
dsh plugin --profile acp add github:cnctem/dsh-acp
From source:
git clone https://github.com/cnctem/dsh-acp.git
dsh plugin --profile acp add ./dsh-acp
DSH_ACP_PROVIDER / DSH_ACP_MODEL (or edit the acp row in $DSH_HOME/profiles/acp/cordis.patch.yml).DSH_ACP_PRESET — an optional field whose value directly names the preset mounted for every session: the value is the preset id, no roster constraint on your side. Unset or empty → standard; a value naming no existing preset fails session creation with an error. Valid ids are the shipped standard / minimal presets, plus any preset you author under $DSH_HOME/.agent-presets/<id>/ (the user root is a preset root by default).code (PTC) and cordis (creation) presets are not in dsh-base. They need the code-runtime and cordis-host-runner plugins installed globally (in the profile's cordis.patch.yml), after which you can pick code / cordis via DSH_ACP_PRESET like any other preset.$DSH_HOME/.credentials.yaml or DEEPSEEK_API_KEY).Add to Zed's settings.json:
{
"agent_servers": {
"dsh": {
"type": "custom",
"command": "dsh",
"args": ["--profile", "acp"],
"env": {}
}
}
}
Restart Zed and pick dsh. Fix a model or preset via env (DSH_ACP_PRESET directly names the preset to mount — empty → standard, unknown id → session error; standard / minimal work out of the box, and globally installed presets are supported too):
{
"agent_servers": {
"dsh-minimal": {
"type": "custom",
"command": "dsh",
"args": ["--profile", "acp"],
"env": { "DSH_ACP_PRESET": "minimal" }
}
}
}
Zed also supports multiple entries for the same acp, so different presets can coexist as separate entries in the "+" menu.
@deepseek-ai/dsh-acp examplepi-acp — the reference for the richer editor experience登录后即可为该插件评分和评价。
还没有人评价这个插件,来抢个沙发吧!