dsh-plugins-coop
August 22, 2026 · View on GitHub
两个原本互斥的 DSH Web 客户端插件——透明 UI(Aqua) 与 VSCode 风格布局——经过双向深度适配后同时启用、互不抵消,并新增 动态壁纸(动图 / 视频 / 网址直链)能力。
仓库内容
| 目录 | 说明 |
|---|---|
transparent-ui/ | Aqua 透明主题插件 v1.3.2(@deepseek-ai/dsh-client-ui-aqua):玻璃质感、云母/兼容双模式、布局+透明联合模式、动态壁纸(GIF/WebP 动图、mp4/webm 视频背景、URL 直链、IndexedDB 重启持久化) |
vscode-layout/ | VSCode 风格布局插件 v0.1.1(@anoslide/dsh-client-vscode-layout):三栏布局、Tab/编辑器/文件树,背景透明化接入 Aqua 协同变量 |
docs/ | 完整协同适配文档:01 冲突根因分析 / 02 修复与适配方案(含逐文件改动位置)/ 03 打包安装与测试清单 / 04 调试排查指南 / 05 校验结果报告(331 项断言 0 失败) |
verify/ | 可复跑的校验脚本(verify-1~10.js、test-coop-logic.js、check-css.js、test-video-e2e.js、test-video-persist-e2e.js、test-image-e2e.js、test-image-large-e2e.js、test-browser-restart-e2e.js) |
协同原理(一句话)
几何归布局,材质归透明。 布局插件负责界面几何(三栏 / Tab / 编辑器),透明插件负责玻璃与透明材质;两者通过一对协同 CSS 变量(--dsh-aqua-frame-bg / --dsh-aqua-pane-bg)、一个联动事件(dsh-layout-change)与一个门控标记(data-dsh-aqua-coop)解耦联动。任一插件缺席/失败,另一方独立降级运行。
功能特性
Aqua 透明主题插件(v1.3.2)
- 云母模式(Mica):悬浮玻璃卡片 + 布局重构,模糊/霜冻可调
- 兼容模式:保持原版布局,仅替换材质为通用玻璃
- 动态壁纸:
- GIF / APNG / WebP 动图:保持动画播放,不被压缩成静态图
- 视频背景:mp4/webm 静音循环铺满全屏
- 网址直链:粘贴 http(s) 图片/视频直链,类型自动识别
- 重启自动恢复:大文件(>1.5MB)存 IndexedDB,小文件存 localStorage
- 粒子鲸鱼:DeepSeek 标志性粒子引擎,深色白色/浅色灰色可切换
- 边缘渐变:页面顶底 5px 模糊渐变带,滚动内容自然融入
VSCode 风格布局插件(v0.1.1)
- 三栏 IDE 布局:左「文件/会话」+ 中多标签查看器 + 右「对话/详情」
- 文件树:懒加载、Git 状态角标、行内重命名、回收站删除、新建文件/文件夹
- 多标签编辑器:服务端 shiki 语法高亮、行号、只读+编辑模式、拖拽排序
- 桌面启动器:Edge app 模式独立窗口、自动拉起/隐藏服务
动态壁纸(v1.3.0 新增,v1.3.2 全量持久化)
- GIF / APNG / WebP 动图:不再被 canvas 压缩成单帧静态图,保持动画播放;
- 视频背景:mp4/webm 静音循环铺满全屏(
<video muted loop playsinline autoplay>); - 网址直链:粘贴 http(s) 图片/视频直链,类型按扩展名自动识别(
.mp4/.webm/.mov/.m3u8→ 视频); - 重启自动恢复:壁纸设置持久化——所有大文件(>1.5MB,大图/大 GIF/大视频)文件本体存 IndexedDB,小图/小视频/直链存 localStorage,重启/刷新后自动恢复,无需重新选择;IndexedDB 不可用时本次会话仍正常播放、不清空已有数据。
设置入口:设置 → 通用设置 → 外观 → 背景 → 壁纸(选择图片/视频文件,或「或输入网址」)。
环境要求
| 依赖 | 版本要求 |
|---|---|
| DeepSeek Harness (dsh) | >=0.1.0-rc.5 |
| Node.js | >=22(校验脚本 E2E 测试需要) |
| 浏览器 | Chromium >=111(支持 color-mix()、:has()、backdrop-filter) |
| 操作系统 | Windows(主要验证平台),macOS/Linux 需微调路径 |
快速开始
方式一:Windows 一键安装(推荐)
Aqua 透明主题:
powershell -ExecutionPolicy Bypass -Command "Invoke-WebRequest 'https://github.com/WYH66666666/DSH-Transparent-UI-Plugin/raw/main/install.ps1' -OutFile install.ps1; .\install.ps1"
VSCode 布局:
# 下载仓库 ZIP 解压后,右键 install.ps1 → 使用 PowerShell 运行
# 或命令行:
powershell -ExecutionPolicy Bypass -File install.ps1
方式二:手动安装
- 安装 Aqua 插件:将
transparent-ui/lib/client.js复制到~/.dsh/profiles/node_modules/@deepseek-ai/dsh-client-ui-aqua/lib/ - 安装布局插件:将
vscode-layout/plugins/下两个包复制到~/.dsh/profiles/node_modules/@anoslide/ - 打补丁:将
vscode-layout/patches/node_modules/@deepseek-ai/覆盖到全局 dsh 安装的对应路径 - 配置:复制
vscode-layout/cordis.patch.yml到~/.dsh/profiles/web/ - 启动:
dsh web后用浏览器打开
详细步骤请参考
docs/03-打包安装与测试清单.md
方式三:macOS / Linux
git clone --depth 1 https://github.com/WYH66666666/dsh-plugins-coop.git
cd dsh-plugins-coop
# 参考 docs/03-打包安装与测试清单.md 中的跨平台说明
校验
# 静态校验(源码/样式/功能标记)
node verify/verify-1-source.js
node verify/verify-2-timing.js
node verify/verify-3-css.js
node verify/verify-4-dualmode.js
node verify/verify-5-degrade.js
node verify/verify-6-persist.js
node verify/verify-7-boundary.js
node verify/verify-8-docs.js
node verify/verify-9-dynamic.js # 动态壁纸 + IndexedDB 持久化专项(80 项)
node verify/verify-10-persist.js # IndexedDB 持久化专项(29 项,含内存 shim 逻辑测试)
# 联合模式逻辑冒烟测试
node verify/test-coop-logic.js # 16 项
# CSS 括号平衡检查
node verify/check-css.js
E2E 端到端测试(需要本地运行 dsh web + Chrome):
node verify/test-video-e2e.js # 视频壁纸恢复
node verify/test-video-persist-e2e.js # 大视频 IndexedDB 持久化重启恢复
node verify/test-image-e2e.js # 图片壁纸恢复
node verify/test-image-large-e2e.js # 大图 IndexedDB 持久化重启恢复
node verify/test-browser-restart-e2e.js # 浏览器完全关闭重启恢复
合计 331 项断言,0 失败(详见
docs/05-校验结果报告.md)
文档
| 文档 | 内容 |
|---|---|
| 01-冲突根因分析报告 | 8 个冲突点逐项分析,故障清单映射 |
| 02-修复与适配方案 | 逐文件改动位置,协同变量/事件/门控设计 |
| 03-打包安装与测试清单 | 三种部署方式,升级重放方法 |
| 04-调试排查指南 | 常见问题排查,维护建议 |
| 05-校验结果报告 | 331 项断言完整报告 |
配置与数据位置
| 内容 | 位置 | 说明 |
|---|---|---|
| profile 补丁配置 | ~/.dsh/profiles/web/cordis.patch.yml | 复制仓库模板,只挂载自研插件,无密钥 |
| MCP server | ~/.dsh/mcp-servers.json | 设置面板「MCP 管理」添加/开关/删除(含密钥,勿提交仓库) |
| 全局人设 | ~/.dsh/global-persona.md | 设置面板「全局人设」编辑 |
| 全局 Skill | ~/.dsh/skills | 设置面板「Skill 管理」开关/删除 |
仓库内所有配置文件均为脱敏模板/示例,真实密钥只存在于本机
~/.dsh。
升级维护
npm update -g @deepseek-ai/dsh 会覆盖全部官方包补丁,重放方法:
- 把
vscode-layout/patches/node_modules/@deepseek-ai/覆盖回全局安装对应路径 - 不要动 本地
~/.dsh/profiles/web/cordis.patch.yml(含你的真实密钥;仓库模板已脱敏) - 重启 dsh
已知问题
- 仅在 Windows 上开发验证;macOS/Linux 需调整路径与 junction 相关说明
- 基于 DeepSeek Harness 二次开发,仅供学习交流
- 旧版浏览器(Chromium <111)可能出现
color-mix()、:has()等 CSS 特性失效
许可证
整合包根目录为 MIT(见 LICENSE);各子项目保留各自 LICENSE 文件(transparent-ui/LICENSE、vscode-layout/LICENSE)。
上游
贡献
欢迎提交 Issue 和 Pull Request。开发前请先阅读 docs/02-修复与适配方案.md 了解协同架构。