前言¶
在 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
方式二:本地 link + bundles¶
在 %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 再啓動 後配置纔會生效。
典型用法¶
- 先只啓用基礎 bundle,觀察卡頓與啓動是否改善。
- 若上下文變長、首字變慢,按
optional/compaction-preset.md覆蓋對應preset-<id>,勿改頂層無效項;覆蓋後複製 profile,執行:
dsh --profile <副本> --dump-config
在輸出中確認 thresholdRatio 出現在 preset-* 相關段落之後。
- 若工具表過長,按需合併或引用
optional/tool-slimming.yml中的 patch(具體合併方式見倉庫 optional 說明)。 - 若賬號區頻繁「重新連接」,參考
optional/reconnect.yml。 - 若啓動慢且日誌中有不兼容子代理,按
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