DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Skin Engine — DeepSeek Harness 插件(DSH Plugin)
← Plugins

@yeesy369/dsh-skin-engine

Skin Engine

换肤中心 skin-engine:上传背景图作为 DSH 应用皮肤,叠加多种光标交互动态背景(适用于 DeepSeek Harness Web UI 的皮肤/主题/背景插件)

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add @yeesy369/dsh-skin-engine@0.7.0
README兼容性版本

兼容性与来源证明

Skin Engine 以 @yeesy369/dsh-skin-engine 发布,当前版本为 0.7.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/9/20

版本

0.7.0stable
2026/8/15
0.3.0stable
2026/8/15
0.2.0stable
2026/8/14
查看其余 2 个版本收起版本
0.1.1stable
2026/8/14
0.1.0stable
2026/8/14

相关插件

正在加载相关插件…

最新版
0.7.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
101.5 kB
文件数
7
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 0
周下载
45
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profile用于 Agent Teams Remote 和 UI 插件的实验性 Web 配置层Client Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。Pet@linxin666/dsh-pet适用于 dsh Web GUI 的多宠物伴侣插件:由注册表驱动的浮动宠物,可响应模型活动,支持为每只宠物命名、抚摸/喂食互动以及亲密度评分

README

dsh-skin-engine 🎨

给 DeepSeek Harness(dsh)Web UI 换皮肤的客户端插件。装上之后,侧边栏底部会出现一个「🎨 换肤中心」按钮:上传一张背景图,插件自动提取图片的主色、强调色和明暗,把面板、输入框、气泡、菜单、按钮等主题 token 全部换成图片的配色,并叠加跟随光标变化的动态背景。

想让换肤中心多一种特效?不用写插件——按自定义预设格式写一个 .js 文件,在换肤中心「+添加预设」里加载即可(见下方怎么自己加特效)。

功能

  • 上传背景图:点击选择或拖拽 jpg / png / webp / gif,即时预览、即时生效
  • 智能取色:自动从图片提取主色、强调色和明暗,文字自动黑/白
  • 10 种光标动态背景:静态、光晕跟随、涟漪扩散、粒子拖尾、极光流动、星空视差,以及 4 个 Genesis 光标引擎预置——量子霓虹(RGB 色散)、液态水银(Verlet 质点链 + 果冻粘连)、星尘引力(引力涡流粒子)、包豪斯网格(网格吸附 + 磁吸边框)
  • 效果调节:图片不透明度、面板通透度、背景模糊、暗化程度四个滑杆
  • 自动保存:皮肤(图片 + 全部设置)保存在本机浏览器,刷新页面后自动恢复;图片过大时自动压缩后保存
  • 自定义特效:写一个 .js 文件就能给自己加一种光标动态效果(统一格式 + 换肤中心一键加载),不用写插件
  • 随时还原:支持移除图片、恢复默认
  • 兼容降级:运行时自动检测 dsh 客户端能力,缺少主题/插槽接口时降级运行而不是报错

安装(npm 部署)

第 0 步 · 检查 dsh

打开终端,运行:

dsh --version

有输出(例如 0.1.0-rc.6)说明 dsh 已安装。如果提示“不是内部或外部命令”或 command not found,先安装 dsh:

npm i -g @deepseek-ai/dsh

装完重新打开终端,再运行一次 dsh --version 确认。

第 1 步 · 安装插件

在任意终端执行:

dsh plugin --profile web add @yeesy369/dsh-skin-engine

第 2 步 · 重启 dsh

在运行 dsh web 的终端按 Ctrl+C,然后重新运行:

dsh web

第 3 步 · 开始使用

打开 dsh 网页,点击左侧边栏底部的「🎨 换肤中心」按钮,上传一张图片,或点“试试示例背景”,界面会立刻换肤。

使用说明

操作效果
上传或拖入图片整个界面换成图片的配色,并自动保存到本机浏览器
点击动态背景卡片切换 10 种光标动态效果
拖动「图片不透明度」滑杆调节背景图片的显示强度
拖动「面板通透度」滑杆调节面板的透明程度
拖动「背景模糊」滑杆模糊背景图片
拖动「暗化程度」滑杆加深背景暗色,突出前景内容
刷新页面 / 重启 dsh web自动恢复上次的皮肤
点「+添加预设」粘贴源码或选择 .js 文件,加载第三方/自制预设(自动保存)
点「移除图片」恢复 dsh 默认外观(同时清掉已保存的图片)
点「恢复默认」重置所有皮肤设置(同时清掉已保存的皮肤)

