DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-any-background

Any Background

DeepSeek Harness 的外观插件:自定义主题颜色(PS 风格色轮)、支持调整不透明度和模糊度的背景壁纸,以及分别设置主界面和设置界面不透明度。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-any-background@0.4.3
README兼容性版本

兼容性与来源证明

Any Background 以 dsh-any-background 发布,当前版本为 0.4.3。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/11/4

版本

0.4.3stable
2026/11/2
0.4.2stable
2026/10/26
0.4.1stable
2026/10/25
查看其余 33 个版本收起版本
0.4.0stable
2026/10/25
0.3.10stable
2026/10/24
0.3.9stable
2026/10/19
0.3.8stable
2026/10/17
0.3.7stable
2026/10/12
0.3.6stable
2026/10/5
0.3.5stable
2026/10/5
0.3.4stable
2026/10/3
0.3.3stable
2026/9/29
0.3.2stable
2026/9/27
0.3.1stable
2026/9/23
0.3.0stable
2026/9/22
0.2.10stable
2026/9/17
0.2.9stable
2026/9/16
0.2.8stable
2026/9/14
0.2.7stable
2026/9/14
0.2.6stable
2026/9/14
0.2.5stable
2026/9/13
0.2.4stable
2026/9/11
0.2.3

相关插件

正在加载相关插件…

最新版
0.4.3
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
1.5 MB
文件数
8
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 0
周下载
2,404
安全扫描
✓ v0.4.3 扫描通过
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
stable
2026/9/5
0.2.2stable
2026/8/31
0.2.1stable
2026/8/24
0.2.0stable
2026/8/24
0.1.9stable
2026/8/19
0.1.8stable
2026/8/17
0.1.7stable
2026/8/16
0.1.6stable
2026/8/16
0.1.5stable
2026/8/16
0.1.4stable
2026/8/15
0.1.3stable
2026/8/15
0.1.2stable
2026/8/15
0.1.1stable
2026/8/15
0.1.0stable
2026/8/15

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Session Titles Bundle@deepseek-ai/dsh-experimental-session-titles-bundle新的用户提示到达时刷新会话标题。Personalized Recommendations@deepseek-ai/dsh-personalized-recommendations回答下方以卡片形式提供个性化页面和内置插件推荐Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义

README

dsh-any-background



English | 中文

A DeepSeek Harness appearance plugin: custom theme color, background wallpaper (image / video / algorithmically generated), and per-surface opacity & blur control. Compatible with DSH 0.2.0-rc.1 through 0.2.2-alpha.2 — and every host release above it.


Screenshots

Custom homepage
Custom homepage · wallpaper + theme color applied
Theme color picker
Theme color picker · PS-style wheel + HSL/RGB inputs
Per-surface opacity and blur
Per-surface opacity and blur
Background editor
Background editor · pan and zoom
Generated dynamic background
Generated background · mesh gradient / Shader / geometric
Geometric background, low-poly mode
Generated background · geometric low-poly
Config export and import
Export and import configs to share them

Features

Color & theme

  • PS-style color wheel — Hue on the ring, saturation and lightness in the inscribed square; generates 30+ CSS design tokens live.
  • Precise HSL / RGB input — Numeric entry, bidirectionally synced with the wheel.
  • Smart extraction / eyedropper — One click derives a theme color from the wallpaper (sampling the visible area and discarding gray, near-black and near-white), or hover any pixel to pick it. Video wallpapers contribute an auto-captured frame. All client-side.
  • Forced light / dark scheme — Light, dark or auto. In auto the surface and font direction follow the accent color's lightness (dark pick → light text), falling back to the wallpaper's brightness when no accent is set.
  • Theme export / import — A self-contained dsh-any-theme.json (config + wallpaper + the whole rotation pool) that restores anywhere.
  • Presets & profiles — Six one-click presets plus named profiles that can be renamed and duplicated; deleting asks for confirmation twice.

