前言¶
DSHACP 是 DeepSeek Harness(DSH)的一个插件。它的目标是把 DeepSeek 接到 Zed 的外部代理体系里,让开发者可以在 Zed 面板中直接和 DeepSeek 对话,并让 DeepSeek 执行读文件、写代码、跑命令等操作。
如果 DSH 侧已经具备 DeepSeek 的接入条件,DSHACP 主要补齐的是 Zed 侧的交互链路:Zed 发起请求,DSHACP 在 DSH profile 中承接,再把 DeepSeek 的回答、工具调用和审批请求呈现到 Zed 界面。
下面介绍 DSHACP 的定位、核心能力、安装启用方式、更新方式和常见配置。
这是什么¶
一句话概括:DSHACP 是 Zed 和 DeepSeek 之间的“翻译官”。
已核实的基础信息如下:
- 仓库名:
ECHOUniverse/dshacp - npm 包名:
@hanxu131/dshacp - 许可证:
MIT - Node 要求:
>=22 - 使用方式:仅配合 Zed 使用
- 依赖前提:需要已安装 DSH,可通过
dsh --version检查 - DeepSeek API Key:需要在 DSH 侧配置
- 插件 profile:使用独立的
dshacpprofile,不要与官方acpprofile 混装
核心功能¶
DSHACP 提供以下已核实的能力:
1、在 Zed 中直接和 DeepSeek 对话,回答逐字流式输出。
2、让 DeepSeek 读文件、写代码、跑命令,并能在界面查看每一步操作。
3、对有风险的操作,例如改文件,先弹出允许请求。审批支持 request_permission,可选择 allow once 或 always。
4、对话自动保存,下次打开可继续。
5、支持 token 级 assistant/chunk、reasoning、工具输入输出。
6、支持会话生命周期操作,包括 list、load、resume、delete、close。
7、Zed 面板中可选 model、thinking、permission、mode。
8、支持 slash 命令、plan、ask_user_question(elicitation)、HTTP MCP 转发。
9、支持可选 hybrid 写文件模式,文件改动可以 diff 形式呈现。
10、会话默认保存到当前项目目录的 .sessions,也可以通过 DSH_SESSIONS_ROOT 修改保存目录。
11、可以安装为独立 dshacp 命令使用。
安装与启用¶
下面介绍两种启用方式:插件方式和独立命令方式。
前提检查¶
先确认 DSH 已安装:
dsh --version
确认 Zed 编辑器可用。DSHACP 仅配合 Zed 使用。
确认 Node 环境满足要求:
node --version
DSHACP 要求 Node >=22。
确认 DeepSeek API Key 已在 DSH 侧配置。这个密钥不在 DSHACP 插件中配置。
方式一:作为 DSH 插件安装¶
在终端执行安装命令:
dsh plugin --profile dshacp add @hanxu131/dshacp
这一步会把 @hanxu131/dshacp 安装到 DSH 的 dshacp profile 中。
然后在 Zed 的 AI -> External Agents 中添加自定义代理。根据已核实事实,command 填 dsh,args 填 --profile dshacp。配置示例如下:
{
"agent_servers": {
"DSH": {
"type": "custom",
"command": "dsh",
"args": ["--profile", "dshacp"],
"env": {}
}
}
}
这一步的作用是让 Zed 通过 dsh --profile dshacp 启动 DSHACP。
完成后,打开 Zed 的代理面板,选择 DSH,然后输入问题开始对话。
方式二:安装为独立 dshacp 命令¶
如果不想走 DSH profile 安装,也可以把包安装成独立命令:
npm install -g @hanxu131/dshacp
然后在 Zed 的自定义代理配置中,把 command 改为 dshacp,args 留空。
这种方式的功能定位与插件方式一致,但启动入口从 dsh --profile dshacp 变为直接执行 dshacp。
更新与常见配置¶
更新插件¶
add 可能会因为 pnpm lock 或 minimum release age 导致不升级到新版本。已核实的推荐做法是:先关闭发布年龄门控,再使用 update。
先编辑 profile 目录下的 pnpm workspace 文件:
~/.dsh/profiles/dshacp/pnpm-workspace.yaml
在其中加入:
minimumReleaseAge: 0
然后执行更新命令:
dsh plugin --profile dshacp update @hanxu131/dshacp
升级完成后,需要重启 Zed 里的 DSH 会话,或重启 dsh --profile dshacp 进程,新代码才会被加载。
会话保存目录¶
会话默认保存到当前项目目录的 .sessions 文件夹。
如果要统一修改会话保存目录,可以设置环境变量 DSH_SESSIONS_ROOT。例如:
export DSH_SESSIONS_ROOT=/path/to/dshacp-sessions
这一步用于把会话数据从当前项目目录迁移到指定目录。
权限模式¶
可以设置环境变量 DSH_PERMISSION_MODE,可选值为 workspace-write 或 danger-full-access。
已核实行为如下:
workspace-write:默认权限,会弹确认框。danger-full-access:无沙箱限制,且不弹确认框。
配置示例:
export DSH_PERMISSION_MODE=workspace-write
或:
export DSH_PERMISSION_MODE=danger-full-access
danger-full-access 会跳过确认弹窗,只应在可信环境中使用。
Hybrid 写文件模式¶
可以设置环境变量 DSHACP_HYBRID=1 开启混合模式。开启后,文件改动会以 diff 形式呈现。
export DSHACP_HYBRID=1
这个模式适合在 Zed 中审查 DeepSeek 对文件产生的改动。
适用场景与注意¶
DSHACP 适合在 Zed 中使用 DeepSeek,并且需要以下能力的场景:
- 需要在 Zed 代理面板中直接对话
- 需要看 token 级流式输出
- 需要 DeepSeek 调用工具并展示操作过程
- 需要审批风险操作
- 需要会话保存、恢复和生命周期管理
- 需要在 Zed 面板中选择
model、thinking、permission、mode
使用前需要注意:
1、DSHACP 仅配合 Zed 使用。
2、需要先安装 DSH,并在 DSH 侧配置 DeepSeek API Key。
3、使用独立 dshacp profile,不要与官方 acp profile 混装。
4、DSHACP 会作为你启动的 DSH 插件或独立命令运行,具备对应本地进程权限。安装前请检查源码、依赖和 MIT 许可证。
5、开启 danger-full-access 后不会弹确认框,风险更高,应只在可信环境使用。
结尾¶
DSHACP 的价值在于把 DeepSeek 接到 Zed 的外部代理链路中,同时保留流式输出、工具调用、审批、会话管理这些交互能力。它适合需要把 DSH 中的 DeepSeek 能力用于 Zed 内交互式开发的场景。
相关链接:
- GitHub 仓库:https://github.com/ECHOUniverse/dshacp
- 插件目录线索:https://www.skillhub.cn/plugins/ECHOUniverse/dshacp(该 URL 来自线索,未独立核实)