dsh-custom-provider:DeepSeek Harness Web 自定義模型與子代理配置

DeepSeek Harness (DSH) Web 界面目前僅提供基礎的模型列表展示,對於自定義模型(如 llm-pi-ai)的細粒度能力配置(如圖片輸入、推理等級映射)以及子代理委派時的模型選擇策略,缺乏直接的操作入口。dsh-custom-provider 插件通過擴展設置頁面,新增了「自定義模型」分區,補全了這些配置項。

插件簡介

該插件是 DeepSeek Harness Web 設置頁的擴展組件,由 homily707 維護。它將自定義模型的配置與官方的 Models 頁面共存,通過新增的分區提供子代理模型白名單、圖片輸入支持及推理等級(Reasoning effort)映射功能。

核心功能

插件主要包含以下三個核心能力:

  1. 子代理模型白名單
    在設置面板頂部新增卡片,通過下拉框選擇可用模型,不支持手動手填。啓用後,subagent 工具會註冊 list_subagent_models,允許在委派時從白名單中自選 provider、model 和 reasoning_effort。白名單外的路由會在創建子代理前被攔截。

  2. 圖片輸入支持
    針對不同模型提供逐模型能力映射:

    • llm-pi-ai:配置每模型的 input 字段。
    • llm-deepseek:配置每模型的 inputModalities 字段。
  3. Reasoning effort 映射

    • llm-pi-ai:支持每模型的 reasoningEfforts 配置(勾選等級生成選擇器,值爲線路拼寫,off 可留空,false 表示非推理模型)。
    • llm-deepseek:推理等級集合固定且鎖定在路由級,此頁僅提供路由級字段。

安裝與啓用

安裝命令如下:

dsh plugin --profile web add "github:homily707/dsh-custom-provider"

安裝完成後,需將插件包名添加到 ~/.dsh/profiles/web/package.json 的 dsh.profile.bundles 數組中,重啓 dsh web 或 dsh --profile web 後刷新頁面,設置面板將出現「自定義模型」分區。

典型用法與配置

導航圖標(可選)

設置面板左列的圖標目前是宿主硬編碼的。若需讓「自定義模型」分區顯示與「模型」頁相同的圖標,需通過 Python 腳本修改宿主文件 client.js:

python3 - <<'EOF'
f = '<dsh 安裝目錄>/node_modules/@deepseek-ai/dsh-client-ui-settings-general/lib/client.js'
s = open(f).read()
old = '\t\tif (id === "agent-presets") return'
new = '\t\tif (id === "custom-provider") return (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconDataOutline16, {\n\t\t\tclassName: SettingsRoot_module_css_default.navIcon,\n\t\t\tsize: 16\n\t\t});\n' + old
assert s.count(old) == 1
open(f, 'w').write(s.replace(old, new))
EOF

本地開發

本地開發時,使用 link 方式添加插件:

dsh plugin --profile web add link:<本倉庫檢出路徑>

子代理配置託管

子代理配置通過託管塊寫入 $DSH_HOME/cordis.patch.yml,使用 # >>>/<<< dsh-custom-provider subagent (managed) 標記塊。配置變更後,Web profile 的 patchReload 爲 live,保存即可熱加載。

已知限制與注意事項

  1. 模型默認檔差異:llm-deepseek 路由無逐模型 effort 映射(適配器鎖定在路由級);llm-pi-ai 逐模型字段僅包含能力映射,沒有「每模型默認檔」,默認檔僅存在於路由級。
  2. 會話生效範圍:子代理模型自選策略在會話創建時採樣記錄,僅對之後的新會話生效。
  3. Loader Patch 行爲:loader patch 的 config 是整鍵替換,託管塊需全量重聲明 dsh-base 的 tool-subagent 基線。若 dsh 升級改變基線,需同步 index.js 中的 BASE_TOOL_CONFIG。
  4. 顯式與隱式選擇:省略顯式選擇的委派走父會話路由,不經白名單校驗。

總結

dsh-custom-provider 解決了 DeepSeek Harness Web 界面在自定義模型能力配置和子代理委派控制上的缺失。通過直接修改設置頁面的 wire,它實現了與官方 Models 頁面共存且不衝突,適合需要對模型行爲進行精細調優的開發者使用。

羽毛球分组比赛记分
小程序二维码

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

小夜