Preface¶
DeepSeek Harness (hereinafter referred to as DSH) makes models, tools, skills, conversations, sandboxes, storage, loops, scheduling, and UI all replaceable plugins. The official description is “Everything is a plugin”: the Cordis kernel is only responsible for loading, unloading, and dependencies, and specific capabilities are provided by plugins. The web interface can even be replaced entirely without modifying the Harness source code.
The default Web GUI can complete daily operations of coding Agents, but its interface is similar to the official preview page. Community-themed plugins have emerged one after another: some people have made character portraits, some have made desktop pets, and others have replaced the entire workbench color scheme with their own brand colors. dsh-xiaoyao-skins belongs to this category, but it is more complete in form—it is not a single skin, but a collection of Xiaoyao-themed skins, a one-line skin changer installer, as well as a scaffold and health check command for community authors.
This article is organized after checking the community plugin directory page, GitHub repository README, package.json / catalog/skins.json, skin specification docs/SKIN_SPEC.md, architecture description docs/ARCHITECTURE.md, and the online skin exhibition hall: what this repository is, how to use the installation command on the directory page, which command to use for daily skin changing, and why the license is not “unified MIT for the entire repository”. The community plugin directory (deepseek-harness-plugin.com) is an independent site and has no official affiliation with DeepSeek / Fang Tian. Do not treat it as an official app store. The repository itself also states that this is an independent community project and has no affiliation, sponsorship, certification, or endorsement relationship with DeepSeek and the original author of zhu1090093659/dsh-web-ui.
What is this¶
dsh-xiaoyao-skins is a community skin collection presentation layer plugin for real DSH Web profile, maintained by 147228, with the repository address at 147228/dsh-xiaoyao-skins. The package name in the root directory package.json is @xiaoyao-ai/dsh-xiaoyao-skins, the author field is Xiaoyao AI / 夕小瑶科技说, and the current collection version is 0.1.3. The directory page categorizes it under “Themes & Appearance”, and the main language is CSS. The repository was created on August 13, 2026, with the latest push on August 14, 2026, and was included in the community directory on August 15, 2026. As of August 17, 2026, GitHub API shows 24 stars; the directory page displayed 20 stars at the time, so we can use the latter as the inclusion snapshot, and the star count shall prevail on the repository page.
The problem it solves is very specific: it allows the web interface to be switched to a look with Xiaoyao character and scene color scheme without modifying the Harness source code, clearing the profile, or migrating conversation data. The README specifies that each skin is a DSH plugin that can be installed, uninstalled, and tested, without replacing conversations, models, tools, sandboxes, or the plugin system. catalog/skins.json declares compatibility with DeepSeek Harness 0.1.0-rc.6 and Node.js >=20.
Unlike repositories that only distribute a single finished skin, this repository provides three things at the same time:
1. Six independent skin bundles in packages/skins/*
2. The xiaoyao-skin installer, which internally calls the official dsh plugin add / remove to switch skins
3. The community creation toolchain xiaoyao-skin create / doctor
The root directory package.json does not have a dsh.bundle field. The actual DSH wired packages are the individual skin subpackages. For example, the package name of the Black Whale Lab skin is @xiaoyao-ai/dsh-client-ui-skin-black-whale, with dsh.client.platform set to web, and the development dependency on @deepseek-ai/cordis is ^4.0.1.
Core Features¶
The following capabilities come from the repository README, catalog/skins.json, skin specification, and architecture documentation, not imagined features from demo presentations.
Six Skins Compatible with Real Web Profile¶
The README emphasizes that the preview images come from real DSH Web profiles, not static concept images. catalog/skins.json currently lists six skins:
| Skin Name | slug | Package Name | Color Scheme Key Points | Scope |
|---|---|---|---|---|
| Xiaoyao · Black Whale Lab | black-whale |
@xiaoyao-ai/dsh-client-ui-skin-black-whale |
Official Black Whale × Graphite Black × Xiaoyao Pink | data-dsh-black-whale |
| Xiaoyao · Realm of Exploration | ocean |
@xiaoyao-ai/dsh-client-ui-skin-xiaoyao |
Deep Sea Blue × Nekomimi Pink × Whale Light Effects | data-dsh-xiaoyao |
| Blue-Pink Duo · Sky Lab | sky-lab |
@xiaoyao-ai/dsh-client-ui-skin-sky-lab |
Cloudy Daylight × Dual Protagonist Collaboration | data-dsh-sky-lab |
| Xiaoyao · Beacon over the Great Wall | great-wall-beacon |
@xiaoyao-ai/dsh-client-ui-skin-great-wall-beacon |
Charcoal Black Great Wall × Chinese Red × Ancient Gold | data-dsh-great-wall-beacon |
| Xiaoyao · Sunrise over Mountains and Rivers | great-wall-sunrise |
@xiaoyao-ai/dsh-client-ui-skin-great-wall-sunrise |
Rice White Rice Paper × Vermilion × Sunrise Gold | data-dsh-great-wall-sunrise |
| Xiaoyao · Snowy Great Wall | great-wall-snow |
@xiaoyao-ai/dsh-client-ui-skin-great-wall-snow |
Snow White × Ink Gray · Scarlet Cloak | data-dsh-great-wall-snow |
The complete installation commands can also be copied with one click on the online skin exhibition hall. The exhibition hall copy also states that it only changes the presentation layer, and conversations, models, tools, sandboxes, permissions, and project data are still provided by the native Harness.
One-Line Skin Changing, Only Modifying Packages Registered in This Repository During Switching¶
Daily skin changing does not rely on manually modifying cordis.patch.yml. The installer operates the web profile by default, and the process is clearly written in docs/ARCHITECTURE.md:
1. First install the Release tgz of the target skin via the official dsh plugin add
2. Then remove other skin packages registered in the repository’s catalog
3. Do not modify DSH source code, clear the profile, or read or migrate conversation data
The installation order is “add the target first, remove the old skin later”. If the target download or installation fails, the current skin remains, and the profile will not be left in a half-configured state. The README also provides xiaoyao-skin use official to restore the official interface.
Only Presentation Layer¶
The architecture document clearly defines what skins can and cannot do. Skins can modify colors, typography, backgrounds, borders, and animations, can use images and fonts licensed within the repository, and can read viewport, system color scheme, and prefers-reduced-motion. Skins must not:
- Replace or proxy conversations, models, tools, sandboxes, storage, or network requests
- Collect telemetry, upload profile content, or inject external scripts
- Directly modify the DSH installation directory, user configuration, or other plugins
- Pollute pages when the skin is not enabled with global selectors
docs/SKIN_SPEC.md further requires that all CSS must be scoped with body[your-bodyAttr]; images must work in offline environments, and remote fetching during runtime is prohibited; skin packages must not contain network requests, telemetry, external scripts, native absolute paths, account information, or non-anonymized workspace screenshots. The README of the Black Whale Lab skin also includes the same sentence: no conversation reading, no model calls, no network requests initiated. Assets are embedded into the client bundle during the build phase.
The client entry uses ctx.effect() to install the skin and returns a cleanup function. When uninstalling or hot reloading, the bodyAttr, event listeners, and runtime style nodes must be removed. The repository uses real execution tests for dispose() to avoid being unable to revert after changing skins.
Scaffold and Health Check for Creators¶
This collection is not only for end users. xiaoyao-skin create will generate a template with official DSH bundle wiring, Web client entry, reversible uninstallation, CSS isolation, tests, and license files. After completion, you can use xiaoyao-skin doctor to run the collection health check. Skin proposals use the GitHub Issue template skin_proposal.yml. pnpm check will verify catalog metadata, official DSH wiring, presentation layer permission boundaries, lifecycle cleanup, six skin unit tests, installer unit tests, build results, and the exhibition hall; pull requests will also be rerun in three environments: Linux, macOS, and Windows.
Installation and Activation¶
Please first have a working DSH Web interface and have completed initialization before installation. The official quick experience command is:
npx @deepseek-ai/dsh web
For source code installation, clone deepseek-ai/deepseek-harness. DSH is still in developer preview, and core plugins and APIs will continue to change. The repository requires Node.js 20+, and 24 LTS is recommended. You do not need to pre-install pnpm: the installer will first reuse available versions; if none exist, it will temporarily provide a compatible version via Corepack or npx for this operation, without modifying global pnpm configuration.
Command from the Community Directory Page¶
The installation command on the community directory page shall be based on the original text on the page, run it in the DeepSeek Harness terminal:
dsh plugin add github:147228/dsh-xiaoyao-skins
For reproducible installation, the directory page requires fixing the commit hash:
dsh plugin add github:147228/dsh-xiaoyao-skins#<commit>
Replace <commit> with the actual commit hash in the repository, do not copy the placeholder verbatim.
The directory page also reminds that the plugin runs with the permissions of the current dsh process, and may execute code during installation. You should check the source code repository and license before installation.
This command treats the entire GitHub repository as a plugin source. For daily “switching to a specific skin”, the repository README uses the installer in the next section: it parses registered packages and Release assets according to catalog/skins.json, then calls dsh plugin add for the target skin tgz.
One-Line Skin Changer from the Repository README¶
Requires Node.js 20+ and DeepSeek Harness installed and initialized. The command operates the web profile by default.
Switch to Black Whale Lab:
npx --yes --package=https://github.com/147228/dsh-xiaoyao-skins/releases/latest/download/xiaoyao-skin-kit.tgz xiaoyao-skin use black-whale
Switch to Realm of Exploration:
npx --yes --package=https://github.com/147228/dsh-xiaoyao-skins/releases/latest/download/xiaoyao-skin-kit.tgz xiaoyao-skin use ocean
For the other four skins, replace the final slug with sky-lab, great-wall-beacon, great-wall-sunrise, or great-wall-snow respectively, which matches the install field in catalog/skins.json.
Restore the official interface:
npx --yes --package=https://github.com/147228/dsh-xiaoyao-skins/releases/latest/download/xiaoyao-skin-kit.tgz xiaoyao-skin use official
You can use --profile to specify other profiles, and use --dry-run to only view the DSH commands that will be executed, without checking, downloading, or writing to the profile.
Installation Compatibility and Troubleshooting¶
The README lists the behavior of the installer across different Node versions in a table:
| Environment | Installer Behavior |
| — | — |
| Node.js 24 / 22.13+ | Reuse available pnpm, or temporarily use pnpm 11.19 |
| Node.js 20 / 22.0–22.12 | Reuse available pnpm, or temporarily use pnpm 10.34 to avoid Node version restrictions of pnpm 11 |
| Global pnpm not installed | Automatically use Corepack; if Corepack is unavailable, automatically use npx provided with Node |
| --dry-run | Only print DSH commands, without checking, downloading, or writing to the profile |
If you see dsh: pnpm not found on PATH, the README explains that you are using an older version of the toolkit, and re-running the same releases/latest command above will get the fixed version. If the automatic fallback fails due to network or proxy issues, the installer will provide a manual npm install -g pnpm@... command matching the current Node.js version. The current skin will not be removed if the installation target fails.
Typical Usage¶
View Previews Before Deciding¶
Before installation, you can visit the exhibition hall at https://147228.github.io/dsh-xiaoyao-skins/, or directly check preview/dark.jpg in each skin directory of the repository. The six skins have large stylistic differences: Black Whale is for professional workstations, Realm of Exploration and Sky Lab are more character-focused, and the three Great Wall skins are for new Chinese style scenes. If you don’t like a certain skin, you can just switch the slug without uninstalling the entire toolchain first.
Specify a Profile or Preview Commands Only¶
The default profile is web. If your DSH interface is not in the default profile, add --profile. If you just want to confirm which dsh plugin commands the installer will call, add --dry-run. Both of these come from the root directory README, with no additional configuration files to modify.
Create Your Own Skin¶
npx --yes --package=https://github.com/147228/dsh-xiaoyao-skins/releases/latest/download/xiaoyao-skin-kit.tgz xiaoyao-skin create moon-rabbit
cd dsh-skin-moon-rabbit
pnpm install
pnpm check
The template already includes official DSH bundle wiring, Web client entry, reversible uninstallation, CSS isolation, tests, and license files. docs/SKIN_SPEC.md requires each skin to declare a unique id, package name, bodyAttr, and wiring id, and wiring.bundleWired must be true, meaning it can be automatically connected to the Web profile via a single DSH plugin command. package.json must expose both Host and Client build artifacts, and the plugin name in cordis.patch.yml must match the package name.
After completion, run the collection health check:
npx --yes --package=https://github.com/147228/dsh-xiaoyao-skins/releases/latest/download/xiaoyao-skin-kit.tgz xiaoyao-skin doctor ./dsh-skin-moon-rabbit
Then start with the skin proposal Issue template, or directly read the repository’s CONTRIBUTING.md. You do not need to follow this path if you just want to change the appearance and do not plan to submit a contribution.
Local Development of the Collection Itself¶
Full development, build, and release use Node.js 24:
corepack enable
pnpm install --frozen-lockfile
pnpm check
pnpm pack:release
These are the commands used when maintaining this collection repository, and end users do not need to run them for skin changing.
Applicable Scenarios and Notes¶
It is suitable for these situations:
- You are already using the DSH Web interface and want the workbench to have a fixed Xiaoyao / new Chinese style identity
- You only want to modify the appearance and do not want skin plugins to insert services, modify model requests, or access conversations
- You want to switch between several community skins and retain the option to revert to the official interface with one click
- You plan to create your own presentation layer skin according to the specifications and submit it to this collection
It is not suitable for these situations:
- You only use DSH in the terminal / TUI and do not use the Web GUI. Each skin’s package.json marks the platform as web
- You expect it to enhance Agent capabilities. It does not provide tools, skills, or model adaptation
- You want to directly use Xiaoyao characters or art for commercial projects. The art is CC BY-NC 4.0, and paid distribution, merchandise, advertising insertion, and commercial image model training require separate written authorization
The license must be viewed by layer. GitHub and the directory page mark the SPDX as NOASSERTION because this repository is not “all content unified MIT”. The对照表 in the README is:
| Content | Applicable License | Important Notes |
| — | — | — |
| Original source code of this project | MIT, Copyright © 2026 Xiaoyao AI / 夕小瑶科技说 and contributors | Copies or