dsh-ui-polish:在 dsh 原生設計語言上做界面打磨

前言

DeepSeek Harness(dsh)的 Web 界面自帶 --dsw-* / --ds-* 設計令牌與 Slot 插件體系。日常長時間對着會話流、設置頁和第三方插件面板時,常見痛點是滾動到邊緣時內容「硬切」、小按鈕不好點、生成狀態缺少層次反饋,以及動效時長與緩動和整體觀感略不一致。換一套第三方客戶端皮膚往往意味着改佈局、引入外來品牌色,和 dsh 的信息架構也對不上。

下面介紹社區插件 dsh-ui-polish(維護者 deepseaandhighsky-arch)。它在 dsh 原生設計語言之上做視覺與交互優化,不改框架佈局、不引入新品牌色、也不復刻其它客戶端外觀;偏好存在瀏覽器本地,分組可關。在 SkillHub 目錄中歸類爲「趣味換裝」,倉庫地址:deepseaandhighsky-arch/dsh-ui-polish。

這是什麼

dsh-ui-polish 是面向 dsh Web 客戶端的 UI 打磨插件:動效、陰影層次、28px 七檔滾動漸隱、會話狀態光暈、排版光學、四檔彈簧曲線,以及可選的合成音效和對第三方插件界面的過渡適配——上述能力均建立在官方令牌覆蓋、Slot 與運行時引擎之上,不改變 UI 分佈與導航結構。

插件以 MIT 許可證發佈;package.json 中版本爲 0.4.1,要求 dsh >=0.2.0 <0.3.0、Node >=20。README 註明在 dsh 0.2.1-rc.5 上與 dsh-context 0.78.0、dsh-better-sidebar 0.28.2 做過共存驗證。dsh 處於 developer preview,大版本升級後需自行重新驗證。

核心功能

設置入口在 設置 → 界面打磨:與「通用設置」並列的獨立分區,由官方 settings.section 註冊。分區內有 總開關 + 八組獨立開關,底部另有 彈簧檔位(與分組開關獨立)。偏好寫入 localStorage,鍵名爲 dsh-ui-polish.v1,改完即時生效,無需刷新頁面。

八組能力與實現通道如下(摘自倉庫 README 功能表):

分組 優化內容 要點
更順滑的過渡動效 基礎過渡 0.12/0.24/0.36s,緩動爲 CDS 式 easeSwift;新消息彈簧消融入場(僅最後 12 個流節點) ctx.theme.overrideTokens + 自有 CSS 關鍵幀
更柔和的陰影層次 近距遮蔽 + 遠距擴散雙層陰影;深色表面內側頂光;髮絲描邊 令牌覆蓋
滾動邊緣漸隱 對話流邊界 28px、7 檔非線性羽化(15/30/45/60/75/87/100%) mask-image 貼 scrollport
會話狀態光暈 生成中輸入框下呼吸光暈與掃光;推理分隔點光環;出錯爲靜態錯誤色 conversation.composer.dock Slot
插件界面適配 自動發現插件滾動面板;只讀插件樣式表生成 1.2× 時長的影子表 運行時引擎
排版光學微調 text-wrap: balance/pretty、tabular-nums、暗色字重補償等 純 CSS,作用 dsh 穩定 data-* 標記
輸入區命中區 composer 小控件隱形擴大命中區,視覺尺寸不變 ::after 作用於 [data-composer-seat]
輕量交互音效 發送/完成/出錯三聲 Web Audio 合成音;默認關閉,首次手勢解鎖 AudioContext 無外部音頻文件

彈簧檔位(設置頁底部):輕快 0.22s、從容 0.35s(默認)、彈性 0.58s、咬合 0.32s;作用於消息入場、設置開關與光暈入場,不覆蓋宿主按鈕過渡。