Background & wallpaper

  • Image wallpaper — Upload any image as the background.
  • Video wallpaper — Muted, looping, survives refreshes (persisted on disk + HTTP Range streaming), with one frame captured for the preview, color extraction and position editing.
  • Position editor & layout modes — Drag to pan, scroll or pinch to zoom, one-click reset; Fit / Fill / Stretch / Tile / Center. Image and video placements are stored separately and never overwrite each other.
  • Generated backgrounds — Mesh gradient, Shader or geometric patterns, with adjustable spread and intensity and a lockable seed.
  • Wallpaper rotation — Build a pool with the thumbnail picker and rotate by shuffle or order, on every refresh / hourly / daily / weekly; the cadence advances while the page stays open, not only on reload.
  • Day / night switch — A day profile and a night profile, switched on a fixed schedule or by following the OS dark mode.

Per-surface opacity & blur

  • Eleven parts, each with its own slider pair — main background, sidebar, card panels, input & controls, settings panel, conversation frame, trajectory view, right sidebar (or bettersidebar), produced / highlighted content, header popovers, and the header bar.
  • The slider IS the frost amount, and 0 means no frost — including over the host's own default menu frost. Every part still defaults to 30px, so a stock install keeps the frosted look.
  • Opacity re-scopes the host's own token — it never stacks a second color over the original, so the wallpaper shows through the content.
  • Produced / highlighted content shares one slider — code blocks (with their language banner), inline code chips and produced chips move together.
  • Right sidebar / bettersidebar: one pair, two identities — without dsh-better-sidebar it drives the official right sidebar; with it installed the same pair takes over that plugin's bottom workbench panel (the official sidebar keeps responding too).
  • On the Windows desktop shell it also drives the caption band — the sidebar pair paints the segment directly above the sidebar, and the cut follows the sidebar's width as it is dragged or collapsed (at width 0 the band returns to the header card). The 「标题栏」 card drives the rest of the band and the native window controls, with a four-state 「标题条带文字」 choice (auto / follow theme / always white / always black) for when a light strip fights the theme.

Interface parts

  • Sidebar "Theme" page (dual mode) — The same five pages (Color / Interface / Font / Background / Profiles) register into the official right sidebar's guide page or into dsh-better-sidebar's sidebar, sharing one state with the settings panel, so a change anywhere shows everywhere. On a host without that extension point nothing is registered, silently.
  • Conversation view cards — The message list is wrapped in a translucent card automatically, and the trajectory page adjusts as a whole page.
  • Header popovers and the header bar are separately adjustable — the Agent Team panel, the background-job list, the session-header dropdowns, and the title / view-tab row at the top of a session each have their own opacity + blur pair.
  • Custom font — Upload a ttf / otf / woff / woff2 (up to 100 MB) and apply it across the interface; code blocks stay monospace. Can be disabled or removed at any time.
  • Per-part text outline — The same surface groups as the interface page, each with its own -webkit-text-stroke (0–4px, 0 = off) in auto-contrast / gray / black / white / accent / custom. Code blocks, inline code, icons and the host's gradient-shimmer text are exempt automatically.
  • Third-party compatibility — When dsh-better-display is detected, its sticky summary band is pinned at a 20% plate + 30px frost outside the sliders. Any other plugin whose surface reads a token this plugin owns is named in the console, and the whole accommodation can be switched off in Settings.

General

  • File-based persistence — Everything is stored under ~/.dsh/.dsh-any-background-data/, not in localStorage.
  • Bilingual UI — Full Chinese / English interface following the host's locale.
  • Theme watchdog — Re-asserts the custom theme if the host resets it.

Changelog (latest two releases)

