DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Skin Bd2 Yustia — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
S

@dsh-session/dsh-skin-bd2-yustia

Skin Bd2 Yustia

棕色尘埃2 · 悠丝缇亚 — Holy Sword Knight in Ivory White and Sacred Gold (Dual Day/Night Modes)

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:JacoboJin/dsh-skin-bd2-yustia#d85e429a8a887f1f25e4fb2f00bff56dc8ca2f9d
READMECompatibilityVersions
悠丝缇亚皮肤浅色预览悠丝缇亚皮肤深色预览

Compatibility and provenance

Skin Bd2 Yustia is published as @dsh-session/dsh-skin-bd2-yustia and currently resolves to version 1.0.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
8/29/2026

Versions

1.0.0stable
8/29/2026

Related plugins

Loading related plugins…

Latest
1.0.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
8/29/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in ui-customization.

Remote Web Ui@linxin666/dsh-remote-web-uiScan-to-pair remote access for the dsh web GUI that shares one official interface: a QR beside the settings button pairs phones and PCs into the same Web GUI (a portrait-touch adaptation layer for phones, full desktop on PCs) through one-time tokens and rClient Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.Client Ui Git Graph@linxin666/dsh-client-ui-git-graphExternal dsh web GUI plugin: a blank-session git branch selector + Git graph, with real host-side git operations and guards, as a dsh profile bundlePet@linxin666/dsh-petMulti-pet companion plugin for the dsh web GUI: a registry-driven floating pet that reacts to model activity, with per-pet naming, petting/feeding interactions and an affinity score

README

棕色尘埃2 · 悠丝缇亚 — DSH 皮肤插件

以《棕色尘埃2》(Brown Dust 2) 的圣剑骑士 悠丝缇亚(Justia / ユースティア) 为灵感的 DSH Web GUI 皮肤,昼夜双模式,纯展示层、可热插拔。

预览

浅色 · 象牙白 × 圣金深色 · 深夜暖黑 × 烛光金
悠丝缇亚皮肤浅色预览悠丝缇亚皮肤深色预览

特性

  • 浅色:暖象牙底 + 圣金主色(白金圣骑士)
  • 深色:深夜暖黑 + 烛光金(烛火下的骑士团大厅)
  • 签名装饰:圣光晕、星尘微光、金色滚动条/选中/链接/代码块/金色丝线分割线

一、hsr-kafka 皮肤插件原理(逆向分析)

参考仓库:https://github.com/whyihaveyou/dsh-themes/tree/main/skins/hsr-kafka

一个皮肤 = 一个自包含的 DSH 插件包,由 5 层组成:

层文件作用
皮肤清单skin.json注册表元数据:id、accent、bodyAttr(CSS 作用域属性名)、package、wiring.id(插件行 ID)、预览图路径
组合补丁cordis.patch.yml把一个插件行 ui-skin-hsr-kafka insert 进 web 插件 roster(dsh plugin add 时由 bundle 机制消费)
包契约package.jsondsh.client.platform: "web"、dsh.bundle.patch 指向补丁、入口 ./client
Host 半体src/index.ts空实现(浏览器专用皮肤不提供宿主行为)
Client 半体src/client/index.ts核心:挂载/回收皮肤表面
样式主体src/client/hsr-kafka.module.css全部 CSS 以 body 属性为作用域
契约测试tests/apply.spec.ts验证「apply 写入的一切在 dispose 时全部收回」

Client 半体的三个动作(全部可逆)

export function apply(ctx: Context): void {
  const body = document.body
  body.dataset.dshHsrKafka = ''              // ① 挂上皮肤作用域属性
  const favicon = document.createElement('link') // ② 专属 favicon
  favicon.rel = 'icon'; favicon.href = `data:image/svg+xml;...`
  document.head.append(favicon)
  document.title = SKIN_TITLE                // ③ 专属标题
  ctx.effect(() => () => {                    // ④ 热插拔契约:dispose 全部收回
    delete body.dataset.dshHsrKafka
    favicon.remove()
    if (document.title === SKIN_TITLE) document.title = originalTitle
  })
}

CSS 的昼夜双层作用域

  • 浅色令牌挂 body[data-dsh-hsr-kafka]
  • 深色令牌挂 body[data-dsh-hsr-kafka][data-ds-dark-theme](外壳的日夜切换按钮直接生效)
  • 重映射全套设计令牌:--dsw-static-deepseek-*、--dsw-static-neutral-bluish-*、--dsw-alias-button-*、--dsw-specific-bubble/sidebar-*、--color-*、--bg-* 等
  • 签名纹理与动效:body::before/::after 蛛网/星尘图案 + @keyframes(web-sway、btn-sheen 等),作用域隔离不污染其他皮肤

要点:皮肤=纯展示插件(无 Service/Event/模型流量);所有写入必须通过 ctx.effect 登记回收器,保证热插拔不残留。


二、本会话运行时的适配

