@cjay644792799/dsh-client-ui-theme-bg
v0.2.1
Published
Theme switching and image/video backgrounds for the DeepSeek Harness web UI: four curated color themes, Bing daily wallpapers, favorites, apply history, upload/URL/gradient backgrounds, dim/blur controls.
Maintainers
Readme
dsh-client-ui-theme-bg
Theme switching and custom image/video backgrounds for the DeepSeek Harness web UI.
- Theme picker — light / dark / follow-system plus four curated themes: 极光 (aurora), 森林 (forest), 余烬 (ember), 宣纸 (paper).
- Image & video backgrounds — paste any image URL, video URL (.mp4/.webm/.ogg/.mov/.m4v) or CSS gradient; upload local images (data URL) or videos (stored in IndexedDB, not limited by localStorage size); dim (0–85%) and blur (0–24px) sliders with a live preview.
- Wallpaper library — tabbed: Bing 每日 (Bing daily wallpapers, auto updated every day, cached per date), 收藏 (favorites — star any wallpaper, the current background, or a history entry), 历史 (the last 30 applied backgrounds, de-duplicated), 自定义 (URL input, file upload, gradient presets).
- Persistence — settings, favorites, history and the Bing daily cache all live in localStorage (uploaded videos in IndexedDB); the URL field stays in sync with the applied background. Built-in theme preferences (light/dark/system) use the Host settings scope; a selected custom theme is persisted by this plugin and re-applied after refresh, settings syncs, and reconnects.
- Entry points: the "主题与背景" settings page and a sidebar-footer quick toggle (light → dark → system).
Install
Requires dsh web 0.1.0-rc.6 (same client API surface).
cd ~/.dsh/profiles/web
pnpm add @cjay644792799/dsh-client-ui-theme-bgAppend to cordis.patch.yml:
- insert:
- id: ui-theme-bg
name: '@cjay644792799/dsh-client-ui-theme-bg'Restart dsh web, then hard-refresh the browser (Cmd+Shift+R).
Notes
- The Bing wallpaper feed (
bing.com/HPImageArchive.aspx) is fetched through public CORS proxies when the browser blocks the direct request; image files themselves load directly from bing.com. - Remote videos play through a plain
<video src>element — no CORS needed unless the hosting server blocks hotlinking.