v0.4.2 (dsh-better-display's summary bar compatibility · fixes issue #32)

  • The summary bar is no longer hollowed out. Its plate reads the token our 「主界面」 opacity owns, so at 0 the conversation streamed straight through it. When dsh-better-display is detected the band is pinned at a 20% plate + 30px frost — no slider moves it, the color still follows the theme — and the three separate bars merge into one box with the bottom corners rounded.
  • Third-party surface self-check + a compatibility switch. At boot the plugin scans other plugins' stylesheets and names in the console whose surface reads a token this plugin owns: registered ones get protected automatically, unregistered ones log a note inviting that line to be reported. A card at the bottom of the Interface page switches the whole pin sheet off, leaving the other plugin to paint its own surfaces.
  • Issue #32 fixed. The frosted sidebar column is lifted to z-index:1, so a tooltip overhanging the sidebar's right edge stays crisp; the modal exemption now resets z-index and isolation together.
  • After installing or updating, restart the host once — the compatibility gate runs when the profile is assembled.

v0.4.3 (follows dsh 0.2.1-rc.5 and the newly opened 0.2.2 line)

  • Newly checked host builds: 0.2.1-rc.4, 0.2.1-rc.5, 0.2.2-alpha.2.
  • rc.4 / rc.5 change nothing. Every shipped file of the 296 @deepseek-ai/dsh-* packages in a 0.2.1-rc.3 install was hashed through rc.5: 30 files moved in total, and not one of them is a stylesheet this plugin reads. Three are inlined version-string literals; the rest are the host's settings-tab tooltip becoming conditional and the reasoning-body slot gaining a rawText. No token, no [class*="…"] class shape, no z-index and no data-slot key moved, so both builds join the v0-2-1 row and their verdict rises from line to exact.
  • 0.2.2 is a new patch line, so v0-2-2 opens its own facts folder. That release is big (1151 files changed, 1709 added), but every fact this plugin claims was re-read and still holds: _handle{z-index:11} / _leadingSeat{z-index:15} / _overlayLayer{z-index:20} are byte-identical (so the sidebar column's ceiling of 1 and the header row's 10 are argued exactly as before), the four menu-frost tokens and the 8 --dsw-menu-backdrop-filter consumers are unchanged, the host still composes --dsw-font-family on body (the font rule's !important still has to win), the five session-header slot keys stand, and all 75 host selectors this plugin writes still match. The host's peer gate is byte-identical too.
  • Two host changes on 0.2.2 worth recording: --dsw-specific-sidebar-nav-item-hover is deleted host-side, together with its only consumer — the plugin still writes the token, which now writes something nobody reads, and since the host stopped painting that hover at all there is no regression against the host default; and ui-plugin-manager gained a new consumer of the token the main-interface slider takes over (a pointer-events:none underlay behind the page header), which paints nothing at the default value but is a new row on the "who reads this token" list.
  • The version gate now has its own check: npm test verifies that engines.dsh, the six peer ranges and dsh.compatibility.dsh each name every verified build and all keep their uncapped tail, and that lib/ really carries those builds and their channels — so editing src/ without re-bundling is now caught outright.

Installation

Method 1: npm install (Recommended)

# published on the npm registry
dsh plugin --profile web add dsh-any-background

# or straight from the GitHub repository
dsh plugin --profile web add github:Tkingxiao/dsh-any-background

Then launch:

dsh web

The plugin appears as a "Theme" section in Settings.

Method 2: npx (No Global Install)

npx @deepseek-ai/dsh plugin --profile web add dsh-any-background
npx @deepseek-ai/dsh web

Method 3: Local Build (Development)

The lib/ directory is committed, so installs need no build step. To rebuild after editing src/:

git clone https://github.com/Tkingxiao/dsh-any-background.git
cd dsh-any-background
pnpm install
pnpm run bundle
pnpm dsh plugin --profile web add "dsh-any-background"
pnpm dsh web

Compatibility

  • dsh web: 0.2.0-rc.1 ~ 0.2.2-alpha.2, and everything above it. The gate names each build that was checked and then closes with an uncapped >=0.2.0-rc.1. That umbrella is deliberate: the host enforces exactly this peer list — a release it does not name is disabled before a single module is imported — so a range that runs out is a wall in front of a plugin that would have kept working. (More precisely: the host's app-boot unmetRequirements reads engines.dsh alone when that field is present and ignores peerDependencies, so all four places must say the same thing but engines.dsh is what actually decides whether the plugin loads.)

  • How an unseen build runs: it gets the closest verified set of facts plus a log line saying how far from exact that is. The worst a stale fact can cost is one slider no longer fading a surface the host has since moved; a version check that failed closed would cost the whole plugin.

  • Verified builds (dsh.compatibility.dshReleases):

    Host buildFacts folderNotes
    0.2.0-rc.1v0-2-0-rc-1verified by diffing its tag, package by package
    0.2.0-rc.2v0-2-0-rc-2same; this rc renamed the token a sticky menu group heading paints from, so it opened its own facts
    0.2.1-alpha.1 ~ 0.2.1-rc.5v0-2-1facts unchanged, folded into one folder; every checked build gets its own row with an exact verdict. rc.4 and rc.5 ship artifacts byte-identical to rc.3, file by file
    0.2.2-alpha.2v0-2-2a new patch line, so its own facts folder; every claim re-read and still true (z-index ladder, menu frost tokens, font token composition, header slot keys, 75 host selectors matching)
    above 0.2.2-alpha.2reuses the closest rowan unverified build takes that line's adapter, stated in the log
  • Facts are isolated per release: the host release is resolved on the Node half and handed down through the RPC; styling and logic only ask the adapter questions (who owns this surface, which layer carries the frost, which token fades a menu) and never compare version strings. Supporting a new host means adding one version folder and registering it.

Permissions, side effects & boundaries

  • Integration form: an official Profile Bundle — package.json declares dsh.bundle.patch: ./cordis.patch.yml (a loader insert layer) and the repository ships ready-to-use prebuilt artifacts (lib/index.js, lib/client.js). No install scripts, no postinstall, no native binaries, no build step at install time.
  • Filesystem: the server half reads and writes only inside <dsh home>/.dsh-any-background-data/ (config, wallpaper, rotation pool, video, font) and touches nothing outside it; config writes are atomic (temp file + rename). These files live on the real disk, so they are outside generation restore — it neither captures nor rolls them back; deleting the directory is a full plugin reset.
  • Network: exactly one outbound fetch, and only when the user pastes an http/https image or video URL and presses Apply. No telemetry, no other external calls.
  • Shell / native: none. No child_process, no native modules, no dynamically downloaded binaries.
  • HTTP surface: only /dsh-any-background/{video,wallpaper,font} (GET/HEAD streaming) with the matching */upload POST routes (100 MB cap), plus the dedicated RPC channel /dsh-any-background, all under the local dsh web server. No extra listening ports.
  • Restart required: the first install needs a (re)start of dsh web to load the client bundle; settings changes afterwards apply live and persist automatically. Changing plugin version requires a restart to pick up the new lib/client.js.
  • Tests & verification: pnpm run typecheck (full tsc check), pnpm run bundle (tsdown emits lib/), and npm test, which starts the real host half and round-trips config writes, reads and profiles plus the upload fence. Visual changes go through two further paths: a local mock page that measures computed values, and real dsh web testing slider by slider.
  • Known limitations:
    • The styling relies on stable host DOM markers (such as [data-sidebar-right-panel]) and CSS token names. A host restyle of those layers can leave a slider ineffective for its surface — cosmetic only, nothing breaks. The version-specific half of those selectors lives inside its own version folder, so a host revision normally means editing that one file.
    • -webkit-text-stroke may clip about 1px at the edge of some single-line ellipsis containers.
    • One rule is a deliberate cross-plugin accommodation: dsh-better-display paints its sticky reading lanes from the token our 「主界面」 opacity owns, so when that plugin is detected its lanes are pinned at a 20% plate + 30px frost outside the sliders. If it ever renames those markers the rule stops matching and its lanes go back to being painted its own way.

Star History

Star History Chart

License

MIT

  • After installing or updating, restart the host once — the compatibility gate runs when the profile is composed.
  • read
  • A restart is still needed after installing or updating the plugin: the compatibility check runs while the profile is composed, not when the plugin is updated. Features that depend on a specific host structure (the right sidebar's panel blur, the official sidebar's "Theme" card) enable themselves only where that structure exists; everything else behaves identically across the range.

  • The 0.1.5 / 0.1.6 / 0.1.7 era is out of the supported range: those fact folders assert things nothing re-checks any more, and a table nobody verifies is worse than no table. An older host is now refused at composition rather than quietly restyled by the wrong adapter.

  • DSHA — the DeepSeek Harness Android launcher (ROOT-free, Termux-free). Its bundled dsh is 0.1.5-rc.2, below this plugin's supported floor: the peer gate refuses it at composition, so the plugin never loads there.

  • deepseek-harness-desktop — supported. Windows-only behavior (the caption band, the native window controls) applies on the desktop shell only.