光标算法预置(Genesis Cursor Engine)

后 4 种动态背景来自次世代可组合光标系统设计文档(Genesis Cursor Engine)的算法模型,配色从上传图片提取,不写死:

预置底层算法效果
量子霓虹LERP + 速度投影 + RGB 双通道分离(色散)准星随速度沿运动方向拉伸旋转,主色/补色双通道错位叠出霓虹色散
液态水银Verlet 积分 + 距离约束 + 阈值融球(果冻滤镜)6 个质点组成的链珠跟随光标,经 blur + contrast 滤镜粘连成液态拖尾
星尘引力径向万有引力 + 正交切向涡流 + 空气阻尼80 个预分配粒子(对象池)被光标引力卷成旋转星云,色相取图片主色 ±30°
包豪斯网格8px 模块化网格吸附 + 磁吸吸附白色方块在 8px 网格上跳动,靠近按钮/链接时吸附到其边界盒(mix-blend-mode: difference)

工程实现遵循设计文档的性能原则:事件只更新目标坐标、物理与渲染统一由 requestAnimationFrame 驱动;DOM 光标用 translate3d + will-change 走 GPU 合成层;粒子定长预分配,运行时不做 new/push/splice;触摸屏((hover: none) and (pointer: coarse))自动关闭光标渲染管线以省电。

怎么自己加特效

想给换肤中心加一种自己的动态效果?一个 .js 文件就够了,格式见 docs/PRESET_FORMAT.md:

// my-preset.js
window.__DSH_SKIN_PRESETS__ = window.__DSH_SKIN_PRESETS__ || {};
window.__DSH_SKIN_PRESETS__['my-preset'] = {
  id: 'my-preset',
  name: '我的预设',
  desc: '一句话描述',
  render: function (ctx) {   // 每帧调用;ctx.g 是垫在应用之下的透明 canvas
    ctx.g.beginPath();
    ctx.g.arc(ctx.mx, ctx.my, 20, 0, Math.PI * 2);
    ctx.g.fillStyle = 'rgba(255,255,255,0.5)';
    ctx.g.fill();
  },
  // 可选:onEnter / onExit / onPointerMove / onPointerDown / canvasFilter / author / version
};

加载方式(二选一):

方式操作生效
换肤中心 UI(推荐)「+添加预设」→ 粘贴源码,或「从 .js 文件选择」立即生效,自动保存(刷新后仍在)
命令行dsh-skin-engine preset add ./my-preset.js重启 dsh 生效

最快上手:dsh-skin-engine preset new my-neon 会直接生成一个 my-neon.js 骨架文件;或者从仓库 presets/ 里复制一个官方特效(10 个内置特效的独立文件,同源)改配色改参数。

命令行工具:

dsh-skin-engine preset new my-neon        # 生成预设文件骨架
dsh-skin-engine preset validate x.js      # 校验格式(写完先跑一遍)
dsh-skin-engine preset add x.js           # 安装到 profile
dsh-skin-engine preset list / remove <id> # 管理已安装的预设

删除:UI 里自定义预设卡片右上角 ✕,或命令行 preset remove。安全提醒:预设代码会在你的页面里直接执行,只加载自己写的或可信来源的代码。

常见问题

入口在哪?

左侧边栏最下面,是一个「🎨 换肤中心」按钮。

上传图片后没变化?

依次检查:

  1. 是否已经重启过 dsh web
  2. 是否安装成功:打开 ~/.dsh/profiles/web/package.json,确认 dependencies 和 dsh.profile.bundles 里都有 @yeesy369/dsh-skin-engine
  3. 是否输出了兼容性警告:打开浏览器控制台(F12),若出现 [dsh-skin-engine] 开头的警告,说明当前 dsh 版本缺少部分接口,插件已降级运行(见下方「兼容性」)

皮肤能保存吗?

能。上传的图片和所有设置会自动保存在本机浏览器的 localStorage 里,刷新页面或重启 dsh web 后自动恢复;插件本身随 profile 常驻,不需要重复安装。

