DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

Bloom Lite — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
B

dsh-bloom-lite

Bloom Lite

Bloom Lite - 面向 DeepSeek Harness Web UI 的莫兰迪雾蓝主题,通过两条 CSS 规则实现,零运行时开销。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:EatMyLunch/dsh-bloom-lite#aa5482c2b99be890be32f16c360d77d580acaae3
README兼容性版本

兼容性与来源证明

Bloom Lite 以 dsh-bloom-lite 发布,当前版本为 1.2.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/18

版本

1.2.0stable
2026/10/18

相关插件

正在加载相关插件…

最新版
1.2.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/18
查看源码 ↗
README Badge

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profile用于 Agent Teams Remote 和 UI 插件的实验性 Web 配置层Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义Ab Chartdsh-ab-chart带有绘制其调用的浏览器卡片的图表渲染工具,封装在一个可发布的插件包中

README

Bloom Lite

A Morandi mist-blue theme for the DeepSeek Harness Web UI, rebuilt from dsh-bloom-theme with exactly one goal: maximum performance. Same family of colours, none of the runtime.

The whole theme is two CSS rules that re-point the Harness's own colour tokens. No component overrides, no !important, no observers, no animation, no filters, no per-frame work of any kind.

dsh-bloom-theme 0.18.1Bloom Lite
Shipped client artifact206,024 B2,955 B
Injected style tags31
Colours / variants evaluated at runtime10 palettes1 palette, resolved at build time
backdrop-filter (glass blur)330
@keyframes120
transition:200
will-change40
addEventListener180
MutationObserver20
requestAnimationFrame10
setInterval / setTimeout1 / 120 / 0
localStorage touches100
Host HTTP route / service injection/api/bloom/dsh-version + inject: ['webServer']none, inject: []
DOM the plugin owns3 style tags + switcher chip + 3 watchers1 style tag
!important declarationsyes0

Original figures are counted occurrences in the published lib/client.js (206,024 bytes) of dsh-bloom-theme@0.18.1. Lite figures are this package's build output.

How it works, and why that is the fast way

The Harness already resolves every one of its ~2,400 --dsw-alias-* colour decisions through a small set of raw --dsw-static-* ramps. Re-pointing those ramps recolours the entire application — light and dark, every panel, every state — without touching a single component rule.

  • Rule 1 rewrites the 56 raw ramp steps (neutral-bluish-*, neutral-*, blue-*, deepseek-*) to the Bloom Morandi palette, re-points the light accent pair, and sets the surfaces the Host paints with pure white — the canvas, the three panel layers and the sidebar column — to Bloom's own light anchors.
  • Rule 2 re-points the accent pair for dark mode.

Cascade facts, verified against the installed Harness stylesheet rather than assumed:

Host ruleSpecificityOursSpecificity
body{--dsw-static-*} (statics + light aliases)0,0,1html body{...}0,0,2
body[data-ds-dark-theme]{--dsw-alias-*}0,1,1html body[data-ds-dark-theme]{...}0,1,2

Both of our rules win on plain specificity, so the stylesheet never needs !important — and light/dark switching keeps working because rule 2 only moves the accent, while every other dark-mode alias still resolves through the ramps we already re-hued.

Cost per session: 1 element, 1 CSS parse (~2.30 KiB), 1 cascade pass. The style node is registered through ctx.effect, so disposing the plugin removes it, and the tag carries data-plugin / data-plugin-css naming this plugin: the Harness's module loader adopts every untagged <style> it finds while materialising a client module (dsh-client-modules/lib/client.js) and deletes style[data-plugin=<id>] when that module unloads, so an unclaimed tag could be handed to a stranger and removed with it.

The accent is worth one note: the Host defines --dsw-alias-button-primary-fill: var(--dsw-alias-brand-primary), so moving brand-primary alone turns every primary button, checkbox, radio and the boot spinner mist blue — still without a single component rule.

Re-hueing

The palette is generated, not hand-written:

node _tools/gen.mjs     # re-reads the installed Host ramps, re-hues them -> src/client.css
node _tools/build.mjs   # inlines + minifies -> client.js, and runs the guards

