前言¶
DSH 的理念是「一切皆插件」。在社區目錄裏,插件可以圍繞 DSH 的界面與能力做局部增強,而不需要改主程序。
DSH Web GUI 的會話消息流會顯示 Think、工具調用、重試、壓縮等過程行。這些信息對排查有幫助,但對只關心正文的人會造成閱讀干擾。
dsh-friendly-steps 是 dongwenxiu83-web 維護的 DSH 插件,許可證爲 MIT。它把上述過程行用純 CSS 摺疊,並在右下角顯示一條摘要浮條,面向文字工作者的非技術呈現。
社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。
這是什麼¶
一句話定位:過程精簡插件,把 DSH Web GUI 裏的 Think / 工具調用等技術過程行摺疊成友好摘要。
- 維護者:
dongwenxiu83-web - 許可證:MIT
- 解決的問題:減少 DSH Web GUI 會話消息流中技術過程行對正文閱讀的干擾
- 呈現方式:摺疊過程行,並用右下角浮條顯示摘要狀態
核心功能¶
1. 摺疊過程行¶
插件把 DSH Web GUI 會話消息流裏的以下過程行用純 CSS 摺疊:
- Think
- 工具調用
- 重試
- 壓縮
它不向 React 列表注入外來節點,浮條通過 createRoot 掛在 document.body。
2. 浮條摘要¶
右下角浮條會顯示處理狀態:
- 已完成時顯示:
✓ 已完成 N 步 - 出錯時紅色追加:
· M 步未成功 - 運行中顯示:
⏳ 正在處理…(已進行 N 步)
3. 展開與收起¶
點擊浮條可以在「全部展開 ⇄ 全部收起」之間切換。
4. 三種模式¶
插件支持三種模式:
minimalbriefoff
5. 低侵入與 fail-open¶
插件的計數節流爲 400ms,僅做幾次選擇器統計。
如果 DSH 的 DOM 契約發生變化,插件會 fail-open,即按官方原樣渲染,不繼續強行摺疊。
它依賴以下官方 DOM 契約:
data-chat-flow-kind
[data-variant="think"]
[data-tool][data-state]
其中工具狀態包括:
running / ok / error / stopped
插件不依賴任何生成的 CSS 類名,也不與 React 爭 DOM。
安裝與啓用¶
從 GitHub 安裝:
dsh plugin --profile web add github:dongwenxiu83-web/dsh-friendly-steps
安裝後重啓 DSH 生效;升級插件時重新執行安裝命令並重啓。
如果本機使用 link 安裝,先執行構建:
npm run build
lib/ 是構建產物且不入庫;prepare / prepack 會構建。
插件的 package.json 聲明 client inject @deepseek-ai/dsh-client-runtime,且 platform 爲 web;engines 要求:
node ^22.19.0 || >=24.0.0
卸載¶
1、刪除 ~/.dsh/profiles/desktop/cordis.patch.yml 裏的 friendly-steps insert 段
2、刪除 symlink
3、重啓 DSH
典型用法¶
在瀏覽器控制檯切換模式:
dshFriendlySteps.setMode('minimal')
dshFriendlySteps.setMode('brief')
dshFriendlySteps.setMode('off')
排查輸出各行計數:
dshFriendlySteps.debug()
適用場景與注意¶
適合希望減少 DSH Web GUI 中技術過程行干擾、只通過右下角浮條查看過程狀態的讀者。
使用前注意以下幾點:
- 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與 MIT 許可證。
- 插件依賴官方 DOM 契約;DSH 升級後若契約變化,最壞表現是「不再摺疊」(fail-open)。
- 浮條固定在右下角輸入區上方,與其他右下角插件可能相鄰。
- 已知取捨:摘要是全局浮條而非每組一行;官方行組件未導出,展開態無法交還官方渲染,故不遮蔽。