DSH 桌面版 0.2.0 移除了對預設目錄的掃描。在 0.1.x 環境下常用的 ~/.dsh/.agent-presets 目錄下的預設會從模式選擇器消失。本插件旨在恢復這一發現通道,把 0.1.x 慣例的預設目錄重新接入 DSH 桌面版 0.2.x 的模式列表。
插件概述¶
- 名稱:dsh-preset-bridge
- 維護者:Lyrissonare
- 分類:工作流
- 核心功能:
- 把 0.1.x 慣例的預設目錄重新接入 DSH 桌面版 0.2.x 的模式列表。
- 處理
@deepseek-ai/dsh-workflow-worker-thread到官方dsh-workflow-ptc的兼容性映射。 - 支持在
cordis.patch.yml中配置額外掃描目錄(roots)。 - 重寫相對行名爲絕對
file:URL 以修復掛載錯誤。
安裝與啓用¶
安裝插件需要使用管理員權限,執行以下命令:
D:\DSH\resources\runtime\cli\bin\dsh.cmd plugin --profile desktop add https://github.com/Lyrissonare/dsh-preset-bridge
安裝完成後必須重啓桌面端。重啓後,在新建會話時檢查模式選擇器,應能出現 .agent-presets 下的各預設;或在“設置” -> “Agent 預設” -> “自定義”中查看。
配置¶
插件支持在 profile 的 cordis.patch.yml 中按 id 覆蓋配置:
- id: dsh-preset-bridge
config:
roots: # 額外掃描目錄;缺省只掃 ${DSH_HOME:-~/.dsh}/.agent-presets
- D:/somewhere/else/presets
注意事項¶
- 版本限制:只適用於 0.2.x 桌面版 profile(>=0.2.0-rc <0.3.0-0),不要裝到 0.1.x 環境。
- 掛載狀態:能被“發現”≠能“健康掛載”。插件只負責把預設註冊進註冊表,預設內容自身的 0.2.x 兼容性它管不了。如果預設掛載失敗,會顯示在“設置” -> “Agent 預設” -> “自定義”裏。
- 兼容映射:兼容映射是逐個積累的,當前只覆蓋已知的坑(主要是
worker-thread到workflow-ptc的替換)。如果預設引用了其他被 0.2.0 移除的包,仍會掛載失敗。 - 引擎差異:
worker-thread與workflow-ptc是兩種不同的引擎實現(線程池 vs spawn 子進程)。工作流類預設的運行細節可能有微妙差異。 - 大版本更新:DSH 大版本更新可能使其失效(0.3.0+ 這些約定隨時可能變化)。
- 過渡期性質:本插件屬於過渡期補丁,隨時可能退役。
- 無保證:本插件按“現狀”提供,不作任何保證。
技術細節¶
- 相對路徑修復:0.2.0 註冊表掛載預設時按“聲明處 baseUrl”解析相對腳本名,預設目錄裏的本地腳本會解析失敗。插件在掛載前會將
./開頭的行名重寫爲pathToFileURL絕對地址。 - 依賴替換:0.1.x 預設的 delegation 組通常包含
@deepseek-ai/dsh-workflow-worker-thread,0.2.0 已將其移除。插件在註冊前會將其原位替換爲官方的@deepseek-ai/dsh-workflow-ptc。 - 重名處理:預設重名(與內置或彼此撞 id)時註冊表會拋錯,插件會捕獲後告警跳過,不讓單個壞預設拖垮其餘註冊。
總結¶
dsh-preset-bridge 是爲了解決 DSH 桌面版 0.2.0 移除目錄掃描而引入的過渡方案。它能將本地 .agent-presets 目錄中的預設重新接入系統,但僅覆蓋已知兼容性問題,並不承諾對所有預設生效。