两点说明:

  • 图片优先原样保存(GIF 动画得以保留);超出 localStorage 配额(约 5MB)时,插件会自动把图片压缩成 JPEG 再保存。若压缩后仍然存不下,控制台会给出警告,本次皮肤仅当前页面有效。
  • 点「移除图片」或「恢复默认」会同时清掉已保存的皮肤。

皮肤存在哪里?隐私安全吗?

图片和设置只存在你本机浏览器的 localStorage(该 dsh 网页的源下),不会上传到任何服务器,换浏览器或清除站点数据后会丢失。介意隐私的话,不要上传敏感图片作为背景即可。

怎么卸载?

dsh plugin --profile web remove @yeesy369/dsh-skin-engine

然后重启 dsh web。已保存的皮肤数据会留在浏览器 localStorage 里,如需一并清除,可在卸载前先点一次「恢复默认」。

能装到别的 profile 吗?

可以,把命令里的 web 换成你的 profile 名:

dsh plugin --profile <profile 名> add @yeesy369/dsh-skin-engine

不过这是 Web UI 插件,建议装在 web profile。

兼容性

项说明
支持范围dsh >=0.1.0-rc.6 且 <0.2.0(声明在 package.json 的 dsh.compat)
实测版本0.1.0-rc.6
依赖的接口theme.overrideTokens、插槽 shell.overlay 与 sidebar.footer.action、dsh.bundle.patch 打包机制

安装时:dsh-skin-engine.mjs 安装器会自动运行 dsh --version 并核对支持范围,超出范围给出警告(--strict 则直接中止)。用 dsh plugin add 安装则跳过该检查。

运行时:插件启动时做能力检测,而不是假设接口一定存在——

  • 缺 theme.overrideTokens:降级为「只显示背景图片和光标动态效果,不覆盖主题配色」;
  • 缺 slots.inject:降级为「不注册侧边栏入口和弹窗」。

两种情况都只会在浏览器控制台输出 [dsh-skin-engine] 警告,不会报错崩溃。如果你在未列出的 dsh 版本上使用正常,欢迎在 Issues 里告知,我们会更新支持范围。

已知限制:换肤依赖 dsh Web UI 的 DOM 结构(#root > div:first-child 透明化 + z-index:-1 背景层),dsh 未来大版本改动布局时可能失效——这也是支持范围收窄到 0.1.x 的原因之一。

项目结构

文件作用
lib/client.js浏览器半区,换肤中心全部逻辑(预设引擎 + 持久化 + 兼容性检测)
lib/index.jsnode 半区,空的 apply,让插件进入 cordis/Loader
cordis.patch.yml包被列入 profile bundles 时自动插入 ui-skin-engine
package.json插件元数据、dsh.client 声明、dsh.compat 兼容范围、exports
dsh-skin-engine.mjs独立安装器(dsh 版本检查 + preset 自定义预设工具)
presets/10 个内置特效的独立文件形态 + template.js 模板,可直接下载改造、加载
docs/PRESET_FORMAT.md自定义预设格式规范(字段、ctx、加载方式)

工作原理

  • 插件通过 theme.overrideTokens 把 dsh 的主题 token 全量换成从图片提取的配色
  • 背景层是一个 z-index:-1 的全屏层,垫在应用内容下面
  • 预设引擎:所有动画模式统一走 spec 接口(render(ctx) + 生命周期钩子),内置示例内嵌、外部预设走 window.__DSH_SKIN_PRESETS__ 全局注册表、本地自定义预设存 localStorage,三路合一——用户写一个 .js 文件即可注册新特效
  • 动态背景绘制在一个全屏 canvas 上,用 requestAnimationFrame 驱动;事件只更新光标目标坐标,物理与渲染统一在帧循环内完成(文档要求)
  • Genesis 预置遵循性能原则:粒子定长预分配(对象池)、DOM 光标走 translate3d + will-change、触摸屏自动关闭光标渲染管线
  • 皮肤保存在浏览器 localStorage(dsh.skin.state.v1 / dsh.skin.image.v1),启动时自动恢复,超配额时压缩重试
  • 启动时做能力检测(theme.overrideTokens / slots.inject),缺失时降级运行
  • 所有 DOM、事件监听、token 覆盖都会在插件卸载时自动清理

许可证

MIT