技術注入分三通道:令牌層(ctx.theme.overrideTokens)、Slot 層(composer dock 與設置分區)、運行時層(滾動漸隱與第三方過渡影子表)。插件遵守 prefers-reduced-motion;卸載或熱重載時樣式表、令牌、Slot 與監聽隨插件 fiber 回收。安全說明:無網絡請求與遙測,不修改其它插件 CSSOM,總開關可逆地移除漸隱、影子表、令牌與音效。

安裝與啓用

安裝前請確認 dsh 版本在 >=0.2.0 <0.3.0 範圍內。插件在 dsh 進程內以當前用戶權限運行,安裝前應自行查看倉庫源碼與 MIT 許可證;社區目錄 SkillHub 插件頁 與 GitHub 無 DeepSeek / 幻方官方從屬關係,屬於社區生態。

從 GitHub 發佈包安裝(推薦)

在 插件 → 安裝第三方插件 中輸入發佈 tag(約 33 KB 預構建包,無需 allowBuilds):

https://github.com/deepseaandhighsky-arch/dsh-ui-polish#v0.4.1-dist

或簡寫:

github:deepseaandhighsky-arch/dsh-ui-polish#v0.4.1-dist

CLI 等價命令:

dsh plugin --profile web add github:deepseaandhighsky-arch/dsh-ui-polish#v0.4.1-dist

安裝後按提示重啓 dsh web。README 提醒:若直接用 github:.../dsh-ui-polish 不帶 #v0.4.1-dist,會拉取整倉 main 源碼(體積更大),網絡慢時容易卡住。

隔離試裝(可選)

用 DSH_HOME 與生產環境隔離狀態:

DSH_HOME=/tmp/dsh-test dsh web --port 3311 --no-open

典型用法

  1. 完成安裝並重啓 Web 後,打開 設置,進入與「通用設置」並列的 界面打磨 分區。
  2. 先用 總開關 打開插件,再按需要逐項開啓八組能力;若不需要音效,保持「輕量交互音效」關閉即可(默認即爲關閉)。
  3. 在分區底部選擇 彈簧檔位(默認「從容」),觀察消息入場與光暈節奏是否符合習慣。
  4. 若同時使用 dsh-context 等帶滾動面板的插件,可開啓 插件界面適配,讓漸隱與過渡節奏延伸到第三方面板;關閉該組會移除整表影子樣式。
  5. 任意元素可用 data-polish-fade="off" 單點退出滾動漸隱;編輯器、終端等區域默認不參與漸隱。

經過上面的步驟,無需改 dsh 佈局或換膚,即可在原生令牌體系內微調觀感。若某組效果不符合預期,單獨關閉該組或總開關即可恢復。

適用場景與注意

適合誰:長期在 dsh Web 上調試智能體、希望滾動邊緣更柔和、composer 更好點、生成狀態有輕量反饋,且願意保留 dsh 原生布局與品牌視覺的開發者。

注意:

  • 只改視覺與交互細節,不改變面板位置、導航與信息架構;不是「換皮成別的客戶端」。
  • 部分思路借鑑 open-claude-ui 的交互物理學與排版光學,實現已全部重寫爲 dsh 風格;對照矩陣見倉庫 docs/research/CDS-ASSET-MAP.md。
  • dsh 預覽版升級後需重新驗證;與本插件聲明兼容的 dsh 小版本以外環境,行爲未在 README 中保證。
  • 從源碼本地安裝需自行 npm install 與 npm run build,再用 file: 或 link: 絕對路徑安裝;任務說明要求本文不展開 git clone 流程,完整步驟見 GitHub README。

結尾

dsh-ui-polish 把動效、陰影、滾動漸隱、狀態光暈、排版與可選音效收攏到「界面打磨」一個設置分區,在 dsh 原生設計語言上疊一層可開關的拋光,而不動佈局與品牌色。

  • 目錄頁:https://www.skillhub.cn/plugins/deepseaandhighsky-arch/dsh-ui-polish
  • GitHub:https://github.com/deepseaandhighsky-arch/dsh-ui-polish
羽毛球分组比赛记分
小程序二维码

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

小夜