DSH Plugins Marketplace

DSH Plugins

Plugins

/

Terminal & Clients

/

dsh-wallpaper

d

dsh-wallpaper

Manifest valid

DSH web plugin: change the whole-app background image. Curated anime wallpaper library, online search, local import, right-click actions.

UI (client)hasBundlePatch

dsh-wallpaper

A background-image plugin for the DeepSeek Harness (DSH) Web GUI.

Adds a 背景图片 / Background image row right below the Appearance (dark mode) row in Settings → General. Click it to open a centred picker dialog: choose from your own wallpaper library, search online (wallhaven, SFW anime only), import images from disk — and right-click any card to set it as the background or open the original image page.

No bundled wallpaper images. All code is MIT licensed; artwork is not. The shipped gallery is empty by design — see Assets policy.

Features

  • Whole-app background — takes over the backdrop layer: neutralises any existing skin background image, makes the app chrome translucent via a tunable content veil, and paints the wallpaper on a fixed layer behind everything.
  • Sits exactly below Dark Mode — registers into the same settings.general.item slot as the official appearance row with order: 11 (theirs is 10). No forking, no patching official code.
  • Centred picker dialog — opened from the settings row, rendered through a React portal into document.body; Esc or click-outside closes it.
  • Local library — <plugin>/assets/full/* + catalog.json; read per request, so drop in files anytime without restarting.
  • Online search — the host proxies the wallhaven v1 API (categories 010, purity 100 = SFW anime only). Picked results are downloaded into your local library, so they keep working offline.
  • Local import — file picker AND drag-and-drop; imported files are stored host-side in <plugin>/user/ and survive browser storage clears.
  • Right-click menu — set as background / open the original image page / copy URL / save to library (online results) / delete (imports only; built-ins are protected).
  • Display controls — fill mode (cover/contain/stretch/center/tile), blur, scrim, content veil; scrim colour follows the light/dark theme. When a character-art skin (e.g. maid-atelier) is detected, an extra hide skin art checkbox appears.
  • Clean lifecycle — every DOM/CSS write is restored by the Cordis effect disposer; uninstalling leaves no residue.

Requirements

  • DSH web build 0.1.1-rc.2 (tested). Uses slots.inject('settings.general.item') and webServer.register({ kind:'prefix', path:'/dsh-wallpaper' }).
  • Node.js ≥ 20.

Install

Not published to npm — install from this repository. (The npm package named dsh-wallpaper is an unrelated project: a Wallpaper Engine integration.)

git clone https://github.com/dugujun3-cloud/dsh-wallpaper.git
cd dsh-wallpaper
./install.sh          # symlink into ~/.dsh/profiles/web/node_modules + cordis.patch.yml entry (backs up first)
kill $(pgrep -f 'dsh/lib/bin.js web')   # launchd KeepAlive restarts it within ~10 s

Then refresh http://127.0.0.1:3080 → Settings → General: the 背景图片 row sits directly below the Appearance row.

Uninstall:

./uninstall.sh
kill $(pgrep -f 'dsh/lib/bin.js web')

Both scripts are idempotent and back up cordis.patch.yml before touching it.

Assets policy

The public build ships no wallpaper images. Bundling third-party fan art (wallhaven / safebooru / konachan) would violate the artists' rights. Instead:

  1. Build your own library from the Wallhaven API:

    python3 make-assets.py                        # starter set (3 themes x 4)
    python3 make-assets.py --query 'sakura anime' --query 'cyberpunk city' --per-theme 8
    

    This writes assets/catalog.json + assets/full/ + assets/thumb/; the dialog picks them up on next load (catalog is read per request, no restart needed).

  2. Or use in-app search / import — every online result you pick is saved locally with its source page, so you can always right-click open image link to credit the artist.

assets/ image files are gitignored; make-assets.py records each item's page (original post) and source links for attribution.

HTTP API

MethodPathPurpose
GET/dsh-wallpaper/catalogbuilt-in library + user imports + prefs
GET/dsh-wallpaper/assets/<path>built-in images (traversal hardened)
GET/dsh-wallpaper/user/<name>imported images
GET/POST/dsh-wallpaper/prefspreference read/write
POST/dsh-wallpaper/upload?name=upload an image (max 32 MB)
POST/dsh-wallpaper/import-urldownload a remote image into the local library
POST/dsh-wallpaper/deletedelete an imported image (built-ins protected)
GET/dsh-wallpaper/search?q=online search (wallhaven, SFW anime)

Project layout

lib/index.js      host plugin: routes, catalog/upload/delete, wallhaven proxy, prefs persistence
lib/client.js     browser plugin: settings row, portal dialog, grid + search + context menu, backdrop engine
assets/           your wallpaper library (images gitignored; see Assets policy)
user/             your imports (gitignored)
make-assets.py    regenerate assets/catalog.json from the Wallhaven API
test-host.mjs     16 host-route tests (incl. traversal + built-in delete protection)
test-client.mjs   20 client wiring tests (slot order 11, stylesheet/canvas injection, full dispose)
install.sh        idempotent live-profile install
uninstall.sh      reversible uninstall (byte-level round-trip verified)

Tests

node test-host.mjs && node test-client.mjs   # 36 checks, all green

Disclaimer

  • The wallhaven proxy hits the public wallhaven.cc API without a key. Convenience wrapper, not an affiliated service.
  • Only the SFW anime category (categories=010, purity=100) is queried server-side; the client never talks to the upstream directly.
  • Unofficial community plugin. Not affiliated with, endorsed by, or supported by DeepSeek.
  • The plugin targets settings.general.item and webServer.register({ kind: 'prefix' }); a DSH version that changes those may need a small update.

License

MIT © 2026 dugujun3-cloud (独孤菌). Artwork excluded — see Assets policy.

Comments

Loading…

From the same category

dsh-TUI

by ccch1mneyyy

DSH 官方公众号收录的 TUI 补位插件:Claude Code 风,鲸鱼顶栏/实时状态/流式思考/双击 Esc 回滚/上下文进度+TPS。npm 一键装。 DSH official WeChat featured TUI plugin — Claude Code style: whale bar, live status, streaming thoughts, double-Esc rol

Terminal & ClientsManifest valid

★ 4.6k

↓ 11.6k/wk

MIT

TypeScript

Oct 14, 2026

dsh plugin --profile terminal add @deepseek-harness-tui/dsh-tui

by strukto-ai

The World's First Virtual Terminal for AI Agents

Terminal & ClientsManifest valid

★ 3.7k

↓ 374/wk

Apache-2.0

TypeScript

Oct 14, 2026

dsh plugin --profile agent add @struktoai/mirage-dsh

by bowenliang123

The best DeepSeek Harness plugin for context insight and management, with context dashboard / browser / sidebar and context command, for context statistics, composition, breakdown, evolution details,

Tools & CapabilitiesUI & ExperienceTerminal & ClientsManifest valid

★ 2.1k

↓ 44k/wk

Apache-2.0

TypeScript

Oct 13, 2026

dsh plugin --profile web add dsh-context

by huiliyi37

官方 DeepSeek Harness 的交互式终端 UI 插件:自研 ANSI 极简交互渲染、流式 Markdown/工具卡、16+ 主题、slash 命令与选择器、输入历史与本地偏好持久化、LSP 诊断、memory记忆,很丝滑的开发体验。

Terminal & ClientsManifest valid

★ 285

↓ 486/wk

Apache-2.0

TypeScript

Sep 30, 2026

dsh plugin --profile terminal add @huiliyi37/dsh-tianshu-tui

by Hilbert-beinghappy

面向 DeepSeek Harness 的 Claude Code 风格终端界面,支持 Windows、macOS 与 Linux,兼容透明终端、VS Code 主题和自定义配色。

Terminal & ClientsManifest valid

★ 196

↓ 108/wk

MIT

TypeScript

Oct 13, 2026

dsh plugin --profile web add seektty

by T-Auto

deepseek-harness Plugin Access and Implementation Standards / deepseek-harness交互生态插件规范与实施标准

Terminal & Clients

★ 83

MIT

JavaScript

Oct 10, 2026

Index only — not installable