给 DeepSeek Harness(DSH) 用的外观预设与壁纸插件:预设墙、美化工作室、壁纸素材库,外加本文档重点介绍的背景自动轮播。
本仓库是 Ayase34/wallpaper-plugin(作者 Yunicon)的二次开发版本,遵循原项目的 MIT 许可。原版能力全部保留,新增功能见「背景轮播」一节。上游说明见 docs/upstream-README.md。
原版能力(沿用)
- 预设墙:卡片式一键换肤,带封面、差异告警
- 美化工作室:令牌 / CSS 补丁 / 主题注册 / 素材部件的深度编辑
- 壁纸素材库:上传图片(单张 ≤20MB,库上限 100 张),分配给三个部件——16:9 聊天背景、1:1 设置卡、1:5 侧栏海报,支持按部件裁剪、明暗分别配置、不透明度
- 图层合成:多图拼贴、多 GIF 时间轴合成真动图
- AI 协同:
preset_*/asset_*工具,支持对话式换肤 - 分享:ZIP 三件套导出(预设 + 封面 + 全部素材内嵌),导入完整还原
本版新增:背景轮播
装好之后,在「设置 → 外观预设」页面顶部会出现「背景轮播」面板:
| 能力 | 说明 |
|---|---|
| 播放列表 | 勾选参与轮播的预设;左侧蓝色序号即播放顺序 |
| 顺序调整 | 每行 ↑ / ↓ 调整先后,「全选 / 清空」批量操作 |
| 切换间隔 | 5 秒 ~ 24 小时,可随时修改,改完即刻按新节奏重排 |
| 播放顺序 | 按列表顺序(循环)/ 随机(不会连续切到同一张) |
| 手工切换 | 你手动点了列表内的某张,轮播以它为起点继续往下走,不打断即时选择 |
| 失效自愈 | 预设被删除或损坏时自动移出列表并提示一次,不会每轮报错 |
| 持久化 | 设置存 localStorage,按浏览器/设备各自独立,刷新后保留 |
实现要点:轮播不引入第二套事实源,切换仍然调用插件原有的 applyPresetById——活动预设照常写入 active.json 并跨窗口广播,所以多窗口、AI 工具调用、手动点击三者行为一致。
已知限制
- 依赖浏览器定时器,只在本页面打开时运行;标签页在后台时浏览器会节流,切换可能延后几秒到一分钟
- 设置不跨设备同步(存在浏览器本地)
dsh plugin --profile <你的 profile> add github:<你的 GitHub 账号>/<仓库名>本地开发时也可以直接把目录交给插件管理器装入:
plugin_manager(action: "install_bundle", target: "<绝对路径>/wallpaper-plugin-rot")
在 profile 的 cordis.patch.yml 中:
- id: wallpaper-plugin
config:
presetsDir: C:/你的预设目录 # 默认 <dshHome>/.ui-presets
assetsDir: C:/你的壁纸库目录 # 默认 <presetsDir>/assets- 设置页 →「外观预设」→ 应用或新建一个预设
- 工作室「素材与部件」上传图片 →「设为聊天背景」一键启用(自动按 16:9 裁剪)
- 回到预设墙顶部勾选几张预设 → 设间隔 → 勾选「启用」,背景就会按顺序自动切换
| 文件 | 变更 |
|---|---|
src/client/rotation.ts |
新增:轮播引擎(顺序/随机、定时、失败自愈、localStorage 持久化) |
src/client/index.tsx |
新增:「背景轮播」面板;在 apply() 中接线并在卸载时释放 |
.dsh-plugin/client.js |
重新构建(esbuild,仅客户端半) |
src/node/* |
未改动:Host 半、HTTP 路由、AI 工具、预设库格式全部与上游一致 |
pnpm install # 需要 esbuild 才能构建客户端半
node scripts/build.mjs # 完整构建(node 半需要 DSH_CHECKOUT 指向 deepseek-harness checkout)
node scripts/selfcheck.mjs仅改客户端时,只需用 esbuild 以 --format=cjs --platform=browser --external:react --jsx=transform 打包 src/client/index.tsx,再套上 window.__ModuleLoader__.load({ id, factory }) 外壳写入 .dsh-plugin/client.js。
- 原插件作者 Yunicon(GitHub: Ayase34),MIT 许可
- 本 fork 仅新增背景轮播功能,其余代码与数据格式归原作者所有
MIT,见 LICENSE。原始版权声明 Copyright (c) 2026 Yunicon 已完整保留;本 fork 的修改部分同样以 MIT 发布。
A fork of Ayase34/wallpaper-plugin (MIT) for DeepSeek Harness, adding background rotation: pick presets, order them, set an interval (5s–24h), choose sequential or random playback, and the wallpaper switches automatically. Rotation reuses the plugin's existing applyPresetById path, so the active preset stays in sync across windows and with the AI tools. Upstream features (preset wall, studio, asset library, layered wallpaper, ZIP sharing) are unchanged.