本会话的动态 Cordis 插件运行时与 npm 皮肤包不同:

  1. 无 document/window 内建符号 → 不能写 body 属性、favicon、标题,改为使用运行时原生能力:
    • theme.overrideTokens(source, tokens):在活动主题上叠加一层 { light, dark } 令牌对(本会话外壳正是消费 --dsw-alias-* / --dsw-specific-* 令牌的 DSW 体系,与 dsh-themes 同源),昼夜切换由主题系统负责,返回 disposer;
    • styles.insert(css):包私有样式表注入,随 Client run 自动清理。
  2. 不写死产品 DOM 选择器 → 装饰 CSS 只用 body、伪元素与通用内容元素(a/code/pre/blockquote/hr、::selection、滚动条),颜色一律 var(--dsw-alias-*) 引用令牌,昼夜自动跟随。
  3. 可撤销性:令牌层经 ctx.effect 登记、样式表由 styles.insert 管理,插件停止后全部收回。

对应关系:

hsr-kafka (npm 包)本插件 (动态 Cordis)
CSS 模块重映射 --dsw-*theme.overrideTokens('bd2-yustia', { light, dark })
签名纹理 CSS(body 属性作用域)styles.insert(...)(var() 令牌驱动,无需属性)
favicon / title不可用(无 document 内建符号),省略
ctx.effect 回收ctx.effect(() => overrideTokens(...)) + styles.insert 自动回收

三、调色板依据

悠丝缇亚(Justia)视觉参考:GameKee 神圣悠丝缇亚、Gameline 角色页。对官方立绘采样得到的核心色:

  • 象牙白 #F0F0F0(礼服主体)
  • 圣金/古铜 #D8C048、#786030(金发、金饰与铠甲包边)
  • 淡粉腮红 #F0D8D8
  • 深炭 #303030(深色部件/描边)

由此设计:浅色=象牙白+圣金 #b0871f,深色=暖黑+烛光金 #d8b25c。


五、自定义背景图(动态插件 v5 能力)

背景库文件夹(推荐用法)

位置:D:\dsh_ai_workspace\bd2-yustia-skin\backgrounds\

命名格式:bg-<名称>.<扩展名>,例如:

  • bg-01-holy-light.jpg(已内置示例)
  • bg-02.jpg、bg-星夜.png、bg-forest.webp …

支持扩展名:png / jpg / jpeg / webp / gif / avif / bmp / svg(单文件 ≤ 8 MB)。

使用方式:把图片按上述格式放入文件夹 → 在 Run 卡片皮肤面板点「刷新」→ 下拉选择即自动应用(无需重载插件)。也可直接在输入框里填文件名(bg-02 或 bg-02.jpg,会自动匹配)。

其他输入方式

输入行为
背景库文件名(bg-02 / bg-02.jpg)自动解析到 backgrounds/ 文件夹(Host bg-list 匹配)
本地绝对路径或相对工作区路径Host fs.readBytes → base64 data URI(上限 8 MB)
https://… URL浏览器直连 CSS url()(背景图不受 CORS 限制;防盗链/CSP 拦截时请改用本地路径)
「默认」按钮恢复 assets/default-bg.jpg 圣光背景(挂载时自动应用)
「移除」按钮移除背景图,回到纯色皮肤
  • 背景 CSS 自带一层 50% 底色帷幕(color-mix(var(--dsw-alias-bg-base)),昼夜自适应),保证文字可读;
  • 启用背景时会同时把外壳 AppFrame 的不透明背景置透明(body [class*='_frame']),否则图片会被外壳容器完全遮挡;
  • 切换背景会先 dispose 上一张的样式表,停止插件时全部回收;
  • 换默认图:直接替换 assets/default-bg.jpg(16:9,≤ 8 MB),重新运行插件或点「默认」即可。

说明:静态皮肤包形态(lib/)保持基础皮肤能力;背景图交互依赖动态运行时的 harness RPC,仅动态插件提供。


六、交付物与用法

bd2-yustia-skin/
├── skin.json            # 皮肤清单(对齐 dsh-themes 格式,含 preview 路径)
├── client.js            # 动态运行时版 Client 半体源码(pkg-4:皮肤 + 背景图控制)
├── yustia.module.css    # 签名装饰 CSS(独立文件版)
├── lib/index.js         # 静态包 Host 半体(空实现,已预构建)
├── lib/client.js        # 静态包 Client 半体(document 形态,基础皮肤能力)
├── assets/default-bg.jpg# 默认圣光背景图(16:9,可替换)
├── backgrounds/         # ★ 自定义背景库:bg-<名称>.<扩展名>,放入即用
│   └── bg-01-holy-light.jpg  # 示例背景
├── preview/light.png    # 浅色预览(脚本生成)
├── preview/dark.png     # 深色预览(脚本生成)
├── cordis.patch.yml     # 静态包组合补丁
├── package.json         # 静态包契约(dsh.client.platform: "web")
└── README.md            # 本文件

本皮肤已作为动态 Cordis 插件挂载进当前会话:插件运行时页面即生效,停止插件即恢复原主题。 运行时额外在 cordis_run 卡片内注册了皮肤信息面板(浅/深调色板一览,注册于 tool.view.cordis Slot、key self,随插件停止自动移除)。 静态皮肤包(lib/ 预构建 + cordis.patch.yml + package.json)也已就绪,可用 dsh-themes 同款命令安装: dsh plugin --profile <你的profile> add ./bd2-yustia-skin。