dsh-uiskin-theme
UI & Experiencechouxiaohuai/dsh-uiskin-theme
A static theme bundle for DeepSeek Harness Web providing an ocean fantasy visual style: ocean background, glass bubbles, ocean-styled sidebar, whale settings button, and gradient model text. Loads automatically on startup and persists across restarts.
- deepseek-harness
- deepseek-harness-plugin
- dsh
- dsh-plugin
- theme
- theme-ui
README
uiskin-theme — Blue Glass Theme / 海洋幻想主题
uiskin-theme is a static plugin bundle (profile bundle) for DeepSeek Harness Web: crisp ocean background, glass bubbles, an ocean-styled sidebar (with a gold-gradient「HARNESS」wordmark and a bottom cartoon character), a whale settings button, and gradient model text.
uiskin-theme 是 DeepSeek Harness Web 的静态插件包(profile bundle):清澈的海洋背景、玻璃气泡、海洋侧边栏(含金色渐变「HARNESS」字标与底部卡通角色)、鲸鱼设置按钮、渐变模型文字。
Unlike dynamic plugins (cordis_define defined at runtime, lost on restart), this package is installed into the profile as an npm package: it loads automatically on every start, survives restarts, and needs no manual approval.
与动态插件(cordis_define 现场定义、重启即丢)不同,本包以 npm 包形式装进 profile,每次启动自动加载,重启不丢,无需人工批准。


License / 许可证 This theme is an original work and is All Rights Reserved — it is NOT open source. Without written permission from the author, you may not copy, modify, redistribute, create derivative works, or use it commercially; it may only be installed as-is and used personally.
本主题为原创作品,保留所有权利(All Rights Reserved),非开源协议。 未经作者书面许可,不得复制、修改、再分发、二次创作或用于商业用途;仅允许按原样安装与个人使用。
Installation / 安装
You need Node.js and pnpm, plus a working dsh CLI (npx @deepseek-ai/dsh also works).
需要已安装 Node.js 与 pnpm,并已能运行 dsh CLI(npx @deepseek-ai/dsh 亦可)。
# Install from GitHub (replace USERNAME with your GitHub username)
# 从 GitHub 安装(把 USERNAME 换成你的 GitHub 用户名)
dsh plugin --profile web add github:USERNAME/dsh-uiskin-theme
# Or a specific branch / commit / 或指定分支 / 提交
dsh plugin --profile web add github:USERNAME/dsh-uiskin-theme#main
After installing, restart dsh web (or it takes effect on the next start).
装完后重启 dsh web(或下次启动时)即自动生效。
What the install does: dsh plugin runs pnpm inside ~/.dsh/profiles/web/, sees the package's dsh.bundle.patch declaration, adds it to dsh.profile.bundles, and it is loaded by boot at startup.
安装做了什么:dsh plugin 会在 ~/.dsh/profiles/web/ 里执行 pnpm 安装,识别到包的 dsh.bundle.patch 声明后把它加入 dsh.profile.bundles,启动时由 boot 加载。
Uninstall / 卸载
dsh plugin --profile web remove uiskin-theme
Repo name vs package name / 仓库名与包名 The GitHub repository is
dsh-uiskin-theme(previouslyuiskin-theme), while the installed package name isuiskin-theme(from thenamefield ofpackage.json). So install withgithub:USERNAME/dsh-uiskin-themeand uninstall withremove uiskin-theme.GitHub 仓库为
dsh-uiskin-theme(曾用名uiskin-theme),而安装后的插件包名是uiskin-theme(取自package.json的name)。因此安装用github:USERNAME/dsh-uiskin-theme,卸载用remove uiskin-theme。
How it works / 工作原理
package.json dsh.bundle.patch → cordis.patch.yml (registers the boot row / 注册启动行)
dsh.client → declares the browser half /plugins/uiskin-theme/client.js
声明浏览器半 /plugins/uiskin-theme/client.js
cordis.patch.yml - insert: [{ id: uiskin-theme, name: uiskin-theme }]
lib/index.js Host half: no-op (the whole skin lives in the browser half)
Host 半:空实现(皮肤全在浏览器侧)
lib/client.js Browser half: injects CSS + inlined data-URI assets + slot components
浏览器半:注入 CSS + 内联 data URI 素材 + 槽位组件
assets/ Source images (inlined as base64 at build time; no disk reads or
absolute paths at runtime)
原始图片(构建时内联为 base64,运行时不读磁盘、无绝对路径)
Local development / rebuild / 本地开发 / 重新构建
npm install # only what the build script needs (this package has no runtime deps)
# 仅安装 scripts 运行所需(本包无运行时依赖)
npm run build # inlines assets/ into data URIs, regenerating lib/client.js
# 把 assets/ 内联成 data URI,重新生成 lib/client.js
To restyle the theme, edit the CSS / components in scripts/client.template.js, or replace the images under assets/ and rebuild. Remember to commit lib/client.js along with the change — someone installing from git will not (and does not need to) run the build script.
修改皮肤请编辑 scripts/client.template.js 里的 CSS / 组件,或替换 assets/ 下的图片后重新构建。改完记得把 lib/client.js 一起提交——别人从 git 安装时不会(也不需要)执行构建脚本。
Notes / 注意事项
- Assets are inlined as base64 into
lib/client.js(~1.1 MB) and loaded once, suitable for small skin images. To shrink it, compress the images underassets/first and rebuild.- 素材以 base64 内联在
lib/client.js(约 1.1 MB),加载一次即可,适合皮肤类小图片。若想更小,可先把assets/里的图压缩再构建。
- 素材以 base64 内联在
- DSH is currently a
0.1.1-rcpre-release; the plugin API (dsh.bundle/dsh.client/ slots / theme services) may change. If you hit compatibility issues after upgrading DSH, watch this repo's updates.- DSH 目前是
0.1.1-rc预发布版本,插件 API(dsh.bundle/dsh.client/ slots / theme 服务)可能随版本调整;升级 DSH 后如遇兼容问题,关注本仓库的更新。
- DSH 目前是
- This package only depends on
@deepseek-ai/cordis(peer) andreact(peer); noallowBuildsapproval is needed to run its build scripts.- 本包只依赖
@deepseek-ai/cordis(peer)与react(peer),无需allowBuilds放行构建脚本。
- 本包只依赖
Other / 其他
- Making this takes effort, and your support is what drives us. If you like it, please give it a star; for suggestions or bugs, contact shutiaochou@gmail.com.
- 制作不易,您的支持才是我们开发的动力。如果喜欢,欢迎点一个 star;如需提建议或反馈 Bug,请联系 shutiaochou@gmail.com。