dsh-plugins-coop

August 22, 2026 · View on GitHub

License: MIT Node.js Platform

两个原本互斥的 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.jstest-coop-logic.jscheck-css.jstest-video-e2e.jstest-video-persist-e2e.jstest-image-e2e.jstest-image-large-e2e.jstest-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

方式二:手动安装

  1. 安装 Aqua 插件:将 transparent-ui/lib/client.js 复制到 ~/.dsh/profiles/node_modules/@deepseek-ai/dsh-client-ui-aqua/lib/
  2. 安装布局插件:将 vscode-layout/plugins/ 下两个包复制到 ~/.dsh/profiles/node_modules/@anoslide/
  3. 打补丁:将 vscode-layout/patches/node_modules/@deepseek-ai/ 覆盖到全局 dsh 安装的对应路径
  4. 配置:复制 vscode-layout/cordis.patch.yml~/.dsh/profiles/web/
  5. 启动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 会覆盖全部官方包补丁,重放方法:

  1. vscode-layout/patches/node_modules/@deepseek-ai/ 覆盖回全局安装对应路径
  2. 不要动 本地 ~/.dsh/profiles/web/cordis.patch.yml(含你的真实密钥;仓库模板已脱敏)
  3. 重启 dsh

已知问题

  • 仅在 Windows 上开发验证;macOS/Linux 需调整路径与 junction 相关说明
  • 基于 DeepSeek Harness 二次开发,仅供学习交流
  • 旧版浏览器(Chromium <111)可能出现 color-mix():has() 等 CSS 特性失效

许可证

整合包根目录为 MIT(见 LICENSE);各子项目保留各自 LICENSE 文件(transparent-ui/LICENSEvscode-layout/LICENSE)。

上游

贡献

欢迎提交 Issue 和 Pull Request。开发前请先阅读 docs/02-修复与适配方案.md 了解协同架构。