raven3005672/dsh-plugin-shell-skin ↗★ 0

dsh-plugin-shell-skin

A browser-only skin for DeepSeek Harness: a startup flourish and a custom app background. 适合仅在浏览器中使用DSH并希望美化界面背景与启动效果的用户。

패키지
dsh-plugin-shell-skin
호환성
미검증
버전
0.1.5
라이선스
MIT
최근 업데이트
2026. 10. 20.

설치

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:raven3005672/dsh-plugin-shell-skin

dsh-plugin-shell-skin 🐚

npm version npm downloads

platform

license

给 DeepSeek Harness 换一层壳:开场动画、壁纸、面板透明度,一个设置页全管。

全部逻辑跑在浏览器半边,不碰会话、模型请求、工具,也不读写你的文件系统。

浅色主题:壁纸透过半透明面板

功能特性

功能说明
开场动画页面加载时播放一段约 1.5 秒的入场动画,然后淡出;尊重 prefers-reduced-motion
壁纸自带一张,也可以选你自己电脑里的图片,只存在浏览器里
面板透明度分别控制浅色 / 深色下侧栏和面板的透明度,拖动时实时预览
首帧底色应用挂载前先刷上底色,避免启动瞬间闪白
设置页集成在插件配置页里,所有项即时生效(开关除外,见下方限制)
中英文跟随 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"

开场动画

启动动画

三段式:底环呼吸 → 标识亮起 → 整层淡出。可以在设置里关掉,但关闭要刷新一次页面才生效——它改变的是插槽注册,不是纯样式。

壁纸与透明度

深色主题下壁纸会更突出,因为深色面板的默认透明度更低:

深色主题:壁纸与半透明面板

壁纸的取值顺序是明确的:

自定义壁纸内置壁纸结果
开 + 已选图任意你的图
开 + 没选图开内置图
开 + 没选图关无图,只剩首帧底色
关开内置图
关关无图,只剩首帧底色

选完文件会自动把「自定义壁纸」打开,避免“选了图却没反应”。

设置页

设置页(浅色)

设置页(深色)

设置项何时生效
开场动画下次加载
浅色 / 深色透明度拖动时实时预览,松手保存
侧边栏显示壁纸即时
侧边栏透明度拖动时实时预览,松手保存(两种配色共用)
首帧底色(浅色 / 深色)即时
自定义壁纸 / 内置壁纸即时
图片选中并存入浏览器后即时

自定义壁纸存在哪

图片存在当前浏览器的 IndexedDB 里,用 Blob URL 应用到页面,不会上传到 Host:

  • 绑定页面 origin:换端口、换浏览器都看不到;
  • 不跨设备同步;
  • 「移除图片」只删文件,不动开关——删完自动回落到内置图或纯底色。

桌面端差异

在 Electron 桌面应用里同样生效,但有两处观感差异:

  • macOS 的侧栏有官方的 vibrancy 混合规则,会把面板透明度再乘一次,所以壁纸在侧栏里更透;
  • 桌面端 body 本来是透明的(让原生毛玻璃透出来),铺上壁纸后这层毛玻璃就被盖住了。

另外,上传的图片按 origin 隔离,Web 和桌面端不会共享。

已知限制

  • 开场动画开关不即时:它控制 shell.overlay 的注册,改动后需要刷新;
  • 深色面板默认 0.55、浅色 0.85,想更透可以自己调;
  • 壁纸按 cover 铺满,极端长宽比会被裁切(暂不支持平铺 / 居中等模式)。

开发

pnpm install
pnpm build        # lib/index.js + lib/client.js
pnpm typecheck
pnpm smoke        # 不启浏览器,加载 client bundle 并断言注册行为

边改边看:在 deepseek-harness 目录里挂本地 overlay,不用装进 profile:

pnpm dsh web --patch ../dsh-plugin-shell-skin/dev.patch.yml

改了 client 半边刷新页面即可;改了 host 半边或 overlay 需要重启。

素材与版权声明

插件内置的默认壁纸图片来自网络,仅用于演示和装饰目的,作者未持有该图片的明确授权,版权归原作者所有。

如果你是版权方,认为这张图片的使用侵犯了你的权益,请通过 Issues 联系作者,附上图片说明与权利依据。确认后我们会尽快替换或移除该素材,并发布新版本。

另外说明:用户自行上传的壁纸只保存在本地浏览器(IndexedDB),不会随插件分发,也不会上传到任何服务器;由用户自行确保其上传内容的合法性。

发布

版本号写在 package.json 里。发布走 GitHub Actions 的 Trusted Publishing(OIDC),不需要本地 token 或 OTP:

  1. 改 package.json 的 version,更新 CHANGELOG.md,提交;
  2. 打 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。

许可

MIT