_tools/gen.mjs converts every Host ramp step to OKLab, moves it to hue 240 (mist blue) with a chroma ceiling, and preserves each step's lightness — which is why the contrast the Host designed survives the re-hue. The light surfaces are the exception: the Host paints its canvas, panels, cards and popovers with one pure white step whose lightness this generator keeps on purpose, so they are set at the token level to Bloom's own light anchors — canvas oklch(96.5% 0.01 240), panel layers oklch(97.6%/98.4%/99% 0.008/0.006/0.004 240), sidebar oklch(94.5% 0.012 240) — keeping the panels lighter than the canvas so the mist reads as the page and content still reads as paper.

PairBloom LiteVerdict
light body text on the mist canvas17.16:1AA
light secondary text on canvas5.24:1AA
light tertiary text on canvas3.37:1AA-large
light body text on a panel17.64:1AA
light secondary text on a panel5.39:1AA
light tertiary text on a panel3.46:1AA-large
light text in a popover18.34:1AA
light sidebar text4.92:1AA
light primary button label (white on #2078ab)4.84:1AA
dark body text on base17.45:1AA
dark secondary text on base12.10:1AA
dark tertiary text on base8.53:1AA
dark text on a raised panel15.02:1AA
dark primary button label (#07121b on #5dabe0)7.53:1AA

Change HUE (or the three chroma ceilings C_NEUTRAL / C_GRAY / C_ACCENT) at the top of _tools/gen.mjs and re-run both scripts to get another mood.

The build refuses to regress

_tools/build.mjs fails the build if the stylesheet ever contains: !important, any @-rule, animation, transition, filter / backdrop-filter, box-shadow, text-shadow, will-change, a gradient or url() image, or a class/id selector. It also asserts the exact rule/declaration counts and that the emitted client.js parses. A theme that costs frames cannot be shipped from this repo by accident.

Deliberately removed

Glass panels (backdrop-filter on large surfaces), micro-motion, the variant switcher chip and its watchers, the other 9 palettes, the appearance/think-tag watchers, the Host version route, the webServer injection, the @deepseek-ai/dsh-client-ui-conversation activation dependency, the ZH/EN locale strings (there is no plugin-owned text left to translate), and the update badge. Every one of them is either continuous main-thread work or state that has to stay in sync; a theme needs neither.

Package layout

index.js            host half - export function apply() {}, nothing else
client.js           shipped client half (built: stylesheet inlined, minified)
cordis.patch.yml    bundle patch, inserts the row
src/runtime.js      hand-written client source template
src/client.css      generated stylesheet (readable, one declaration per line)
_tools/gen.mjs      palette generator + contrast audit
_tools/build.mjs    inliner, minifier, performance guards

Install / update:

git clone https://github.com/EatMyLunch/dsh-bloom-lite.git

Then add that checkout to the active profile as a bundle — the Harness's plugin manager takes the absolute directory path:

plugin_manager { action: "install_bundle", target: "C:/path/to/dsh-bloom-lite" }

There is no build step and there are no dependencies: client.js is committed already built, so the Harness serves exactly the bytes this repo reviews. Deleting the checkout removes the theme.

Verification status

Verified: JavaScript syntax of the shipped client.js (new Function parse gate), manifest and patch validity, the static cascade arithmetic above, and the contrast table (computed offline from the installed Host ramps with the CSS Color 4 OKLab conversion).

Verified live: plugin_manager reported application: applied for this directory, the profile now carries the bundle row include:bloom-lite -> dsh-bloom-lite, and the running Harness serves the artifact at GET /plugins/??dsh-bloom-lite/client.js&rev=<artifact-rev> with 200, text/javascript; charset=utf-8. The served body is byte-identical to this package's client.js apart from the Host's own ;\n separator and one-line sourceMappingURL trailer, so the code the browser executes is exactly what the build guards approved.

Not verified: the rendered result. This environment has no browser control, so no screenshot or computed-style read-out was taken. Reload the page to see the theme; light/dark follows the Harness's own toggle.

Credits and license

MIT — see LICENSE.

The palette is a re-hue of dsh-bloom-theme by webkubor (also MIT): this package keeps that theme's Morandi mist-blue intent and its lightness relationships, and throws away everything that costs runtime. The colour ramps it rewrites belong to the DeepSeek Harness.

Author: EatMyLunch.