AndPuQing/dsh-acp-plus ↗★ 0

dsh-acp-plus

Extended Agent Client Protocol server bundle for DeepSeek Harness (dsh) 适合需要将Zed等外部编辑器或客户端连接到DSH进程的开发者。

패키지
dsh-acp-plus
호환성
미검증
Harness peer 범위
^0.2.0-rc.1
Cordis peer 범위
*
버전
0.1.0
라이선스
NOASSERTION
최근 업데이트
2026. 10. 5.

설치

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:AndPuQing/dsh-acp-plus

Usage

dsh --profile acp-plus

stdout carries only ACP JSON-RPC; diagnostics go to stderr. Connect any ACP client to the process.

Zed

Zed starts external agents through agent_servers. In a remote project the agent runs on the remote Zed server, so the setting belongs in the remote server settings (zed: open server settings, i.e. the remote ~/.config/zed/settings.json):

{
  "agent_servers": {
    "dsh-acp-plus": {
      "type": "custom",
      "command": "/bin/sh",
      "args": ["-lc", "exec dsh --profile acp-plus"],
      "env": {}
    }
  }
}

sh -lc picks up the login shell's PATH; an absolute dsh path works too. Reconnect the remote project and select dsh-acp-plus in the agent picker. Modes, slash commands, session/load replay, and ask_user_question (when the client declares form elicitation) are available; client terminals are intentionally unsupported. Logs: ~/.local/share/zed/logs/server-preview-*.log.

Configuration

The profile patch configures the bridge row:

FieldTypeDefaultDescription
providerstringagent-default-modelProvider route for new agents (e.g. deepseek-official).
modelstringagent-default-modelExact model id (e.g. deepseek-v4-flash).
sessionListPageSizeinteger >= 1100Maximum sessions returned by one session/list page.
enableSessionLoadbooleanfalseAdvertise and serve session/load transcript replay.
enableAdditionalDirectoriesbooleanfalseAccept additionalDirectories with containment-checked pre-approval.

The shipped profile enables both enableSessionLoad and enableAdditionalDirectories.

Inspect the composed configuration and its schema:

dsh --profile acp-plus --dump-config
dsh --profile acp-plus --dump-config-schema

Models and credentials

provider / model are optional. When unset, the bridge follows agent-default-model — the default model service the dsh Web Models page writes — so a deployment configures its model once and every entry point follows. Provider routes (llm-pi-ai providers) and the default model can be shared across profiles by putting them in $DSH_HOME/cordis.patch.yml.

Note that a DSH patch replaces the whole config object of the row it targets: overriding the acp-plus row requires restating sessionListPageSize, enableSessionLoad, and enableAdditionalDirectories. Configuring only the model does not touch that row.

API keys are home-level and shared by every profile ($DSH_HOME/.credentials.yaml, written by the Web Models page or supplied through the launch environment).