前言¶
在 DeepSeek Harness(DSH)裏接第三方模型,常見做法是直連 HTTP API 或自己維護令牌。Qoder 提供官方 CLI(國際版 qodercli、中國版 qoderclicn),登錄態由 CLI 本地保存,並支持 ACP stdio 協議。若要在 DSH 裏複用這套 CLI 的模型選擇與對話能力,同時仍由 DSH 管理歷史、系統提示和工具執行,就需要一個模型適配器插件。dsh-qoder-link 由社區維護者 liubaicai 開發,分類爲客戶端插件,作用是將 Qoder CLI 接入 DSH 的對話、模型選擇與工具調用鏈路,無需逆向模型 API。
這是什麼¶
dsh-qoder-link(倉庫 liubaicai/dsh-qoder-link)通過原生 ACP stdio 與官方 CLI 通信。插件不管理賬戶、不獲取或注入令牌;v0.1.2 起僅使用 CLI 本地登錄態,在設置中選擇國際版或中國版即可。DSH 側歷史、系統提示詞和工具結果會組成完整上下文,工具調用交回 DSH 校驗和執行;模型提供商標識爲 qoder,默認入口爲 qoder/default。
核心功能¶
模型與委派¶
- 支持配置賬戶可用的模型 ID;首次打開設置會自動調用所選 CLI 的
--list-models,也可手動刷新,不訪問私有模型 API。 - 獨立工具
qoder_ask:委派時不發送當前 DSH 歷史,不切換當前模型;默認同樣禁用 CLI 內置工具。
ACP 與會話¶
- 覆蓋 ACP 初始化、會話創建、提示請求、流式文字與思考、工具狀態、取消與進程清理;用量僅在 CLI 返回時報告。
- 每次請求啓動全新 CLI,以
--acp運行,經 stdin/stdout 交換 JSON-RPC,完成initialize、session/new、session/prompt;不恢復舊 ACP 會話,完整歷史由 DSH 管理。
併發與運行記錄¶
- 進程級 FIFO 併發隊列,支持排隊超時、無進展超時與取消;持續產生進展的任務不會因固定十分鐘上限被終止。
- 運行記錄僅保存在當前 DSH 進程內,保留最近
max(5, maxConcurrency)條(約 5~16 條),設置頁與/qoder runs共用同一批元數據。
Web 設置¶
- 參照 CodeBuddy Link 的緊湊佈局:區域選擇、模型啓用、默認模型、權限與推理強度、摺疊運行記錄和高級配置。
- 包內自帶預構建
dist、雙語標題與說明、Qoder logo、Cordis 安裝補丁。
安全邊界(模型適配器)¶
- 模型適配器始終禁用 CLI 內置工具(
--tools ""、嚴格空 MCP、dont_ask等);模型按 JSON 返回工具請求,插件轉爲 DSH 工具塊,由 DSH 執行。 - 子進程會清除從宿主繼承的
QODER_PERSONAL_ACCESS_TOKEN/QODERCN_PERSONAL_ACCESS_TOKEN(含大小寫變體),不再注入 PAT。 - 僅支持文本輸入;圖片會明確報錯。CLI 是本地外部進程,不是隔離容器。
安裝與啓用¶
環境要求¶
需要支持第三方模型適配器與 Web 插槽的 DSH,Node.js 22.18 或更高。插件不會自動安裝 Qoder CLI。
1、安裝並登錄 CLI¶
參考 國際版安裝 或 中國版安裝。在運行 DSH 的同一臺機器、同一操作系統賬戶下完成登錄:
# 國際版
npm install -g @qoder-ai/qodercli
qodercli login
qodercli --version
qodercli --list-models
# 中國版
npm install -g @qodercn-ai/qoderclicn
qoderclicn login
qoderclicn --version
qoderclicn --list-models
新版官方安裝器也可能提供 qoder / qodercn 命令;若只安裝了新別名,可在高級設置中填寫該命令或完整路徑。插件不會在國際版與中國版之間自動回退。
2、安裝插件¶
推薦固定到 Release 安裝包(示例版本 v0.1.11):
dsh plugin --profile web add "https://github.com/liubaicai/dsh-qoder-link/releases/download/v0.1.11/dsh-qoder-link-0.1.11.tgz"
也可從指定標籤安裝:
dsh plugin --profile web add "github:liubaicai/dsh-qoder-link#v0.1.11"
web 爲 DSH 配置名稱;若使用其他 profile,請替換。安裝後按提示重載插件或重啓 DSH,刷新網頁,在 設置 → Qoder Link 中選擇區域,並確認終端裏對應 CLI 已登錄。
本地 .tgz 示例:
dsh plugin --profile web add /absolute/path/dsh-qoder-link-0.1.11.tgz
3、配置¶
打開 設置 → Qoder Link:
- 選擇
qodercli國際版或qoderclicn中國版。 - 路徑通常留空,插件會從 PATH 與官方默認安裝目錄查找 CLI;自定義位置在高級設置中填寫完整路徑。
- 獲取模型列表,啓用模型並選擇默認項,保存後在 DSH 模型選擇器中使用
qoder/default或具體模型 ID。
Web 保存值寫入 $DSH_HOME/plugins/dsh-qoder-link/settings.json(未設置 DSH_HOME 時爲 ~/.dsh/plugins/dsh-qoder-link/settings.json)。常用項包括 cliVariant、defaultModel、models、reasoningEffort(auto / low / medium / high)、maxConcurrency(1–16,默認 2)、timeoutMs(無進展超時,默認 600000)等;完整表格見倉庫 README。
插件默認啓用;不使用時請在 DSH 禁用插件,頁面不再提供獨立啓用開關。
典型用法¶
在 DSH 對話中選擇 qoder/default 或已啓用的 Qoder 模型,正常對話與工具流程由 DSH 驅動,底層經 ACP 與 CLI 通信。
插件提供的斜槓命令:
/qoder status
/qoder models
/qoder runs
/qoder help
status 只顯示配置,不聲稱登錄有效。思考等級非 auto 時會透傳 --reasoning-effort,是否生效取決於所選模型與 CLI。
開發側可本地打包:
npm ci
npm run check
npm test
npm pack
本機若需驗證 ACP 與 DSH ToolRuntime 只讀閉環,可構建後運行 node scripts/verify-acp-tools.mjs(會消耗模型額度)。README 註明:中國版已完成真實 ACP → 工具結果閉環驗證;國際版此前真實推理無進展超時,尚未通過端到端推理驗證,使用國際版前建議自行運行探針。
適用場景與注意¶
適合:已在本地使用 Qoder 官方 CLI,希望在 DSH Web 界面統一選模型、走 DSH 工具運行時,且接受「CLI 子進程 + ACP」而非直連 API 的集成方式。
注意:
- 插件以當前 DSH 進程權限啓動 CLI,工作目錄隨
workspaceRoot、會話工作區或進程目錄而定;安裝前請閱讀源碼與 MIT 許可,確認行爲符合工作區安全策略。 - 舊版
accounts.json與 PAT 注入已不再參與認證;升級前請先在 DSH 所在機器完成 CLI 登錄,並自行清理不再使用的舊憑據。 - 社區插件目錄 skillhub.cn 與 DeepSeek / 幻方無官方從屬關係;DSH 生態理念是「一切皆插件」,本文事實以 GitHub README 與 Release 爲準。
結尾¶
dsh-qoder-link 把 Qoder 官方 CLI 的登錄態與模型目錄接到 DSH,用 ACP 傳對話、用 DSH 執行工具,適合雙區域 CLI 用戶在同一套 Harness 裏開發智能體。