dsh-plugin-theme-workbench:爲 DSH Web 客戶端提供五套可落盤的明暗配色

前言

DeepSeek Harness(DSH)的 Web 客戶端自帶「外觀」一行:淺色、深色、跟隨系統,三個選項在界面裏是寫死的。社區裏若用 ctx.theme.register() 註冊第三方主題,不僅進不了官方選擇器,ctx.theme.setTheme(第三方id) 在實現裏也只會把 light|dark|system 寫進設置,其餘 id 重啓即失。上游 README 對第三方主題的表述是:擴展點存在,但不是一等產品能力。

若你只想換一套更順眼的配色、又希望明暗偏好和系統切換照常工作,需要一條不跟 register() 搶死路的實現。下面介紹維護者 kjx-talesofai 發佈的 dsh-plugin-theme-workbench(SkillHub 分類:趣味換裝):五套主題,每套各含淺色與深色兩套色板,選擇寫入 Host 偏好而非瀏覽器 localStorage。

這是什麼

dsh-plugin-theme-workbench 是 DSH Web 客戶端的主題插件。它在「設置 → 通用」中增加一行 主題 選擇器,提供五套可選配色;你仍在同一頁的 外觀 裏切換淺色 / 深色 / 跟隨系統,插件在當前內置主題之上疊一層 token,明暗模式會切換到對應色板。

插件未發佈到 npm registry,通過 DSH「添加插件」或 CLI 從 GitHub 指定 release 安裝即可。

核心功能

五套主題與明暗雙 palette

每套主題由淺色、深色各三個種子色(畫布 canvas、文字 ink、強調 accent)推導約 117 個 token,而不是手工填表,避免配色偏離同一色相。

主題 id 中文名(README) 特點概要
cream(默認) 米白 暖米白紙感,默認選項
novel 書卷 舊紙棕墨
calm 靜謐 柔和鼠尾草綠
modern-classic 現代經典 冷調紙白 + 深藍點綴
deep-work 深度工作 近黑白

切換 外觀 的淺色 / 深色 / 系統時,當前所選主題的對應 palette 會生效,無需爲「只支持一種模式」的主題單獨再裝插件。

實現方式:overrideTokens,而非 register

插件使用官方通道 ctx.theme.overrideTokens(),在當前生效的內置主題之上疊一層以包 id 爲 key 的 token;重新應用會替換而非堆疊,卸載時可 retract。因此:

  • 明暗偏好與 OS 配色切換保持 DSH 原有行爲;
  • 不依賴 ctx.theme.register() 那條「不可見且不落盤」的路徑。

同時插件自行繪製設置行(settings.general.item,order: 13),並把選擇存爲 Host 側 .volatile() Config,與 DSH 其它設置一樣進入 profile 的 cordis.patch.yml(命名空間與 Loader 行 id 對應)。

能力邊界

README 明確說明:這是 palette 插件,不是整站換膚。以下不在範圍內:

  • 字體、圓角、語法高亮、壁紙;
  • 通過改陰影配方做層次(DSH 在 body, body * 上聲明陰影,body 級覆蓋無效;髮絲線顏色可隨主題變);
  • macOS 側邊欄爲系統 vibrancy,插件 token 只能部分「染色」,無法改成不透明純色塊而不損觀感。

首屏:持久化的主題 id 經 webserver/index-inject 以 global 注入 globalThis.__DSH_THEME_WORKBENCH__,避免先默認 schema 再閃刷。

安裝與啓用

在 DSH 桌面端打開「添加插件」,填入下列之一,安裝後需重啓桌面端(Host 半邊僅在啓動時加載)。換主題本身不需要再重啓或刷新頁面。

GitHub(釘住當前可用 release):

github:kjx-talesofai/dsh-plugin-theme-workbench#v0.1.4

本地開發目錄(須爲絕對路徑,相對路徑會被 DSH 拒絕):

/absolute/path/to/dsh-plugin-theme-workbench

CLI 等價命令(profile 爲 desktop 時):

dsh plugin --profile desktop add github:kjx-talesofai/dsh-plugin-theme-workbench#v0.1.4

升級時:先卸載再安裝新版本;不支持在已有條目上直接覆蓋重裝。

典型用法

  1. 打開 設置 → 通用 → 主題。
  2. 點擊色塊:左側爲淺色 palette、右側爲深色,中間點爲強調色。
  3. 在 設置 → 通用 → 外觀 切換淺色 / 深色 / 跟隨系統,查看同一主題的另一套配色。

也可在 profile 的 cordis.patch.yml 中直接寫配置(與 UI 等價):

- id: theme-workbench
  name: 'dsh-plugin-theme-workbench'
  config:
    theme: cream # cream | novel | calm | modern-classic | deep-work

卸載:在 DSH「插件」列表卸載 dsh-plugin-theme-workbench 後重啓。若需清除殘留配置,可編輯 profile 的 cordis.patch.yml,刪除 - id: theme-workbench 對應段落。

適用場景與注意事項

適合誰

  • 日常使用 DSH Desktop Web 客戶端,希望界面配色更貼近紙感、低對比或專注場景,且要與系統明暗聯動;
  • 瞭解 DSH 插件生態(社區目錄 SkillHub 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係),願意從 GitHub 指定 release 安裝未上 npm 的插件。

運行與信任

插件以當前 DSH 進程權限運行。安裝前建議瀏覽倉庫源碼與 MIT 許可證,確認符合你的安全與合規要求。

環境與限制(來自 README 自述)

  • 非 loopback 訪問時,DSH 將部分設置放在內存作用域,主題本次生效,刷新後可能丟失。
  • 維護者在 macOS(Apple Silicon)+ DSH Desktop 0.2.0-rc.2 上做過端到端驗證;在 0.2.1-rc.2 上覈對過 token 名與設置行仍存在。Windows / Linux 未測;DSH 小版本升級可能改變上游契約,需自行關注倉庫 Compatibility 說明。

結尾

dsh-plugin-theme-workbench 用 overrideTokens 與自建設置行,補上了第三方主題「進不了官方外觀、選了也不落盤」的縫隙:五套可推導的明暗配色,與 DSH 內置淺色 / 深色 / 系統開關並存。若你需要的是換字體或整頁 reskin,應另找其它擴展;若只需要穩定、可寫入 profile 的配色方案,可按上文命令安裝並在「設置 → 通用 → 主題」中選用。

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

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

小夜