dsh-llm-qoder:把 DSH 的 LLM 接縫路由到本機 Qoder CLI 的插件

前言

DeepSeek Harness(DSH)的插件機制允許把宿主能力拆成獨立模塊接入。其中一類常見需求是:不想在 DSH 裏再配一組 API key 或 settings 段,而是直接複用本機已經登錄的 CLI。dsh-llm-qoder 就是做這件事的適配器:它把 DSH 的 LLM 請求接到本機 qodercli,讓宿主側的模型選擇、會話、工具調用與壓縮恢復繼續按 DSH 的插件機制運行。

這是什麼

dsh-llm-qoder 是一個 DSH 插件,包名爲 @jiamingzang/dsh-llm-qoder,許可證爲 MIT。它解決的問題是:讓 DSH 的 LLM 接縫可以走 qoder 與 qoder-byok 兩條 provider 路由,複用本機 qodercli 的登錄態,不需要 API key 或 settings 段。

核心功能

插件提供的能力包括:

1、無配置接入
完全複用本機 qodercli 登錄態,不需要 API key 或 settings 段。

2、雙路由
註冊 qoder 與 qoder-byok 兩個 provider 路由,供模型選擇器選擇。

3、長駐會話
宿主 session 對應一個 warm qodercli 會話;在 maxSessions 上限內按插入序 LRU 淘汰。

4、工具橋接
宿主工具通過進程內 MCP server dsh-host 暴露給內層模型。

5、模型目錄
即時從 qodercli 拉取可用模型;拉取失敗時回退靜態目錄。

6、思考強度與上下文窗口
上報 reasoning efforts、默認檔位與 context window,供模型選擇器切換。

7、旁路請求
標題生成、compaction 等 side-channel 請求走 cold 一次性調用。

8、溢出可恢復
上下文超限被映射爲 CONTEXT_WINDOW_EXCEEDED,供 harness 做溢出恢復。

默認配置項如下:

maxSessions: 8
modelCacheTtlSeconds: 300

其中:

maxSessions

表示同時保持 warm 的內層 qodercli 會話上限;超出上限時按插入序 LRU 淘汰。

modelCacheTtlSeconds

表示 CLI 模型目錄的緩存保鮮秒數。

安裝與啓用

前置條件

本機需要先安裝並登錄 qodercli,並且能運行:

qodercli --version

獲取插件包

從本倉庫 Releases 下載:

jiamingzang-dsh-llm-qoder-<version>.tgz

也可以在倉庫根目錄執行 pnpm pack 自行生成。

添加到目標 profile

執行:

dsh plugin --profile <profile> add jiamingzang-dsh-llm-qoder-<version>.tgz

其中 <profile> 與 <version> 需要按實際環境替換。

首次安裝批准構建腳本

首次安裝會涉及 @qoder-ai/qoder-agent-sdk 的構建腳本。pnpm 11+ 會默認攔截構建腳本並報錯。

這時需要把 pnpm-workspace.yaml 中 allowBuilds 對應的值改爲 true,例如:

allowBuilds:
  '@qoder-ai/qoder-agent-sdk': true

然後重新執行上面的 add 命令完成安裝。

驗證安裝

執行:

dsh --profile <profile> --dump-config | grep llm-qoder

如果輸出中出現插件條目,說明 profile 已加載該插件。接着重啓服務,模型選擇器中應出現:

qoder
qoder-byok

手動掛載

不經過 plugin 命令時,也可以在 cordis.yml 或 patch 層直接聲明:

- id: llm-qoder
  name: '@jiamingzang/dsh-llm-qoder'

典型用法

1、選擇路由
在模型選擇器或 Models 設置頁選擇 qoder 或 qoder-byok 下的模型。

2、切換上下文窗口與思考強度
插件會上報 CLI 的 reasoning efforts、默認檔位與 context window,因此這些選項可以在模型選擇器中切換,並隨每次請求下發。

3、模型目錄恢復
如果即時模型目錄拉取失敗,插件會回退靜態目錄。拉取失敗不會緩存,CLI 恢復後自動恢復即時目錄,不需要重啓服務。

上下文溢出與壓縮

warm 內層會話會累積宿主歷史,內層模型也可能遇到上下文超限。插件會把這類失敗上報爲:

CONTEXT_WINDOW_EXCEEDED

這樣 harness 的溢出恢復流程可以接管,而不是讓當前輪次直接失敗。

溢出自動恢復需要部署中加載:

dsh-compaction-basic
dsh-token-meter

如果未安裝壓縮插件,上下文超限輪次仍會失敗,只能新開會話或手動壓縮。

適用場景與注意

這個插件適合本機已經安裝並登錄 qodercli、希望 DSH 直接複用該登錄態的開發者。

安裝前建議注意:

1、插件運行在 DSH 進程中,會以當前 dsh 進程權限訪問本機 qodercli 及其登錄態;
2、安裝前應檢查源碼、依賴與 MIT 許可證;
3、資料中 GitHub 倉庫地址與包名存在大小寫和名稱差異:GitHub URL 使用 JiamingZang/dsh-llm-qodersdk,包名使用 @jiamingzang/dsh-llm-qoder,安裝包文件名使用 jiamingzang-dsh-llm-qoder-<version>.tgz。實際安裝時以下載到的發佈包文件名爲準。

相關鏈接

這裏給出的是社區目錄頁與 GitHub 倉庫地址,不等同於官方應用商店。

  • 社區目錄:https://www.skillhub.cn/plugins/JiamingZang/dsh-llm-qodersdk
  • GitHub:https://github.com/JiamingZang/dsh-llm-qodersdk
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