开场动画、三张内置壁纸、最多九张上传壁纸与随机轮换,以及实时生效的面板与侧边栏透明度。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-plugin-shell-skin
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:raven3005672/dsh-plugin-shell-skin
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
给 DeepSeek Harness 换一层外观:开场动画、壁纸、面板透明度,一个设置页全管。
所有效果都在页面里完成,不碰会话、模型请求,也不读写你的文件系统。
名字里的 shell 指应用外壳(app shell),不是侧边栏里的终端;这个插件给整个界面换壁纸和外观,不修改终端配色。
功能特性
| 功能 | 说明 |
|---|---|
| 开场动画 | 页面加载时播放一段约 1.5 秒的动画,然后淡出;系统开启“减少动态效果”时自动跳过 |
| 壁纸 | 自带三张(极光 / 几何弧线 / 鲸娘);也可以上传最多 9 张自己的图片,打开随机模式后每次启动换一张 |
| 面板透明度 | 分别控制浅色 / 深色下侧边栏和面板的透明度,拖动时实时预览 |
| 启动时的底色 | 应用加载前先铺上颜色,避免打开瞬间闪白 |
| 设置页 | 在「设置 → 界面皮肤」里,所有项即时生效 |
| 中英文 | 跟随 DSH 的语言设置,设置页文案与插件卡片都会切换 |
安装
npm(推荐)
dsh plugin --profile web add dsh-plugin-shell-skin
装完重启 DSH——运行中的进程持有内存里的旧插件树。
桌面应用
在「插件」页的安装框里填 dsh-plugin-shell-skin,不用开终端;装完重开应用。
从源码
lib/ 构建产物不入库,clone 后先构建:
git clone git@github.com:raven3005672/dsh-plugin-shell-skin.git
cd dsh-plugin-shell-skin
pnpm install
pnpm build
dsh plugin --profile web add "file:$PWD"
开场动画
三段式:底环呼吸 → 标识亮起 → 整层淡出。可以在设置里关掉,但关闭要刷新一次页面才生效——它改变的是插槽注册,不是纯样式。
壁纸与透明度
深色主题下壁纸会更突出,因为深色面板的默认透明度更低:
壁纸的取值顺序是明确的:
| 自定义壁纸 | 内置壁纸 | 结果 |
|---|---|---|
| 开 + 已选图 | 任意 | 你的图 |
| 开 + 没选图 | 开 | 内置图 |
| 开 + 没选图 | 关 | 无图,只剩首帧底色 |
| 关 | 开 | 内置图 |
| 关 | 关 | 无图,只剩首帧底色 |
选完文件会自动把「自定义壁纸」打开,避免“选了图却没反应”。
设置页
| 设置项 | 何时生效 |
|---|---|
| 开场动画 | 即时(关闭会立刻移除当前动画) |
| 浅色 / 深色面板透明度 | 拖动时实时预览,松手保存 |
| 侧边栏显示壁纸 | 即时 |
| 侧边栏透明度 | 拖动时实时预览,松手保存(两种配色共用) |
| 启动时的底色(浅色 / 深色) | 即时 |
| 自定义壁纸 / 内置壁纸 | 即时 |
| 随机壁纸 | 即时(下次启动从已上传的图片里随机选一张) |
| 图片 | 最多 9 张,支持一次选多张,每张上限 10 MB;点击缩略图切换,悬停右上角可删除 |
| 内置壁纸样式 | 即时;三张缩略图,每行三张 |
| 恢复默认 | 即时重置上面所有设置项(不删除已上传的图片) |
设置页底部还有两个按钮:「报告问题」打开带模板的 GitHub issue;「复制诊断信息」把版本、平台和当前设置复制到剪贴板——不含图片、文件名或任何个人信息。
自定义壁纸存在哪
图片存在当前浏览器的 IndexedDB 里,用 Blob URL 应用到页面,不会上传到 Host:
- 绑定页面 origin:换端口、换浏览器都看不到;
- 不跨设备同步;
- 「移除图片」只删文件,不动开关——删完自动回落到内置图或纯底色。
插件市场
市场索引由 npm 上的已发布版本生成,托管在 GitHub Pages:
https://raven3005672.github.io/dsh-plugin-shell-skin/index.json
在 DSH 里打开 Plugins → More(Experimental plugins)→ Custom plugin markets, 然后 Discover → Add index source,粘贴上面的地址即可浏览和安装。
索引包含 0.2.0 及更早的 0.1.x 版本;每次发新版后需要重新生成索引并更新 gh-pages 分支。
桌面端差异
在 Electron 桌面应用里同样生效,但有两处观感差异:
- macOS 的侧边栏用系统毛玻璃效果,会把面板透明度再乘一次,所以壁纸在侧边栏里更透;
- 桌面端
body本来是透明的(让原生毛玻璃透出来),铺上壁纸后这层毛玻璃就被盖住了。
另外,上传的图片按浏览器地址隔离,Web 和桌面端不会共享。
已知限制
- 开场动画只在页面加载时播放一次,不会在切换设置时重复播放;
- 随机壁纸每次启动只抽一次,调设置不会重新抽;
- 深色面板默认 0.55、浅色 0.85,想更透可以自己调;
- 壁纸按比例铺满窗口,极端长宽比的图片会被裁切(暂不支持平铺或居中);
- 除 macOS 桌面端外,Windows / Linux 上的面板透明和侧边栏透明尚未验证;如果侧边栏不透,属于尚未覆盖的平台,不是配置问题;
- 上传的图片按原尺寸保存,没有做压缩。10 MB 的图解码后可能占用几百 MB 内存,一次放满 9 张时对低内存设备不友好。
开发
pnpm install
pnpm build # lib/index.js + lib/client.js
pnpm typecheck
pnpm smoke # 不启浏览器,加载 client bundle 并断言注册行为
内置壁纸的原图放在 assets/master/(不参与打包),打包用的是 assets/wallpaper-*.jpg;
新增壁纸时改 src/client/index.tsx 的 PRESETS 一处,再补 preset.* 两个语言 key 即可。
边改边看:把 dev.patch.example.yml 复制成 dev.patch.yml,把里面的路径改成
本仓库的绝对路径,然后在 deepseek-harness 目录里挂本地 overlay:
cp dev.patch.example.yml dev.patch.yml # 改 name 为本仓库 lib/index.js 的绝对路径
cd ../deepseek-harness
pnpm dsh web --patch ../dsh-plugin-shell-skin/dev.patch.yml
dev.patch.yml 是本机文件,已在 .gitignore 里,不会提交。
改了前端代码刷新页面即可;改了后端代码或调试用的挂载配置需要重启。
素材与版权声明
插件内置的壁纸插图由作者使用 AI 图像服务生成,原图保存在 assets/master/,不随 npm 包发布。
AI 生成内容的版权状态因司法辖区而异。如果你认为其中某个素材侵犯了你的权益,请通过 Issues 联系作者,附上图片说明与权利依据。确认后我们会尽快替换或移除该素材,并发布新版本。
另外说明:用户自行上传的壁纸只保存在本地浏览器(IndexedDB),不会随插件分发,也不会上传到任何服务器;由用户自行确保其上传内容的合法性。
发布
版本号写在 package.json 里。发布走 GitHub Actions 的 Trusted Publishing(OIDC),不需要本地 token 或 OTP:
- 改
package.json的version,更新CHANGELOG.md,提交; - 打 tag 并推送:
git tag v0.1.4
git push origin v0.1.4
工作流 .github/workflows/publish.yml 会校验 tag 与版本号一致、跑类型检查和 smoke,然后执行 npm publish --provenance。
首次使用需要在 npm 包设置里配置 Trusted publisher(GitHub Actions,仓库 raven3005672/dsh-plugin-shell-skin,工作流文件名 publish.yml)。
本地手动发布(npm publish)仍然可用,但需要网页登录过 2FA。
更新日志
各版本的功能变更与问题修复见 CHANGELOG.md。
许可
链接
同类插件
Small-tailqwq/dsh-deep-whale#maid-atelier★ 2773
DSH Web 鲸鱼娘皮肤系列(深海女仆工坊 maid-atelier)。
elysia395/dsh-wallpaper-engine★ 1792
前置要求:DeepSeek Harness 0.1.5-rc.1+(DSH Desktop ≥ 2.0.7)且 dsh-better-sidebar ≥ 0.19.0,安装或更新本插件前请先更新两者。把本机 Wallpaper Engine 的 Video/Web 壁纸实时播放到聊天界面后方,Scene 壁纸由内置渲染器输出完整场景帧,支持内容分级/类型过滤、自定义壁纸上传与 iOS 液态玻璃设置窗口。
d-dev0101/open-sea-skin★ 402
实时 WebGPU 海洋皮肤,可快捷调节波浪、日光、玻璃不透明度与自动昼夜循环。
kingOfSoySauce/dsh-liang-skin★ 284
自适应推理等级滑块皮肤,将当前模型可用档位映射到 0–30 视觉强度,并同步人物、背景和界面配色。
Nwflower/dsh-claude-style★ 268
为 DSH Web GUI 复刻 Claude Code Desktop 的视觉与交互——象牙白/暖黑双画布、陶烬橙强调色、三字体排版、权限分段控件与品牌切换,以 CSS 覆盖与客户端 DOM override 实现。
RevolutionLA/dsh-dream-skin★ 265
一键换肤插件:8 套原创主题、背景壁纸(透明度/模糊)、强调色、主题包导入/导出+分享链接、收藏与随机,纯原生 token 系统接入。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。