thooy / dsh-client-ui-theme-manager

Listed

The upstream repository does not provide a description.

masterTool View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:thooy/dsh-client-ui-theme-manager

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 8273dbeSynced Aug 17, 2026

This README snapshot could not be refreshed during the latest directory sync.

dsh-client-ui-theme-manager

DeepSeek Harness Web 用的可视化换肤插件。装好后在 设置 → Dream Skin 换肤 里: 点击主题卡片即换肤,刷新页面不丢失、不闪官方浅色;支持创建/导入(zip)/导出主题、 背景图、暂停换肤——全部在浏览器内完成,无需命令行、无需重启 dsh

主题无关:内置 10 套风格 + 任意自定义配色;导入兼容 DreamSkin 主题包(.zip)。

image

✨ 功能

功能说明
🎨 内置 10 套主题财神金 / 深空红 / 米金白 / 极夜蓝 / 青竹绿 / 樱花粉 / 薄荷苏打 / 紫晶 / 柠檬汽水 / 石墨灰
🎛️ 创建主题填主题名 + 深/浅外观 + 配色(颜色已预填默认值,只改背景色也能出主题)
📦 导入主题直接选 .zip(DreamSkin 主题包,浏览器原生解压)或 theme.json,导入即应用
📤 导出主题下载当前主题的 theme.json(含背景图时一并下载)
🖼️ 背景图给主题配背景图(自动压缩 ≤1600px)+ 文字遮罩(安全区左/右)+ 实时预览;无图时自动生成主题色渐变背景
⏸️ 暂停 / 继续暂停 = 回到官方外观但保留记忆;继续 = 恢复上次选择
🔄 还原官方跟随系统 + 清除记忆
🩺 轻量体检背景挂载类名失效时状态条会提示(dsh 升级后可能出现)
⚡ 零闪烁刷新/重开页面主题即时生效,全程不出现官方浅色
主题社区https://dreamskin.cc/gallery
image

📦 安装

方式 A · 原生插件(dsh 插件管理)

插件以 npm 包发布后:

dsh plugin --profile web add dsh-client-ui-theme-manager

装完重启 dsh web + Ctrl+F5。插件会出现在 dsh 的插件管理/设置里。

原生方式通过包内的 cordis.patch.ymldsh.bundle)注册客户端入口; 但它不注入首帧引导样式,加载瞬间可能闪一下官方浅色(约 0-8ms)。 想要完全零闪烁请看方式 B。

方式 B · zip 一键安装(推荐,含零闪烁首帧引导)

  1. Release 页面 下载最新版压缩包(如 dsh-client-ui-theme-manager-1.4.0.zip),解压到任意目录;
  2. 在该目录里运行(右键 → 用 PowerShell 运行,或命令行执行):
    powershell -ExecutionPolicy RemoteSigned -File .\install.ps1
    
  3. 重启 dsh web(关掉正在跑的 dsh 进程重新启动),然后浏览器 Ctrl+F5 硬刷新。

打开 设置 → Dream Skin 换肤 即可开始换肤。

⚠️ 两种方式二选一,不要混用(会产生重复入口)。若曾用方式 A,先 dsh plugin --profile web rm dsh-client-ui-theme-manager 再用方式 B;反之先跑方式 B 的卸载。

卸载

# 方式 A(原生):
dsh plugin --profile web rm dsh-client-ui-theme-manager
# 方式 B(zip):
powershell -ExecutionPolicy RemoteSigned -File .\install.ps1 -Uninstall

然后重启 dsh web + Ctrl+F5。

✅ 兼容性

  • dsh:0.1.0-rc.6(基于 ~/.dsh/profiles/web 的 profile 结构)
  • 浏览器:Chrome / Edge 111+(zip 导入需要原生 DecompressionStream;更老的浏览器请先解压 zip 取 theme.json)
  • 系统:Windows / macOS / Linux(脚本为 PowerShell,Windows 直接可用;其他平台手动执行等价步骤)

🧩 工作原理

这是一个标准的 dsh 客户端插件dsh.client 双面包):

  • lib/index.js —— 宿主半(no-op,让 Loader 有可激活的入口)
  • lib/client.js —— 浏览器半,按 window.__ModuleLoader__.load 协议注册:
    1. 向官方 theme 服务注册主题(--dsw-alias-* token 派生)
    2. 在设置面板注册「Dream Skin 换肤」页面
    3. 持久 <style> 标签(!important)写入 token + 背景 + 明暗信号——官方主题管线无法清除,刷新/重开页面主题恒在,零闪烁
    4. 自定义主题 / 背景图 / 状态存在浏览器 localStorage

只依赖 dsh 平台种子模块(reactreact/jsx-runtimedsh-client-web-react),无任何 npm 依赖

install.ps1 只做三件事(全部幂等、UTF-8 无 BOM):

  1. 复制插件到 ~/.dsh/profiles/web/node_modules/dsh-client-ui-theme-manager/
  2. ~/.dsh/profiles/web/cordis.patch.yml 注册入口行(不修改 profile 的 package.json
  3. 往 dsh 前端入口注入极简深色兜底样式(消除首帧白屏,无 !important、token 兼容)

升级 dsh 后建议重跑一次 install.ps1(前端入口的引导样式和插件副本需要刷新)。

❓ 常见问题

问题处理
设置里没有「Dream Skin 换肤」确认已重启 dsh + Ctrl+F5;若 /plugins/dsh-client-ui-theme-manager/client.js 404,重跑 install.ps1
刷新后主题没保持不可能发生(持久样式);若出现,按 F12 看 [ui-theme-manager:...] 日志发给我们
自定义主题/背景图没了它们存在浏览器 localStorage:换浏览器、清缓存或换设备会丢;用「导出主题」备份
导入 zip 报"浏览器不支持"用新版 Chrome/Edge,或先解压 zip 取 theme.json 单独导入
背景图没显示状态条会提示"背景类名缺失"(dsh 升级导致类名变化)——更新后重装插件即可
和旧版命令行换肤工具混用二选一;若混用后不生效,先跑旧工具的 restore.ps1 还原前端入口

🛠️ 开发

# 改完 lib/client.js 后验证语法 + 冒烟 + 集成(需本机已安装插件)
node --check lib/client.js
node dev/smoke-test-client.cjs
node dev/integration-test.cjs
# 重新安装到 profile
powershell -ExecutionPolicy RemoteSigned -File .\install.ps1

dev/ 下的测试脚本引用本机 dsh 路径,仅用于开发自检,不参与发布包。

📄 License

MIT

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

DocumentationDetected

Repository information

Language
JavaScript
License
MIT
Latest release
v1.4.1
Last updated
Aug 17, 2026, 6:30 AM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.