前言¶
DeepSeek Harness(DSH)桌面端默認是純色或主題 token 鋪底,側欄和麪板往往不透明,換背景通常只動主畫布。若你希望壁紙從側欄到各面板一起透出,又不想讓 Markdown 標註再疊一層方框底色,需要在客戶端注入一層專門的皮膚邏輯。社區插件 dsh-skin-keymark(維護者 Wizoiz,MIT 許可證,當前版本 0.1.10)就是面向 DSH Desktop 的「趣味換裝」類皮膚:靜態圖、視頻、生成式漸變作壁紙,配合全窗鋪開與六類純 color 標註,且不改動邊框與陰影。
這是什麼¶
dsh-skin-keymark 在瀏覽器半注入 DSH 客戶端(依賴 @deepseek-ai/dsh-client-ui-slots 與 @deepseek-ai/dsh-client-ui-theme,immediately: true),爲宿主提供四類能力:壁紙層、自動文字可讀性、標註字體顏色、界面主題與預設。Host 半提供狀態與本地視頻媒體庫的迴環 HTTP API;沒有 host tool。
與只改聊天區背景的做法相比,它把透明層和 --dsw-alias-* 主題 token 寫進 <body> 內聯,讓側欄、菜單、面板在可控不透明度下透出同一壁紙,氣泡與輸入卡仍可保持不透明以保證可用性。
核心功能¶
下面按 README 職責劃分,只列已在文檔中寫明的行爲。
壁紙層¶
- 來源:遠程 URL、本地圖片(可壓縮爲 data URL)、本地或遠程視頻(
mp4/m4v/webm/ogv/ogg/mov/mkv/avi/ts);面板選文件或拖拽導入,視頻經宿主媒體庫同源回放,單文件上限 512 MB。 - 顯示:
鋪滿 / 完整 / 居中 / 拉伸 / 平鋪五種 fit;模糊、暗化、對比度、飽和度、面板不透明度、顆粒噪點六個滑條,數值框可鍵入,雙擊標籤恢復默認。 - 視頻:播放倍速 0.25×–4×、水平鏡像;遮擋暫停(最小化/切標籤自動,失焦與用電池可選,默認開後兩項)。
- 切換:六檔過場(硬切 / 淡化 / 推移 / 擦除 / 光圈 / 縮放)與速度、方向;自動輪播(每行一個地址,間隔 0.5–720 分鐘,順序或隨機)。
- 生成式漸變(v0.1.8 起):8 套預設,與
wallpaper.url互斥;可選緩慢漂移與構圖縮放/平移(100–250% 縮放,±50% 平移)。
全窗鋪開與分部位透明¶
主畫布與側欄按「面板不透明度」等參數半透明;七組表面(氣泡、輸入卡、菜單與面板、代碼塊、側欄行等,覆蓋 26 個令牌)各有 0.2–1 的係數滑條。系統 prefers-reduced-transparency 生效時會停用全窗鋪開層,面板回到不透明底板,壁紙仍可按不透明度顯示。
可讀性與選圖自動調優¶
對壁紙做 12×8 網格採樣,按 WCAG AA 評估「淺底深字 / 深底淺字」,必要時運行時疊底板(有上限,不整屏蓋住壁紙)。選定壁紙時會自動寫適配方式、暗壁紙下的表面配色、以及 deriveMarkColours() 六類字色(目標對比度高於 AA 底線,且六類互異)。面板有「自動保證可讀性」「字色隨壁紙自動調優」等開關;手改字色或選預設後會清除自動推導許可(ui.marksAuto)。
標註顏色與界面主題¶
六類標註(正文、強調、鏈接/文件、行內代碼、標題、列表標記)只寫 color,不寫 background/border。八套色相預設(原生 / 冷調 / 暖調 / 森野 / 櫻霞 / 墨韻 / 霓虹 / 深海),支持 JSON 導入導出。界面主題三套:跟隨原生、Codex、經典,各含淺/深兩張 token 表。另有強調色、面板毛玻璃(與壁紙「畫面模糊」分開存儲)等控件。
入口與快捷鍵¶
側欄底部調色盤按鈕打開右側抽屜。Alt+W 開關面板;Alt+[ / Alt+] 調節視頻倍速;Alt+0 回到 1×。光標在輸入框內時不搶鍵。
安裝與啓用¶
DSH 生態裏插件通常通過 profile 依賴與 bundle 注入,而不是在插件目錄裏單獨 npm install(README 明確:不得在插件根執行 npm install)。
社區目錄 SkillHub 給出的安裝話術是交給 Harness 執行(需讓宿主先讀取插件說明再操作):
請安裝 DSH 插件 Wizoiz/dsh-skin-keymark。先讀取..
README 中的手工接入步驟如下,適用於已將插件目錄放到本地的 profile:
# 1. 在 profile 的 package.json 中:
# - dependencies 增加 dsh-skin-keymark,link: 指向插件目錄
# - dsh.profile.bundles 包含該包
# 2. 在 profile 的 node_modules 下建立指向插件目錄的 Junction(同名 dsh-skin-keymark)
# 3. 重啓 profile 或熱重載 patch;校驗 node_modules/dsh-skin-keymark 爲 Junction 且插件 active
# 插件自帶 cordis.patch.yml,由 bundle 機制自動應用,無需改 profile 的 patch 文件
安裝前請自行閱讀 GitHub 倉庫 源碼與 MIT 許可證。插件以當前 DSH 進程權限運行,並暴露 loopback 上的狀態與媒體 API(帶同源/受信 host 柵欄,不是用戶認證)。
典型用法¶
- 安裝並重啓 profile 後,點擊側欄底部調色盤,在「壁紙」分區填入圖片或視頻 URL 並應用,或拖拽本地文件;視頻會寫入
$DSH_HOME/dsh-skin-keymark-media/並通過同源 URL 播放。 - 調整 fit 與模糊/暗化等滑條,按需開啓自動輪播(文本域每行一個地址)。
- 在「界面透明 / 文字配色」中查看可讀性讀數,按需關閉自動守衛或保留「字色隨壁紙自動調優」。
- 在「標註顏色 / 預設 / 界面主題」中手調或使用預設;需要備份時用導入導出 JSON。
- 狀態三層持久化:
localStorage鍵dsh-skin-keymark:state與權威文件$DSH_HOME/dsh-skin-keymark.json(Desktop 隨機端口導致 origin 變化時,以宿主文件爲準)。
Host 側也可通過 API 讀寫狀態(僅 loopback / 受信場景):
POST /dsh-skin-keymark/api
Content-Type: application/json
{"method":"get"}
POST /dsh-skin-keymark/api
Content-Type: application/json
{"method":"set","patch":{"state":"<string 或 null 的鍵值合併>"}}
適用場景與注意¶
適合:長期在 DSH Desktop 上工作、希望統一壁紙氛圍(含動態視頻或漸變)、又需要 Markdown 結構色清晰、且接受面板半透明的人。
注意:
- 分類爲社區「趣味換裝」,SkillHub 爲獨立社區目錄,與 DeepSeek / 幻方無官方從屬關係。
- 跨域壁紙可能導致可讀性採樣或過場抓幀失敗,文檔說明會退回硬切或保留當前設置。
- 電池暫停依賴 Chromium Battery Status API,缺失時該檔自動關閉。
- 媒體與狀態體積受 API 限制(例如媒體 512 MB,狀態請求體 32 MiB);換壁紙後宿主會回收未引用的媒體文件。
結尾¶
dsh-skin-keymark 把壁紙、全窗透明、WCAG 導向的可讀性守衛和純字體標註收進一個客戶端皮膚插件,適合在 DSH「一切皆插件」的思路下按需啓用。