前言¶
DeepSeek Harness(DSH)桌面版自帶一套明暗主題,側欄與會話首屏也有固定的品牌展示。若你希望在不改宿主安裝目錄、不注入全局 CSS的前提下,給工作臺換一套配色或換上自己的標誌與名稱行,常見做法是改樣式文件或打補丁——既難維護,也容易在宿主更新時被覆蓋。
下面介紹社區插件 dsh-plugin-appearance(維護者 gh-gongjin):它走宿主公開的 ctx.theme 覆蓋層與 brand slot,把選擇記在 ctx.storageDomain 裏。剛掛載時界面保持官方原樣,只有用戶在面板裏點選後纔會疊層或佔位。
這是什麼¶
dsh-plugin-appearance 是 DSH 的外觀類插件,在 SkillHub 社區目錄中歸類爲「趣味換裝」。package 版本爲 0.0.2,許可證 MIT,零第三方依賴。
一句話定位:8 張內置配色皮膚(另有「不覆蓋」默認項)經官方主題通道生效;側欄圖標、會話首屏圖標與名稱行經 brand slot 替換(內置六枚標誌或用戶上傳圖片)。不寫宿主文件、不注入全局 CSS、不修改系統設置。
核心功能¶
配色皮膚¶
- 配色區提供 「不覆蓋」+ 8 張內置皮膚。進入面板時默認選中「不覆蓋」,此時不改動宿主配色(真機讀數
applied:0)。 - 用戶點選某張皮膚後,插件通過
ctx.theme向宿主提交 CSS 變量覆蓋。每張皮膚在明亮 / 暗黑兩檔下各覆蓋 28 個令牌(24 個--dsw-alias-*與 4 個側欄專用的--dsw-specific-sidebar-*);宿主語義令牌共 128 個,其餘仍用內置值,面板文案會說明覆蓋範圍。 - 配色卡片帶該皮膚的微縮預覽,腳註可顯示「改 28 處配色」及 WCAG 正文對比度讀數(算不出則不顯示,低於 4.5 時數字標紅)。
- 內置「設置 → 通用 → 外觀」的明亮 / 暗黑 / 跟隨系統仍由宿主控制;本插件的色層疊在其上,隨明暗檔一起切換。
標誌與名稱行¶
- 側欄圖標位與會話首屏圖標位:可在「原樣」、六枚內置標誌、或本地圖片之間選擇;自定義圖以
priority -1佔住 brand slot。 - 側欄名稱行:「來源」下拉爲 官方字標 / 自定義文字 / 自定義圖片。文字與圖片分字段存儲,切換來源不刪除另一份內容;選圖片但尚未上傳時,界面降級顯示已填文字或官方字標,並提示「還沒選圖片」。
- 上傳圖片:支持 PNG / JPEG / WebP / SVG 等(清單由白名單常量派生)。原圖放寬至 ≤10MB,瀏覽器側自動居中裁方、縮至 512px、壓至 ≤200KB 再提交(宿主仍執行 200KB 與類型校驗)。圖標位與名稱行均支持點選文件、拖拽、先聚焦後 Ctrl+V 粘貼。
- 頁頭提供 「全部還原爲官方」:配色、標誌、名稱行一次歸位;已與官方一致時按鈕置灰。
存儲與架構約束¶
選擇寫入宿主存檔 domain appearance_prefs(表 prefs / logo)。插件依賴 @deepseek-ai/dsh-client-ui-theme、renderer、sidebar 等官方 client 注入點,宿主半邊不 import @deepseek-ai/* 包。README 記載在 desktop 0.2.0-rc.2 上已掛載跑通;完全退出 dsh 再啓動可加載新版 client bundle(熱刷新是否足夠 README 未驗證)。
安裝與啓用¶
方式 A:官方 CLI(web profile)¶
CLI 內部使用 pnpm,需保證 pnpm 在 PATH 中。安裝命令如下:
dsh plugin --profile web add github:gh-gongjin/dsh-plugin-appearance
也可指向本機已下載的插件目錄:
dsh plugin --profile web add <本倉庫的絕對路徑>
方式 B:DSH desktop 插件面板¶
在 desktop 的插件面板中填寫本機插件目錄的實際路徑(佔位符口徑與官方 asar 中 installPathTemplateHint 一致)。應用會自行 pnpm link 並寫入 profile。
注意:命令行 dsh plugin --profile desktop … 被官方拒絕(profile "desktop" is managed exclusively by the Electron application)。若需手工改 desktop profile 形狀,見倉庫內 cordis.yml 註釋,改前請備份 package.json。
典型用法¶
- 安裝並啓用插件後,在 DSH 中打開插件提供的 「桌面外觀」 面板(路由前綴
/appearance,由index.js註冊)。 - 換配色:在配色區點擊一張皮膚卡片(整張卡爲單選入口);要恢復內置配色,選「不覆蓋」或點頁頭「全部還原爲官方」。
- 換標誌:在標誌區點選內置方片或「選圖片」;名稱行在來源下拉中選文字或圖片,按界面出現的輸入框 / 上傳控件操作。
- 頁頭摘要 chips 會反饋當前配色、明暗檔與標誌狀態(含讀屏友好的
aria-live區域)。
開發者在倉庫內可跑離線測試:
npm test
真機只讀複覈(需 dsh 進程在跑):
node test/api-shape.mjs
適用場景與注意¶
適合誰:長期使用 DSH desktop、希望在官方擴展點內個性化工作臺配色與側欄/首屏品牌、又不想動宿主文件或全局樣式的用戶與團隊。
做不到的事(README 明確列出):桌面壁紙、背景圖、字體;窗口標題欄名稱(構建期常量 DSH_CLIENT_TITLE);exe 與托盤圖標(位於安裝目錄,易被更新還原)。
安全與權限:插件以當前 dsh 進程的權限運行,可讀寫其聲明的存儲 domain 並通過宿主 API 註冊主題與 brand。安裝前應閱讀 GitHub 源碼 與 MIT 許可證,自行判斷是否信任維護者與代碼路徑。
生態說明:DSH 奉行「一切皆插件」;SkillHub 爲社區目錄站點,與 DeepSeek / 幻方無官方從屬關係,本文也不代表官方應用商店條目。
結尾¶
dsh-plugin-appearance 把換膚與換標收斂到宿主已有的 theme 覆蓋與 brand slot:默認零改動,點選即生效,選擇落在宿主存檔裏。若你要在 DSH 桌面版上做輕量「趣味換裝」,可從社區目錄或 GitHub 獲取插件,按上文 CLI 或 desktop 面板方式安裝後在「桌面外觀」裏操作即可。