dsh-smooth:用配置 bundle 緩解 DSH 卡頓、重連與啓動慢

前言

在 DeepSeek Harness(DSH)里長時間跑任務時,常見現象包括界面整體發黏、切工作區無響應、上下文變長後首字變慢,以及賬號區反覆出現「重新連接」。逐項改 Cordis 配置可以治,但 id、枚舉和 desktop profile 下的覆蓋關係容易踩坑,改錯還會出現 ValidationError 或提示詞組裝失敗。

下面介紹社區插件 dsh-smooth(維護者 ayuanxx-max,分類:客戶端)。它把已驗證的 UI、jobs 輪詢等調整收進一個 bundle,並用 optional 文檔說明壓縮閾值、工具瘦身、重連與子代理等可選層;不改 DSH 核心、不改其它插件源碼,從 bundles 移除即可回滾。

這是什麼

dsh-smooth(DSH SMOOTH · DSH 順滑包)當前版本 1.2.0,許可證 MIT。實現方式是 純配置 bundle(cordis.patch.yml)加排障說明(skill/SKILL.md 與 optional/ 下文檔),通過 profile 的 bundles 注入 Cordis patch。

它針對 README 中歸納的幾類現象給出對應處理思路,例如任務卡頓用 UI compact、字號 16、jobs 輪詢 200ms;工具 schema token 開銷見可選 tool-slimming.yml;「重新連接」見可選 reconnect.yml;啓動慢與內存佔用見可選 legacy-subagents.md。壓縮上下文閾值在 desktop profile 上不能靠頂層 compaction-basic 配置生效,真正做法在 optional/compaction-preset.md(v1.2.0 已寫明原因與驗證步驟)。

核心功能

默認 bundle 層

cordis.patch.yml 覆蓋的穩定 id 限於 README 所列:ui-chat、ui-settings-account、ui-theme、jobs、compaction-basic 等,並使用已驗證的枚舉(如 compact / standard / detailed)與鍵名(如 pumpPollMs),目的是減少 ValidationError。其中頂層壓縮相關項在 v1.2.0 中保留但不再聲稱在 desktop 上有效;有效閾值需走 optional 的 preset 覆蓋。

可選層

文件 作用
optional/compaction-preset.md 在 agent preset 上覆蓋 compaction-basic,含驗證、dsh --dump-config 檢查 thresholdRatio,以及 persona 不得含 {{cwd}} 等坑
optional/tool-slimming.yml 關閉 5 組用不到的工具,縮短工具表
optional/reconnect.yml 禁用 Agents-Anywhere 橋接並清理設備綁定,減輕「重新連接」
optional/legacy-subagents.md 移除啓動即報不兼容的 codex / claude-code 子代理(README 稱約省 595 MB SDK)

回滾

從 profile 的 bundles 移除 dsh-smooth 即可恢復默認行爲。單項回滾可在用戶自己的 cordis.patch.yml 裏用相同 id 覆蓋(用戶層優先級更高)。

維護者公佈的實測數據(環境見 README)

README 在 Windows 11 上給出前後對比,例如冷啓動 starting→ready 均值約 3.69 s 到 2.61 s(近 8 次均值,約 -29%);啓動 ValidationError 由 2 條/次到 0;bundle 數 23 到 21(移除不兼容子代理後)。Linux/macOS 配置層與平臺無關,但 README 標明 未驗證。

安裝與啓用

插件以當前 DSH 進程權限加載;安裝前請自行查看 GitHub 倉庫 源碼與 MIT 許可證。DSH 生態是「一切皆插件」;SkillHub 目錄頁 爲社區站點,與 DeepSeek / 幻方無官方從屬關係。

方式一:DSH 插件命令(desktop profile)

在 PowerShell 中執行:

dsh plugin --profile desktop add dsh-smooth

在 %USERPROFILE%\.dsh\profiles\desktop\package.json 中增加依賴並在 dsh.profile.bundles 中加入 dsh-smooth,例如:

// %USERPROFILE%\.dsh\profiles\desktop\package.json
"dependencies": {
  "dsh-smooth": "link:E:/path/to/dsh-smooth"
},
"dsh": { "profile": { "bundles": [ ... , "dsh-smooth" ] } }

將 E:/path/to/dsh-smooth 換成本機解壓或拉取後的插件目錄。

方式三:按 GitHub tag 定位版本

README 示例以 v1.2.0 爲準:取得該 tag 的源碼後,同樣在 package.json 裏 link: 指向目錄並寫入 bundles。

完全退出 DSH 再啓動 後配置纔會生效。

典型用法

  1. 先只啓用基礎 bundle,觀察卡頓與啓動是否改善。
  2. 若上下文變長、首字變慢,按 optional/compaction-preset.md 覆蓋對應 preset-<id>,勿改頂層無效項;覆蓋後複製 profile,執行:
dsh --profile <副本> --dump-config

在輸出中確認 thresholdRatio 出現在 preset-* 相關段落之後。

  1. 若工具表過長,按需合併或引用 optional/tool-slimming.yml 中的 patch(具體合併方式見倉庫 optional 說明)。
  2. 若賬號區頻繁「重新連接」,參考 optional/reconnect.yml。
  3. 若啓動慢且日誌中有不兼容子代理,按 optional/legacy-subagents.md 操作。

可選層啓用前建議先備份 profile;任何單項不滿意,用用戶層 patch 覆蓋同一 id 即可局部回滾。

適用場景與注意

適合:日常在 desktop profile 跑任務、希望用已驗證的 Cordis 鍵名做 UI 與 jobs 調優,並願意按文檔處理 preset 壓縮、工具瘦身等進階項的 DSH 用戶。

注意:

  • v1.1.0 及更早版本在 desktop 上改「壓縮閾值 0.25→0.35」的頂層配置無效;請使用 v1.2.0 及 compaction-preset.md 中的做法。
  • 覆蓋 preset 時 persona 不得包含 {{cwd}},否則會觸發 unknown prompt variable "{{cwd}}",整輪對話在提示詞組裝階段失敗。
  • 插件僅發佈配置與文檔,不保證與未來 DSH / @deepseek-ai/dsh-web-app 行爲完全一致;大版本升級後應重新 --dump-config 驗證。

結尾

dsh-smooth 把 DSH 上常見的卡頓、重連提示與啓動開銷問題,收斂成可回滾的配置 bundle 與 optional 排障路徑,適合不想動核心代碼、又需要可驗證調優步驟的使用者。

  • 目錄頁:https://www.skillhub.cn/plugins/ayuanxx-max/dsh-smooth
  • 源碼與 README:https://github.com/ayuanxx-max/dsh-smooth
羽毛球分组比赛记分
小程序二维码

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

小夜