前言¶
DeepSeek Harness(下稱 DSH)的理念是「一切皆插件」,但 Web UI 的外觀細節並不在默認能力之內。想給界面加一張背景圖,常見做法是直接修改 website/public、apps/web/public 中的靜態文件,這類改動遊離在插件體系之外,不方便管理。
下面介紹 dsh-webui-background。它是一個獨立插件,通過 Harness 的組合包與客戶端插件擴展點安裝,不修改、不替換上述文件,背景圖的設置和圖片都由插件自己保存。
這是什麼¶
dsh-webui-background 由 lx963 維護,許可證爲 MIT,當前版本 0.1.0-rc.3。它的定位一句話可以說清:爲 DeepSeek Harness Web UI 提供可配置的背景圖。裝好之後,設置頁面會多出一個「Web UI 背景」標籤頁,選圖、調遮罩、保存,立即生效。
核心功能¶
1、設置頁面內嵌「Web UI 背景」標籤頁,支持上傳、拖放和預覽圖片。
2、支持 PNG、JPEG、GIF 和 WebP,按文件內容識別格式,單張最大 20 MiB。
3、淺色模式與深色模式的遮罩分別調整,保存後立即生效。
4、可以暫時停用背景而保留圖片,也可以一鍵刪除圖片並恢復默認界面。
5、設置與圖片按 Harness profile 獨立保存,多個 profile 互不影響。
6、遠程頁面可以查看設置,但只有迴環地址頁面能夠修改,避免受信任 Host 上的設置被遠程網頁寫入。
安裝與啓用¶
需要 DeepSeek Harness 0.1.0-rc.5 或更高版本,插件依賴外部組合包與瀏覽器客戶端插件這兩個擴展點,舊版本不支持。
在 DeepSeek Harness 源碼倉庫根目錄執行:
pnpm dsh plugin --profile web add dsh-webui-background@next
pnpm dsh web
第一條命令把插件以 @next 標籤裝入 web profile,第二條啓動 Web UI。如果 Web UI 已經在運行,請重啓它,然後打開「設置 → 插件 → Web UI 背景」選擇圖片並保存。
兩個命令行細節:
- 如果
dsh已全局安裝並加入系統PATH,可以去掉命令開頭的pnpm;PowerShell 提示無法識別dsh時,使用pnpm dsh。注意npm dsh不是有效的 npm 命令。 - 卸載命令如下,卸載不會主動刪除 profile 數據,要清除圖片應先在插件頁面點擊「恢復默認」:
pnpm dsh plugin --profile web remove dsh-webui-background
從源碼安裝¶
git clone https://github.com/lx963/dsh-webui-background.git
cd dsh-webui-background
pnpm install
pnpm test
pnpm build
# 切換到 DeepSeek Harness 源碼倉庫根目錄,傳入插件源碼的絕對路徑
cd /path/to/deepseek-harness
pnpm dsh plugin --profile web add /path/to/dsh-webui-background
前三步依次是安裝依賴、跑測試、構建,最後在 DSH 倉庫根目錄用絕對路徑把本地插件裝入 web profile。構建環境要求 Node.js ^22.19.0 || >=24 與 pnpm 10;發佈包在 prepack 階段生成 Host ESM、瀏覽器 CJS 和類型聲明。
數據存放在哪裏¶
每個 profile 的數據位於該 profile 目錄下的 data/webui-background/:
state.json保存開關、遮罩和修訂號;- 圖片以
background-<sha256>保存,即內容哈希作爲內部文件名,不帶擴展名。
上傳源文件可以用普通的 .webp、.png 等擴展名,插件會讀取內容自動識別格式;保存後不帶擴展名是正常行爲——瀏覽器通過插件的 /webui-background 路由取得正確的 Content-Type,不依賴磁盤擴展名。每個 profile 只保留一張當前圖片。
安全與限制¶
- SVG 不受支持,因爲它可以包含主動內容。
- 圖片必須通過魔數校驗,擴展名與瀏覽器傳入的 MIME 類型不作爲信任依據。
- 圖片響應使用
no-store與nosniff;URL 中的修訂號僅用於頁面刷新當前圖片。 - 每個 profile 只保留一張當前圖片,使用樂觀修訂號避免多個頁面靜默覆蓋彼此的設置。
適用場景與注意¶
適合長期自用 DSH Web UI、想調整界面外觀的開發者。如果按 profile 區分工作與個人環境,兩個 profile 可以各用一張背景圖,互不干擾。
動手之前有幾點提醒:
1、插件以當前 dsh 進程的權限運行。安裝任何第三方插件前,建議先閱讀源碼、確認許可證(本插件爲 MIT),再決定是否裝入。
2、SVG 不受支持,需要先把圖片轉成 PNG、JPEG、GIF 或 WebP。
3、單張圖片最大 20 MiB。
4、卸載不會刪除 profile 數據,清除圖片前先在插件頁面點擊「恢復默認」。
結尾¶
dsh-webui-background 把「換背景」這件小事做成了一個標準的插件:不改源碼文件、按 profile 隔離、遠程只讀、按文件內容校驗。對想微調 Web UI 外觀的 DSH 用戶來說,是一個成本很低的選項。
- 社區插件目錄頁:https://www.skillhub.cn/plugins/lx963/dsh-webui-background
- GitHub 倉庫:https://github.com/lx963/dsh-webui-background
其中 SkillHub 是獨立的社區目錄站點,與 DeepSeek、幻方沒有官方從屬關係,僅供檢索與索引。