前言¶
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 來自線索,未獨立覈實)