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 Switcher — DSH Plugin for DeepSeek Harness
← Plugins

dsh-skin-switcher

Skin Switcher

DSH Web GUI skin switcher: Lists installed skins in the settings interface and provides a one-click switching button. Switching is implemented through the managed section of ~/.dsh/cordis.patch.yml, and the DSH configuration monitor hot-reloads it without requiring a server restart.

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

npx -y @deepseek-ai/dsh plugin --profile web add dsh-skin-switcher@0.4.0
READMECompatibilityVersions

Compatibility and provenance

Skin Switcher is published as dsh-skin-switcher and currently resolves to version 0.4.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
9/21/2026

Versions

0.4.0stable
8/19/2026
0.3.2stable
8/18/2026
0.3.0stable
8/17/2026
Show 3 more versionsCollapse versions
0.2.1stable
8/14/2026
0.2.0stable
8/14/2026
0.1.0stable
8/14/2026

Related plugins

Loading related plugins…

Latest
0.4.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
62.8 kB
Files
6
Surface
web
License
BSD-3-Clause
Source
npm
GitHub
★ 4
Weekly downloads
109
Security scan
✓ v0.4.0 scan passed
Last push
8/19/2026
View source ↗Project homepage ↗
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
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

Related plugins

More verified plugins in ui-customization.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profileExperimental Web profile layer for Agent Teams Remote and UI pluginsRemote 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.

README

dsh-skin-switcher

DeepSeek Harness Web GUI 的皮肤切换插件:在设置界面新增「皮肤」页,列出所有已安装的皮肤并提供一键切换按钮,支持一键恢复官方默认外观。

特性

  • 设置界面内切换:官方设置面板新增「皮肤」页(settings.section),已安装皮肤自动列出,无需改代码
  • 统一管理所有皮肤:自动发现 profile 中所有 dsh-client-ui-skin-* 皮肤包(支持任意 npm scope,如 @dsh-external/dsh-client-ui-skin-maid-atelier),以及 dsh-web-ui 的 dsh-skins 聚合载体
  • 支持皮肤中心 v2 资产引擎(0.4.0+):皮肤中心(@linxin666/dsh-client-ui-skin-center >= 0.2.x)内置的 skins/ 与用户目录 ~/.dsh/skins(DSH_SKINS_HOME 可覆盖)中的 v2 皮肤自动列出;切换写入 ~/.dsh/skin-center-active.json,中心在页面加载时应用,无需 cordis 行
  • 热切换,无需重启:legacy 皮肤切换写入 ~/.dsh/cordis.patch.yml 的 managed section(原子重写),DSH 配置监视器数秒内热重载,页面自动刷新生效
  • 一键恢复默认:「恢复默认」回到官方原版外观
  • 升级不丢外观:启动时自动把旧版活跃皮肤迁移到 v2 激活文件(存在 v2 孪生时),并解除旧版写下的皮肤中心禁用行
  • 单一管理权威(仅旧版中心):legacy 皮肤中心(< 0.2,写 patch 的竞争者,行 id 自动从 bundle patch 发现,兼容 ui-skin-center 与 web-ui-skin-center)自动禁用;v2 中心是资产引擎,不会被禁用

安装

从 npm 安装(推荐)

dsh plugin --profile web add dsh-skin-switcher

从 GitHub 仓库安装(改代码调试)

# 1. 克隆本仓库
git clone https://github.com/zhtx2024/dsh-skin-switcher.git

# 2. 安装进 web profile
dsh plugin --profile web add link:<克隆路径>/dsh-skin-switcher

然后重启 dsh web(或依赖热重载),打开 设置 → 皮肤。

卸载

dsh plugin --profile web remove dsh-skin-switcher

卸载后如仍残留 ~/.dsh/cordis.patch.yml 中的 managed section,可手动删除 # --- dsh-skin-switcher managed --- 与 # --- end dsh-skin-switcher managed --- 之间的内容。

工作原理

半文件职责
Hostlib/index.js挂载 /api/skin-switcher/state 与 /api/skin-switcher/use 路由;扫描 profile node_modules 发现皮肤(legacy 包 + v2 资产);管理 boot patch 的 managed section 与 v2 激活文件 ~/.dsh/skin-center-active.json
Browserlib/client.js注册设置面板 settings.section「皮肤」页;切换后轮询 state 直至配置监视器确认,再刷新页面加载新的客户端插件图

皮肤切换协议

  • legacy 皮肤:非激活皮肤 → 仅对「已组合」的皮肤写入 - id: <wiringId> + disabled: true(DSH 官方 loader patch 语法):bundle-wired 的皮肤,或 bundle patch 已插入其行的皮肤;仅安装而未组合的皮肤不写行,避免 "entry not found" 警告
  • 激活皮肤(bundle-wired,即其包名在 dsh.profile.bundles 中)→ 不写行,解除禁用即恢复
  • 激活皮肤(未 bundle-wired,如 dsh-skins 载体中的皮肤)→ 自动在 profile node_modules 建链接并写入 insert 行
  • v2 资产皮肤(中心引擎存在时):激活 → 写入 ~/.dsh/skin-center-active.json 的 {"active": "<id>"},中心在每次页面加载时应用;同 id 存在旧版皮肤包时其 wiring 行恒保持禁用,两套机制不叠加
  • 皮肤中心 → 旧版(< 0.2)从 profile bundle patch 中发现其实际行 id(如 ui-skin-center / web-ui-skin-center),恒定写入 disabled: true;v2 中心(>= 0.2,资产引擎)不写禁用行
  • 恢复默认 → 清空激活文件({"active": null})并禁用所有 composed legacy 行
  • managed section 恒为合法 YAML 数组(无行时写 []),保证 patch 文件始终可被 DSH 解析

适配自己的皮肤

legacy 皮肤包(cordis 插件形态)

皮肤包需满足:

  1. 包名以 dsh-client-ui-skin- 开头
  2. 根目录含 skin.json(字段:id、package、wiring.id,可选 name/nameEn/author/tagline/description/wiring.bundleWired)
  3. 通过 dsh plugin --profile web add <pkg> 安装进 profile

v2 资产皮肤(皮肤中心引擎形态)

皮肤目录需满足:

  1. 目录内 skin.json 声明 "skinManifestVersion": 2,id 与目录名一致(/^[a-z0-9-]+$/)
  2. 放进用户目录 ~/.dsh/skins/<id>/(DSH_SKINS_HOME 可覆盖),或随皮肤中心包内置分发
  3. 无需 cordis 行:切换器写激活文件,皮肤中心引擎应用

许可与致谢

皮肤切换的 patch 管理逻辑移植自 zhu1090093659/dsh-web-ui 的 dsh-skin CLI / skin-center(BSD-3-Clause)。本插件同样以 BSD-3-Clause 发布,见 LICENSE。