把 DSH WebUI 一键换成 2006 年 QQ 客户端外观的可切换皮肤,注册珊瑚蓝主题并全局应用 QQ2006 视觉。
- 语言
- TypeScript
- License
- MIT
- 分支
- main
安装
$ dsh plugin --profile web add --allow-build=@dsh-external/dsh-qq2006 github:LaplaceYoung/dsh-qq2006在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程
对话式安装
帮我安装 DeepSeek Harness 插件 LaplaceYoung/dsh-qq2006:先查看仓库 https://github.com/LaplaceYoung/dsh-qq2006 确认安全性,然后执行安装命令并验证插件加载成功。
把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。
一句话定位
把 DeepSeek Harness 的 WebUI 一键换成 2006 年 QQ 客户端外观的皮肤插件:在主题服务里注册一个珊瑚蓝色的「QQ2006 皮肤」选项,并把激活状态镜像到 body 上以加载全局复古皮肤表。
核心能力
- 在 DSH 外观设置里新增「QQ2006 皮肤」选项,作为第 4 个主题加入主题注册表
- 通过
--dsw-alias-*系列珊瑚蓝色 token 覆盖,将整个 WebUI 的背景、边框、按钮、文字颜色替换为 2006 年 QQ 的蓝白配色 - 镜像激活主题到
body[data-ds-skin='qq2006']属性,驱动全局皮肤表的复古字体、九宫格窗口框、三态标题按钮、渐变.qq-btn等样式生效 - 把 QQ2006 主题偏好写入 localStorage
dsh.theme,刷新/重启后保持;切换其他主题时自动撤销属性,对默认皮肤零污染 - 在源码 monorepo 形态下还覆盖登录窗、主面板、聊天窗 chrome、列表式消息、QQ 秀右侧栏等组件级外观补丁
技术实现
- 语言: TypeScript(ESM,预构建产物为
lib/下 JS) - 关键依赖:
@deepseek-ai/cordis(Context 与主题服务扩展点)、@deepseek-ai/dsh-client-ui-theme(主题注册服务、theme/change事件)、@deepseek-ai/dsh-invariants(包级 invariant 注册),均为 peerDependencies - 架构模式: 通过
cordis.patch.yml在浏览器客户端列表里注册一个ui-skin-qq2006行;客户端插件apply(ctx)先调用ctx.theme.register注册主题,再监听theme/change事件把激活主题 id 镜像到 body 属性上;所有 CSS 样式以body[data-ds-skin='qq2006']作用域隔离 - 入口文件: 主机入口
src/index.ts(空实现),客户端入口src/client/index.ts,皮肤样式表src/styles/qq2006.css
适用场景
想在浏览器里使用 DSH 又怀念 2006 年 QQ 蓝色小企鹅外观的用户:装上插件后切到「QQ2006 皮肤」就能立刻看到复古蓝白配色和九宫格窗口框;想看完整登录窗/聊天窗 chrome 改造效果、需要具备 DSH 源码构建能力的开发者,可走 monorepo skin/qq2006 分支获得组件级皮肤。
前置依赖与兼容性
| 依赖 | 最低版本 | 说明 |
|---|---|---|
| DSH 平台 | 未声明(peerDeps 要求) | 必须随 Web 客户端插件机制一起运行;强依赖 @deepseek-ai/dsh-client-ui-theme(注入 client-side),可选 @deepseek-ai/dsh-invariants |
| 平台 | 仅浏览器(platform: web) | 在 WebUI 客户端列表里注册为 client-plugin,不影响 CLI/Host/桌面/移动端 |
| 原生模块 | 无 | 纯 JS/CSS 皮肤,无 node-pty、node:sqlite 等原生依赖 |
| Node | 未声明 | package.json 无 engines 字段,未明确最低 Node 版本 |
安装方式
dsh plugin --profile web add github:LaplaceYoung/dsh-qq2006
配置项
本插件无需额外配置。安装后在 DSH WebUI 设置 → 外观里直接选中「QQ2006 皮肤」即可生效;没有 Schema、环境变量或配置文件需要填写。
常见问题
Q: 安装后在哪里切换到 QQ2006 皮肤?
A: 在 DSH WebUI 的「设置 → 外观」里,第 4 个选项「QQ2006 皮肤」就是它。切换后偏好写入 localStorage dsh.theme,刷新和重启都会保留;随时可以切回默认浅色/深色/跟随系统,皮肤只在你主动启用时生效。
Q: 安装这个插件后会立刻看到完整的 2006 年 QQ 界面吗?
A: 不一定。通过 dsh plugin --profile web add 安装的发行版只包含主题注册、珊瑚蓝 token 换肤和全局皮肤表(字体、滚动条、九宫格工具类、.qq-btn 等)。登录窗、主面板、聊天窗的完整组件级皮肤改造分散在 DSH 源码仓库,需要切到 skin/qq2006 分支构建,或对上游 master 应用 patches/qq2006-skin.patch。
Q: 它会改坏默认皮肤吗?
A: 不会。所有皮肤样式都以 body[data-ds-skin='qq2006'] 为祖先作用域,默认皮肤下这些规则全部不生效;插件也只在主题激活时给 body 加上这个属性,并负责撤销,恢复默认皮肤时不残留污染。
Q: 用 QQ2006 皮肤下的图片、按钮、音效可以商用吗?
A: 不可以。assets/qq2006/ 下的素材来自腾讯原版 QQ2006 安装包,按上游 mengkunsoft/QQ2006 项目许可,仅供学习交流、请勿商用。
Q: 这个插件支持桌面端或移动端吗?
A: 它是一个 Web 端客户端插件(platform: web),只为浏览器内的 DSH WebUI 换肤,不影响 CLI、Host、桌面或移动端入口。
Q: 安装后还需要配置什么?
A: 无需配置。安装后只需在外观里选中 QQ2006 皮肤即可生效;没有 Schema、环境变量或配置文件需要填写。
上手难度
入门 — 安装一条命令、勾选一个主题即可看到效果,不需要写代码或读 API。
已知问题与限制
- 通过
dsh plugin --profile web add安装的发行版只包含主题注册、全局皮肤表和 token 换肤,不包含登录窗、面板栏、聊天窗 chrome、列表式消息、QQ 秀右栏等组件级皮肤改造(来源:README.md:51-79);这些效果需通过源码 monoreposkin/qq2006分支或对上游 master 应用patches/qq2006-skin.patch才能获得 - 主题服务
restorePreference仅接受内置light/dark/system三选项,已持久化的qq2006在服务构造时会先回落为system,再由插件自己从 localStorage 读出并重新设置主题(来源:src/client/index.ts:133-147) lib/下的预构建产物直接在仓库里提交;npm run bundle命令不会本地重新打包,构建发生在 DSH monorepo 中(来源:package.json:60-62)- 静态素材版权归腾讯所有,仅供学习交流、请勿商用(来源:assets/qq2006/README.txt:5-9)
把 DeepSeek Harness 的 WebUI 一键变回 2006 年的 QQ 客户端。
QQ2006 皮肤插件:注册珊瑚蓝主题、镜像 body[data-ds-skin]、全局皮肤表 + 完整组件级补丁,从登录窗到聊天窗口全链路还原 2006 年的那个蓝色小企鹅。可切换、可持久化、默认皮肤零污染。
聊天窗口:好友信息条 + 原版九宫格标题带 + 列表式消息 + QQ 秀右侧栏
⚠️ 素材来自 mengkunsoft/QQ2006,为腾讯原版素材,仅供学习交流、请勿商用(出处见
assets/qq2006/README.txt)。
✨ 特性
- 可切换皮肤:注册为 DSH 外观行第 4 个主题(QQ2006 皮肤),偏好持久化,刷新/重启保持;随时切回默认皮肤,零污染契约(所有补丁锚定
body[data-ds-skin='qq2006']) - QQ2006 登录窗:九宫格窗口框、三态按钮、记住密码/自动登录联动、连接中动态点动画
- 主面板:用户头部(50×50 蓝描边头像 + 6 个 mini 钮)、面板栏 10 钮(27×37 原版底条格)、分组/好友行(原版行高与 hover)、右键菜单
- 聊天窗口:标题栏 4 钮(含 65×24 原版"菜单"文字钮)、大工具栏 12 钮、小工具栏 8 钮(全部原版素材、原生尺寸)
- 原版消息形式:列表式消息(自己绿色昵称 / 对方深蓝紫昵称 + HH:MM:SS 时间 + 黑色正文),宋体渲染
- QQ 秀右侧栏:对方形象 / 个人空间(真实会话统计)/ 我的形象,默认展开
- 换肤 4 预设:经典蓝 / 粉红 / 薄荷绿 / 紫罗兰,窗口内实时切换
- 真实交互:Alt+S 发送、右键复制、hover 操作行(复制/引用/转发)、提示音、QQ 黄色反馈 tip
🚀 快速开始
方式一:npm 发行版(dsh plugin 安装)
仓库已包含预构建产物(lib/),发行版用户可直接从 GitHub 安装:
dsh plugin --profile web add https://github.com/LaplaceYoung/dsh-qq2006
启用后获得:qq2006 主题注册(全 UI 珊瑚蓝 token 换肤)+ 全局皮肤表(复古字体、滚动条、九宫格工具类、.qq-btn 三态钮)。
能力边界:组件级皮肤(登录窗、面板栏、聊天窗 chrome、列表式消息、QQ 秀右栏)改的是宿主 UI 包的源码,npm 发行版是预构建产物,无法通过插件机制注入。这些效果需要方式二。
方式二:源码 monorepo(完整效果)
完整皮肤实现位于 fork 的 skin/qq2006 分支:
git clone https://github.com/LaplaceYoung/deepseek-harness.git
cd deepseek-harness
git checkout skin/qq2006
pnpm install
pnpm run build
node --import tsx/esm apps/cli/src/bin.ts web
打开 http://127.0.0.1:3080 → 设置 → 外观 → QQ2006 皮肤。
已有 DSH 源码 checkout 的用户,也可以直接应用补丁文件:git apply patches/qq2006-skin.patch(基于上游 deepseek-ai/deepseek-harness master)。
| 能力 | npm 发行版(方式一) | 源码 monorepo(方式二) |
|---|---|---|
| qq2006 主题 + 珊瑚蓝 token 换肤 | ✅ | ✅ |
| 全局皮肤表(字体/滚动条/九宫格类) | ✅ | ✅ |
| 登录窗 / 主面板 / 聊天窗 chrome | ❌ | ✅ |
| 原版列表式消息 / QQ 秀右栏 / 消息操作 | ❌ | ✅ |
| 素材(按钮图标/头像/提示音) | ❌ | ✅ |
后续计划:待 DSH 官方提供客户端插件的静态资源与 UI 槽位机制后,把组件级皮肤完整迁入插件包,使发行版获得全部效果。
📦 仓库结构
dsh-qq2006/
├── lib/ # 预构建产物(发行版 dsh plugin 可直接安装)
├── patches/ # 源码 monorepo 集成补丁(git apply)
├── src/
│ ├── index.ts # 插件入口
│ ├── invariant.ts # 包内不变量
│ ├── client/index.ts # 主题注册 + body[data-ds-skin] 镜像 + QQ2006_TOKENS
│ └── styles/qq2006.css # 全局皮肤表(字体/滚动条/九宫格/三态钮)
├── assets/
│ ├── qq2006/ # 完整素材(img 366 + sound 8 + 版权说明)
│ └── screenshots/ # 效果截图
├── docs/qq2006-skin.md # 总文档:架构/按钮映射/实现清单/验证记录
├── README.package.md # 皮肤契约(机制/补丁规则/素材)
└── LICENSE # MIT
🛠 开发
组件级补丁规则(见 README.package.md):皮肤段只追加在组件自己的 .module.css 尾部,全部以 body[data-ds-skin='qq2006'] 为祖先作用域;素材用原生尺寸;默认皮肤零回归由测试锁定。
pnpm --filter @deepseek-ai/dsh-client-ui-conversation bundle # 单包重建
pnpm --filter @deepseek-ai/dsh-web-frontend build # 前端重建
pnpm vitest run packages/client/ui-conversation # 皮肤相关测试
🤝 贡献
欢迎 PR。改前先读 docs/qq2006-skin.md 的映射清单与 README.package.md 的文件所有权约定;所有视觉改动必须在皮肤作用域内生效。
📄 许可
- 插件代码:MIT
- QQ2006 素材:腾讯原版,仅供学习交流,请勿商用(
assets/qq2006/README.txt)
🙏 致谢
- mengkunsoft/QQ2006:QQ2006 原版仿制项目与素材
- deepseek-ai/deepseek-harness:DSH 及插件体系
查看使用指南 →
该插件的安装步骤、关键要点、FAQ 与兼容性说明(基于已收录字段派生)。
收录徽章
[](https://deepseek-plugin.org/plugins/LaplaceYoung/dsh-qq2006)把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。