dsh-plugin-appearance:用官方主題通道換 DSH 桌面配色與品牌位

前言

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、不修改系統設置。

核心功能

配色皮膚

  1. 配色區提供 「不覆蓋」+ 8 張內置皮膚。進入面板時默認選中「不覆蓋」,此時不改動宿主配色(真機讀數 applied:0)。
  2. 用戶點選某張皮膚後,插件通過 ctx.theme 向宿主提交 CSS 變量覆蓋。每張皮膚在明亮 / 暗黑兩檔下各覆蓋 28 個令牌(24 個 --dsw-alias-* 與 4 個側欄專用的 --dsw-specific-sidebar-*);宿主語義令牌共 128 個,其餘仍用內置值,面板文案會說明覆蓋範圍。
  3. 配色卡片帶該皮膚的微縮預覽,腳註可顯示「改 28 處配色」及 WCAG 正文對比度讀數(算不出則不顯示,低於 4.5 時數字標紅)。
  4. 內置「設置 → 通用 → 外觀」的明亮 / 暗黑 / 跟隨系統仍由宿主控制;本插件的色層疊在其上,隨明暗檔一起切換。

標誌與名稱行

  1. 側欄圖標位與會話首屏圖標位:可在「原樣」、六枚內置標誌、或本地圖片之間選擇;自定義圖以 priority -1 佔住 brand slot。
  2. 側欄名稱行:「來源」下拉爲 官方字標 / 自定義文字 / 自定義圖片。文字與圖片分字段存儲,切換來源不刪除另一份內容;選圖片但尚未上傳時,界面降級顯示已填文字或官方字標,並提示「還沒選圖片」。
  3. 上傳圖片:支持 PNG / JPEG / WebP / SVG 等(清單由白名單常量派生)。原圖放寬至 ≤10MB,瀏覽器側自動居中裁方、縮至 512px、壓至 ≤200KB 再提交(宿主仍執行 200KB 與類型校驗)。圖標位與名稱行均支持點選文件、拖拽、先聚焦後 Ctrl+V 粘貼。
  4. 頁頭提供 「全部還原爲官方」:配色、標誌、名稱行一次歸位;已與官方一致時按鈕置灰。

存儲與架構約束

選擇寫入宿主存檔 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。

典型用法

  1. 安裝並啓用插件後,在 DSH 中打開插件提供的 「桌面外觀」 面板(路由前綴 /appearance,由 index.js 註冊)。
  2. 換配色:在配色區點擊一張皮膚卡片(整張卡爲單選入口);要恢復內置配色,選「不覆蓋」或點頁頭「全部還原爲官方」。
  3. 換標誌:在標誌區點選內置方片或「選圖片」;名稱行在來源下拉中選文字或圖片,按界面出現的輸入框 / 上傳控件操作。
  4. 頁頭摘要 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 面板方式安裝後在「桌面外觀」裏操作即可。

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

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

小夜