dsh-image-skin:從一張圖片生成 DSH 主題配色,附帶桌面寵物

前言

DSH 的理念是「一切皆插件」,界面外觀也不例外。不過想讓 web 界面換一套配色,常規做法是手動調主題配置:背景、面板、側欄、邊框、強調色,一項一項對着色板試。

dsh-image-skin 把這件事反了過來:挑一張你喜歡的圖片,插件用 k-means 從中提取顏色,自動生成明暗兩套主題 token,讓整個界面跟着圖片的色調走。它還附帶一個可選的桌面寵物,agent 在後臺幹活時能給個視覺提示。

這是什麼

dsh-image-skin 是一個 DSH 圖片皮膚插件,維護者是 GitHub 用戶 Jack-sun-learner,當前版本 0.1.0,MIT 許可證。按插件自述:導入 PNG/JPG/WebP 自動生成主題配色,可選 Q 版寵物(程序化/AI 生圖)。

插件客戶端平臺爲 web(package.json 中 dsh.client.platform: web),所以安裝時使用 --profile web。Node 引擎要求 ^22.19.0 || >=24.0.0。

圖片皮膚:從圖片到主題 token

用法集中在 設置 → 圖片皮膚 頁面:

1、上傳照片到圖庫,支持多選;
2、點擊縮略圖一鍵應用。

應用時插件做兩件事。

第一件是配色。k-means 從圖片中提取主色、輔色、強調色,自動生成明暗兩套主題 token:背景、面板、側欄、邊框、品牌強調色、文字色都跟隨圖片主色調。

第二件是背景。圖片作爲頁面背景,半透明面板透出圖片;濃度和模糊都可調,模糊採用畫布預烘焙。

圖庫以縮略圖網格展示:當前應用的項高亮“應用中”,縮略圖右上角的 × 可刪除單項。圖庫和皮膚狀態保存在瀏覽器 localStorage,重啓後自動恢復。

桌面寵物

寵物部分是可選的。共 5 個預設形象:貓、兔、鯨、龍、柴犬,合計 30 張 GDI+ 生成的表情素材,大小 60–240px 可調。

行爲按順序是:

  • 出現時打招呼;
  • 30 秒無互動,躲到屏幕右緣露出半身;
  • 鼠標懸停時跳躍回應;
  • 左鍵拖拽自由擺放,位置自動記住;
  • 右鍵關閉。

與 DSH 的聯動是這套設計的核心:寵物輪詢宿主的 /api/dsh-image-skin/busy,檢測到 agent 正在運作時進入思考狀態,完成後彈出氣泡“搞定啦!”。寵物的啓動和停止通過宿主 API(pet-launch / pet-stop)完成,由 PowerShell/WPF 實現,不引入額外依賴。

安裝與啓用

從 GitHub 安裝(推薦):

dsh plugin --profile web add github:jack-sun-learner/dsh-image-skin

安裝後重啓 web 服務生效。

本地開發安裝:

dsh plugin --profile web add link:D:\AI_video\plugins\dsh-image-skin

profile 對 link: 源的處理方式是創建 junction 指向源碼目錄,因此修改源碼不需要同步副本,重啓 web 服務後生效。

改動源碼時的注意

改完代碼先做語法檢查:

node --check lib/client.js lib/host.js

有兩處容易踩坑:

1、寵物腳本在 PowerShell 5.1 下需要 UTF-8 with BOM 編碼,否則中文註釋無法正確解析;
2、寵物窗口位置使用 Win32 SetWindowPos 按物理座標定位——WPF 自帶的 Left/Top 在幽靈顯示器、虛擬桌面場景下會把窗口落到屏幕外。

已知限制

背景圖方案依賴面板半透明:圖片要靠半透明面板透出來。如果某個面板不支持半透明,它會顯得不跟隨,這是預期行爲,不是 bug。

適用場景與安裝前檢查

適合兩類人:想讓 DSH web 界面帶上個人配色的用戶;想要一個輕量的 agent 狀態提示、而不是一直盯日誌的用戶。

安全方面要說明:插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。dsh-image-skin 採用 MIT,源碼集中在 lib/host.js(宿主端路由)、lib/client.js(客戶端皮膚/圖庫/寵物控制/設置頁)和 pet/ 目錄(寵物窗口與素材生成腳本),裝之前可以過一遍。

小結

dsh-image-skin 做的事情不大,但路徑完整:從一張圖到一套可用的主題 token,再到一個能反映 agent 狀態的桌面寵物,狀態落在 localStorage,重啓後自動恢復。如果你想讓 DSH 界面有點個人色彩,可以試一下。

相關鏈接:

  • 社區插件目錄:https://www.skillhub.cn/plugins/Jack-sun-learner/dsh-image-skin
  • GitHub 倉庫:https://github.com/Jack-sun-learner/dsh-image-skin

社區目錄爲獨立站點,與 DeepSeek、幻方無官方從屬關係。

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

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

小夜