haozhu11/dsh-plugin-background
DeepSeek Harness 网页界面(dsh web)的背景图片插件:上传本地图片作为整个界面的背景,具备主题感知的可读性蒙版、优先采用 WebP 压缩及 IndexedDB 持久化。
项目介绍Project Overview
这是 DeepSeek Harness 网页界面的背景图插件,可上传本地 PNG/JPG/WebP 作全屏背景,提供拉伸、覆盖、包含三种模式,内置渐变预设,并可调节主题适配的遮罩与文字描边以保证可读性;图片经浏览器端压缩后存入 IndexedDB,重启保留且不占服务器存储。适用于想自定义 dsh web 整体外观时使用。注意:它是第三方社区插件,非 DeepSeek 官方产品,需 Harness ≥0.1.0-rc.6 及现代浏览器。
A background-image plugin for the DeepSeek Harness web UI (dsh web). It sets a local PNG/JPG/WebP as a full-interface background with stretch, cover, or contain modes, preset gradients, a theme-aware readability matte, and adjustable text outline. Images are compressed client-side and persisted in IndexedDB, surviving restarts with no server storage. Use it to customize the web UI's appearance. Caveat: it is a third-party community plugin, not an official DeepSeek product, requiring Harness ≥0.1.0-rc.6 and a modern browser.
请帮我了解并安装插件:【dsh-plugin-background】【https://github.com/haozhu11/dsh-plugin-background】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add github:haozhu11/dsh-plugin-background
把 haozhu11/dsh-plugin-background 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-plugin-background
Background image plugin for the DeepSeek Harness web UI (
dsh web).
Pick a local image as the background of the whole interface, adjust a theme-aware readability matte, or clear it — anytime, from a button at the bottom of the sidebar. The image is compressed client-side and persisted in IndexedDB, so it survives restarts with zero server-side storage.
⚠️ Third-party community plugin — not an official DeepSeek product. Built for
deepseek-ai/deepseek-harness.
(Add a screenshot under docs/ and reference it here once you have one.)
Features
- Upload any local image (PNG / JPG / WebP) as the full-UI background
- 🎨 Built-in preset backgrounds (one-click gradient themes)
- Three display modes: stretch-to-fill (whole image, no cropping), cover (fill, cropped), contain (whole image, letterboxed)
- High-quality client-side compression (up to 4096 px edge, WebP-first, smooth scaling)
- Theme-aware readability matte (0–80 %, white in light mode / dark in dark mode)
- ✏️ Adjustable text outline (0–100 %) keeps chat readable without dimming the image
- One-click clear, back to the default theme
- Persisted in IndexedDB — large images, survives restarts, no server involved
- Hot-reload friendly (
pnpm run dev:webwatcher), HMR-safe style/theme cleanup
How it works
- Pure browser-side Cordis client plugin registered in the
sidebar.footer.actionslot. - The image lives on a single body-level background (
background-attachment: fixed), with a theme-aware matte on top.--dsw-alias-bg-baseis overridden totransparentand the sidebar fill is made transparent too, so the frame, chat column, details column and sidebar all let that one background show through — one seamless sheet across the whole UI (no per-region images that can misalign). - The readability matte is a
color-mixlayer over the base palette token (white in light mode / dark in dark mode), so text stays readable over any image; no DOM selectors are touched.
Requirements
- A running
dsh webprofile (DeepSeek Harness, ≥ 0.1.0-rc.6) pnpm(ornpm execwith a writable cache dir)- A Chromium/Firefox-class browser
Usage
- Start
dsh weband open the GUI. - Click the Background button at the bottom of the sidebar (next to Settings).
- Choose a local image — it is applied immediately.
- Use the matte slider to balance readability; click Clear background to reset.
Development
git clone <repo-url> && cd dsh-plugin-background
node build.mjs # build once → dist/client.js
node build.mjs --watch # rebuild on src/client.js changes
src/client.jsis the only file you normally edit (plain JS,React.createElement, no JSX/TS).dist/client.jsis committed on purpose so users can install without building.- After changing
src/, rebuild, then restartdsh web(or run thepnpm run dev:webwatcher from the harness checkout for hot reload).
Uninstall
cd ~/.dsh/profiles/web
pnpm remove dsh-plugin-background
# remove the ui-background row from cordis.patch.yml (if manual)
dsh web
nexu-io/open-design
freestylefly/awesome-gpt-image-2
anywhere-labs/dsh-desktop
walkinglabs/learn-harness-engineering
awesome-dsh-plugin/awesome-dsh-plugin
MemTensor/MemOS