
zhtx2024/dsh-skin-switcher
40Last commit Aug 14, 2026
dsh-skin-switcher DSH plugin
This plugin adds a dedicated 'Skin' page to the official settings panel of DeepSeek Harness Web GUI. It automatically discovers all installed skin packages (including those from different npm scopes and the dsh-skins aggregate carrier) and provides a one-click switch button. The switch takes effect without restarting the server, thanks to DSH's configuration watcher and hot-reload mechanism. It also offers a one-click restore to the official default appearance and disables the built-in skin center to avoid conflicts.
How to install the dsh-skin-switcher DSH plugin
dsh plugin --profile web add dsh-skin-switcherCopying does not run this command. Review the repository and version before installing the dsh-skin-switcher DSH plugin.
dsh-skin-switcher DSH plugin data source
dsh-skin-switcher DSH plugin snapshot date: Aug 16, 2026
discovered
What the dsh-skin-switcher DSH plugin can do
- Adds a 'Skin' settings section in the official DSH Web GUI settings panel
- Auto-discovers all installed skin packages (dsh-client-ui-skin-* and dsh-skins aggregate carrier skins)
- Hot-switch skins without restarting the DSH server
- One-click restore to official default appearance
- Automatically disables the built-in skin center (ui-skin-center) to prevent configuration conflicts
Where the dsh-skin-switcher DSH plugin fits
- Users who want to change the appearance of DSH Web GUI without manually editing config files
- Users who have multiple skin packages installed and need a unified management interface
- Users who want to quickly switch between skins and have a reliable way to revert to defaults
- Developers testing custom skins who need immediate feedback without restarting the server
- Admins managing a DSH instance who want to provide skin options to end users
Who the dsh-skin-switcher DSH plugin is for
- DSH Web GUI users who want to customize the interface appearance
- Plugin developers creating DSH skin packages who need easy switching during development
dsh-skin-switcher DSH plugin limitations
- Only works with the 'web' profile (installation command specifies --profile web)
- Skin packages must conform to specific naming and metadata conventions (package name starts with 'dsh-client-ui-skin-', must contain skin.json)
- Relies on DSH's configuration watcher hot-reload mechanism; if the watcher is not functioning, the skin switch may not take effect immediately
- After uninstallation, residual managed section in ~/.dsh/cordis.patch.yml may need to be manually removed
dsh-skin-switcher DSH plugin: from the repository README
Quoted from the zhtx2024/dsh-skin-switcher README, the upstream source of the dsh-skin-switcher DSH plugin. Copyright remains with the original authors.
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` 聚合载体(qq98 / ths / xp / minecraft / blue-fantasy / whale-song / trading / dragon-heir / miku 等) - **热切换,无需重启**:切换写入 `~/.dsh/cordis.patch.yml` 的 managed section(原子重写),DSH 配置监视器数秒内热重载,页面自动刷新生效 - **一键恢复默认**:「恢复默认」回到官方原版外观 - **单一管理权威**:自动禁用 dsh-web-ui 自带的皮肤中心(`ui-skin-center`),避免两个管理器写入冲突的配置 ## 安装 ### 从 npm 安装(推荐) ```sh dsh plugin --profile web add dsh-skin-switcher ``` ### 从 GitHub 仓库安装(改代码调试) ```sh # 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`(或依赖热重载),打开 设置 → 皮肤。 ## 卸载 ```sh dsh plugin --profile web remove dsh-skin-switcher ``` 卸载后如仍残留 `~/.dsh/cordis.patch.yml` 中的 managed section,可手动删除 `# --- dsh-skin-switcher managed ---` 与 `# --- end dsh-skin-switcher managed ---` 之间的内容。 ## 工作原理 | 半 | 文件 | 职责 | |---|---|---| | Host | `lib/index.js` | 挂载 `/api/skin-sw
Read the full READMERepository license: NOASSERTION
dsh-skin-switcher DSH plugin questions
How do I install dsh-skin-switcher?
Run the command `dsh plugin --profile web add dsh-skin-switcher`. This will add the plugin to your web profile. After installation, restart the DSH web server (or wait for hot-reload) and open Settings > Skin to see the new page.
Why can't I see any skins in the Skin page?
You need to have at least one skin package installed. Skin packages must have a name starting with `dsh-client-ui-skin-` and contain a `skin.json` file. Install them via `dsh plugin --profile web add <package-name>`. After installation, the Skin page should automatically list them.
Does switching skins require restarting the DSH server?
No, dsh-skin-switcher uses DSH's configuration watcher and hot-reload mechanism. When you select a skin, the plugin writes the configuration to `~/.dsh/cordis.patch.yml` and the watcher applies it within seconds. The page will automatically refresh to load the new skin.
How do I revert to the default DSH appearance?
Click the 'Restore Default' button on the Skin page. This will remove all skin-specific configurations and re-enable the official default client plugin. The change takes effect via hot-reload without restart.
Can I use this plugin alongside the built-in skin center?
No, dsh-skin-switcher automatically disables the built-in skin center (`ui-skin-center`) to prevent two managers from writing conflicting configurations. It is the single authority for skin management. If you want to use the built-in skin center, you must uninstall dsh-skin-switcher first.