前言¶
DeepSeek Harness(DSH)的 Web GUI 默認是現代扁平風格。若你更習慣經典桌面系統的控件語言——中性灰底、漸變標題欄、1px 立體邊框——單靠改瀏覽器主題或零散 CSS 很難整頁統一,也容易在 DSH 升級後被覆蓋。
dsh-skin-win2000 是社區維護的 DSH 客戶端插件,把 Web 畫布整體換成 Windows 2000 的視覺規範:按 System Metrics 逐項取值,而不是「大概像那個年代」。裝好後右下角有控制面板,可隨時開關皮膚或切暗色漆面。
這是什麼¶
- 名稱:
dsh-skin-win2000(npm 包名與倉庫名一致) - 維護者:lildanger
- 分類:趣味換裝(SkillHub 目錄:https://www.skillhub.cn/plugins/lildanger/dsh-skin-win2000)
- 源碼與文檔:https://github.com/lildanger/dsh-skin-win2000
- 當前版本(以
package.json爲準):1.3.1 - 許可:皮膚代碼 MIT;隨包分發的點陣字體爲 GPL(見倉庫
fonts/README.md)
插件是標準 DSH bundle:含 dsh.bundle.patch 指向 cordis.patch.yml,並聲明瀏覽器側 dsh.client。實現爲純 JavaScript 單文件 client.js,無構建步驟;宿主半側 index.js 負責提供包內字體路由。
核心功能¶
度量表級配色與幾何¶
README 說明皮膚不做近似還原,而是對照 Windows 2000 度量表取值,並用 verify-metrics.mjs 校驗代碼中的顏色與表一致。典型取值包括:
- 控件表面
#D4D0C8 - 活動標題欄漸變
#0A246A → #A6CAF0,失焦#808080 → #C0C0C0 - 三級投影灰
#F5F5F5 / #808080 / #404040,選中高亮#0A246A - 全局
border-radius歸零,並將 6 個--dsw-radius-*token 壓成0px,從 DSH 組件共用的 token 源頭去掉圓角 - 1px 立體效果用階梯式
inset box-shadow;按鈕凸起、輸入框與代碼塊凹陷,按下時凹陷並位移 1px - 界面不含純白像素:度量表中的
#FFFFFF換成#F5F5F5,工作區白底換成#D4D0C8 - 16px 直角滾動條:灰槽、白點陣紋、凸起滑塊
發送與停止共用同一按鈕類時,皮膚通過 aria-label 區分;停止生成時爲紅底 #CC0000。
右下角皮膚面板¶
啓用後右下角出現可拖動、可摺疊的控制面板(位置記在 localStorage)。主要控件:
| 控件 | 作用 |
|---|---|
| 啓用皮膚 | 開關整頁皮膚;關閉後 DSH 恢復默認,面板仍保持 Win2000 外觀 |
| 點陣字體 | 開關隨包分發的 unscii 點陣字體;關閉則沿用你在 DSH 裏的字體設置 |
| 暗色模式 | 默認關閉;只換漆面,幾何與立體邊框不變(表面 #1A1815 等),選項記在 dsh.skin.win2000 |
| 窗口示例 | 彈出經典對話框示例,可拖標題欄、雙擊最大化,用於查看失焦標題欄漸變 |
標題欄可拖動;右上角按鈕在三檔間循環:完整面板 → 僅標題欄 → 小「+」→ 回到完整。雙擊標題欄可回到右下角默認位置。
字體(可選)¶
包內帶點陣字體 fonts/unsciiCJKV18.woff2(約 1.42 MB),由宿主通過 /api/dsh-skin-win2000/fonts/unsciiCJKV18.woff2 提供。正文混排用 CJKV18;pre/code/kbd/samp 用 8 像素高的 unscii-8-tall 變體,便於目錄樹、方塊字符等與英文同高。皮膚本身不覆蓋 font-family(窗口標題按鈕的 Marlett 符號除外)。b/strong 等不合成粗體,避免點陣字被拉糊。
暗色模式¶
面板內一行開關。同一套度量與邊框,漆面改爲暖灰系;color-scheme 設爲 dark,便於原生控件與滾動條跟隨。標題欄仍爲大航海藍漸變,選中仍爲深藍。
安裝與啓用¶
DSH 插件管理器支持包名、Git 地址、壓縮包或本地路徑。下面命令均來自倉庫 README。
方式一:npm 包(推薦)
dsh plugin --profile web add dsh-skin-win2000
包地址:https://www.npmjs.com/package/dsh-skin-win2000
方式二:Git 倉庫
dsh plugin --profile web add github:lildanger/dsh-skin-win2000
方式三:本地路徑(開發)
dsh plugin --profile web add link:/path/to/dsh-skin-win2000
DSH 0.2.0 起:profile 依賴登記¶
從 0.2.0 起,未寫入 profile dependencies 的插件會被宿主靜默跳過,裝了也可能界面無變化。上述 dsh plugin add 會自動登記;若你手工掛載,需同樣執行 add 或等價登記。
確認是否登記成功:
dsh --profile web --dump-config | grep skin-win2000
改完依賴需重啓 DSH,客戶端清單在啓動時計算。
cordis.patch 行¶
除依賴外,bundle 仍需出現在 profile 的 cordis.patch.yml(dsh plugin add 通常會處理)。手工維護時示例:
- insert:
- id: skin-win2000
name: dsh-skin-win2000
圖形界面可走側欄 → 插件 → 添加插件,填入包名或 Git 地址,裝完後點立即啓用。
刷新 Web 頁面即可。若未見變化,用 Ctrl+Shift+R 強制刷新——客戶端 bundle 帶長期強緩存。
運行環境要求 Node >=20(見 package.json 的 engines)。
典型用法¶
- 按上一節任選一種方式安裝並啓用,重啓 DSH 後打開 Web GUI。
- 在右下角面板打開「啓用皮膚」,整頁應變爲 Win2000 灰 chrome。
- 需要復古點陣觀感時打開「點陣字體」;長時間閱讀可關閉,沿用 DSH 字體設置。
- 想對比亮色與暗色漆面時,在面板切換「暗色模式」;偏好會寫入
dsh.skin.win2000。 - 點「窗口示例」查看獨立經典窗口的標題欄、菜單欄與狀態欄;拖標題欄或雙擊可體驗最大化與位置記憶(
dsh.skin.win2000.window)。
維護者在倉庫提供檢查腳本,例如:
node --check client.js
node check.mjs
node verify-metrics.mjs
在 DSH 已運行時可選用 node tools/probe-live-css.mjs 在瀏覽器側覈對注入後的 token。
適用場景與注意¶
適合誰:希望在 DSH Web 界面裏獲得一致的經典 Windows 2000 視覺、或做復古主題演示的開發者;分類上屬於「趣味換裝」,不改變 Harness 業務邏輯。
插件運行方式:與其它 DSH 插件一樣,客戶端腳本在瀏覽器中執行,宿主半側提供字體等靜態資源。安裝前建議瀏覽 client.js 與許可證;點陣字體爲 GPL,皮膚代碼爲 MIT。
已知限制(README 原文要點):
- 部分規則依賴組件庫 CSS Module 類名前綴(如
[class*="bubble"]),DSH 升級後若類名變化,對應樣式可能靜默失效。 - 全局字號按度量表設爲 11px;直角會作用於頭像、圓點、開關等,若需保留圓形需自行從通殺選擇器中排除。
--dsw-static-*被重寫,個別組件若把靜態最亮檔當文字色可能出現淺底淺字;氣泡等已單獨指定文字色。- Windows 上 Chromium 對
-webkit-font-smoothing: none可能不生效。
社區插件目錄 SkillHub 與 DeepSeek / 幻方無官方從屬關係;DSH 生態理念是「一切皆插件」,本皮膚是其中一條可選外觀路徑。
結尾¶
dsh-skin-win2000 把 DSH Web GUI 整頁換成度量表對齊的 Windows 2000 風格:灰 chrome、漸變標題欄、直角與 16px 滾動條,並通過右下角面板即時開關、可選點陣字體與暗色模式。安裝以 README 中的 dsh plugin --profile web add 爲準,0.2.0 起務必確認 profile 依賴與 patch 均已生效。