DeepSeek Harness Plugin

raven3005672/dsh-plugin-shell-skin

Stars ★ 0 Category Themes & Appearance Added 2026-10-22 npm dsh-plugin-shell-skin

Opening animation, three bundled wallpapers, up to nine uploaded wallpapers with random rotation, and live panel and sidebar opacity.

Install

# from npm (prebuilt)

dsh plugin --profile web add dsh-plugin-shell-skin

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:raven3005672/dsh-plugin-shell-skin

Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).

README

This plugin publishes its README in Chinese only.

给 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:

  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

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.