dsh-friendly-steps:把 DSH Web GUI 的技術過程折成一條摘要

前言

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. 三種模式

插件支持三種模式:

  • minimal
  • brief
  • off

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)。
  • 浮條固定在右下角輸入區上方,與其他右下角插件可能相鄰。
  • 已知取捨:摘要是全局浮條而非每組一行;官方行組件未導出,展開態無法交還官方渲染,故不遮蔽。

鏈接

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

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

小夜