LeemanCheung / dsh-qq2007-skin

Listed

QQ 2007-inspired retro messenger skin for the DeepSeek Harness Web GUI

mainTool View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:LeemanCheung/dsh-qq2007-skin

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit e7c61afSynced Aug 18, 2026

DSH 0.1.0-rc.6 中运行的 QQ 2007 复古皮肤

dsh-qq2007-skin

把 DSH Web GUI 变成 2007 年蓝色即时通讯窗口,同时保留全部原生交互。

English · 架构 · 美术方向 · 兼容性

Awesome awesome · DSH plugin CI license dsh

[!IMPORTANT] 这是独立、非官方的怀旧视觉项目,与腾讯、QQ、DeepSeek 均无隶属、授权或背书关系。仓库不包含 QQ Logo、企鹅形象、历史图标、历史音效或主题文件;机器人、窗框、工具栏、壁纸和可选合成双音均为本项目原创。详见 NOTICE

特性

  • 真正的 2007 桌面客户端质感:常驻蓝色应用标题栏、XP 高光与 1px 压边、全宽联系人分组、扁平消息区、矩形输入框、经典凹槽滚动条和底部状态栏。
  • 复古账号资料卡:把 DSH 原生 Logo 行装饰成机器人头像、产品字标和事实性“本地用户 · 皮肤启用”状态,不替换原有新会话与侧栏开关。
  • 联系人与消息层级:压缩会话行,强化原生状态槽与时间信息;消息区常显原生时间元数据,以昵称标题、细分隔线和助手侧边线代替现代大气泡。
  • 经典文字发送按钮:保留 DSH 原生提交按钮、处理器、禁用状态和无障碍名称,只把外观改成 2007 风格高光矩形控件,不伪造下拉菜单。
  • 可选原创双音:默认关闭并在开启时试听一次;之后在点击原生发送按钮或 Enter 令输入框进入提交流程时,用 Web Audio 合成约 0.18 秒的操作提示。它不是送达成功反馈,也不包含历史录音或音频文件。
  • Codex 原创生图资产:使用原生 gpt-image-2 生成机器人与 CRT、蓝色玻璃窗框、八枚复古工具图标和房间/天空壁纸;prompt 与调用记录全部提交,可追溯且运行时离线。
  • 三栏语义映射:DSH 原生 sidebar / conversation / details 分别呈现为联系人列表、消息窗口和伙伴资料区,不复制业务数据。
  • 72 个原生主题 token:通过官方 ctx.theme.register() 接入,不修改 DSH 安装包,也不开 CDP 调试端口。
  • 原生交互保留:会话、模型、附件、发送、工具卡、设置和详情面板仍由 DSH 自己处理。
  • 可切换、可撤销:首次安装自动启用;在 设置 → 通用 → QQ 2007 复古皮肤 一键恢复切换前的系统外观。
  • 真实本地状态:状态栏只显示本地视觉层、可选提示音和浏览器时钟,不伪造模型、额度、连接或 Agent 状态。
  • 可访问与响应式:支持 prefers-reduced-motion、高对比色模式;窄屏自动撤掉额外窗框和装饰工具栏。
  • 隐私安全:只在浏览器 localStorage 保存皮肤开关、提示音开关与切换前的系统主题偏好;不复制、留存或传输提示词、回复、会话、文件或凭据。提示音仅检查原生输入框在 Enter 前后是否由非空变为空。

兼容性与恢复

  • 基线为 DSH 0.1.0-rc.6、Node.js 20+ 和支持 CSS 自定义属性的现代 Chromium、Firefox 或 WebKit;可选提示音还需要可用的 Web Audio。浏览器不支持或阻止音频时,皮肤保持静音而不会影响聊天。
  • dsh.bundle、主题 token、theme/change 和通用设置 Slot 是稳定扩展点;用于细节装饰的 CSS-module 后缀选择器,以及完整窗框所用的 :has()/WebKit 滚动条样式属于 best-effort。DSH Shell 改版时,原生主题和设置开关仍会保留,但部分装饰可能需要更新。
  • 窄于 1180 px 时隐藏装饰标题图标;不超过 800 px 时移除额外窗框、边距、输入框装饰与状态条。prefers-reduced-motion 会停用伙伴动效并缩短过渡,forced-colors 则恢复系统边框。
  • 没有 YAML 配置项。外观、提示音和此前内置主题只存于当前浏览器的 localStoragedsh-qq2007-skin:enableddsh-qq2007-skin:sounddsh-qq2007-skin:previous-theme。清除站点数据会恢复首次安装默认值(外观开、声音关);第三方自定义主题不会作为可恢复主题保存,恢复时仅回到此前的内置 lightdarksystem
  • 皮肤自有设置项和状态栏目前固定为中文。点击发送提示音只识别原生中文 发送消息 与英文 Send message 无障碍标签;其他界面语言下,Enter 提交仍会在 DSH 清空非空草稿后触发提示音,但按钮点击可能保持静音。
  • 首选 设置 → 通用 → QQ 2007 复古皮肤 → 系统外观 恢复;设置页不可用时,卸载插件并重启 dsh web 即会移除全部主题注册、CSS、DOM 装饰、监听器、计时器和可选 AudioContext。

上图为隔离 DSH 0.1.0-rc.6 profile 的真实 Chromium 截图。四份 Codex 生图资产的运行时版本:

原创蓝色机器人与 CRT原创蓝色玻璃窗框材质
八枚原创复古工具图标
原创复古房间天空壁纸

安装

dsh plugin --profile web add github:LeemanCheung/dsh-qq2007-skin

重启 Web 服务并刷新页面:

dsh web

首次加载默认启用皮肤,原创双音保持关闭。可在 设置 → 通用 → QQ 2007 复古皮肤 独立切换外观和提示音,恢复系统外观后仍可单独保留提示音;状态栏右侧的“退出皮肤”也可立即恢复系统外观。

固定版本

dsh plugin --profile web add github:LeemanCheung/dsh-qq2007-skin#v0.3.0

从源码安装

git clone https://github.com/LeemanCheung/dsh-qq2007-skin.git
cd dsh-qq2007-skin
npm test
dsh plugin --profile web add ./

更新与卸载

# 更新 GitHub 安装
dsh plugin --profile web update dsh-qq2007-skin

# 卸载
dsh plugin --profile web remove dsh-qq2007-skin

随后重启 dsh web。插件停止或卸载时,Cordis 生命周期会移除主题注册、CSS、应用标题栏、状态条、计时器、发送监听器、可选 AudioContext 和设置项。

工作原理

package.json dsh.bundle
        │
        └─ cordis.patch.yml ── host no-op loader entry
                                      │
package.json dsh.client               ▼
        ├─ ThemeRuntime.register(72 tokens)
        ├─ scoped CSS[data-dsh-qq2007-active]
        ├─ 4 embedded Codex-generated WebP artworks
        ├─ decorative app/account/status chrome
        ├─ optional procedural Web Audio send chime
        └─ settings.general.item appearance + sound toggles

与参考项目 Codex-QQ2007-Skin 的 CDP 本机注入不同,本项目直接使用 DSH 官方 Cordis 客户端插件、ThemeRuntime 和设置 Slot。具体生命周期与边界见 架构文档

开发与验证

npm test           # 确定性构建 + VM 生命周期测试
npm run pack:check # 检查发布包内容

自动测试覆盖:客户端模块注册、72 个 token、首次启用、双设置开关、原生发送按钮/进入提交流程的 Enter 双音触发、Shift+Enter 静音、4 个内嵌 WebP、localStorage、主题同步、监听器和 AudioContext 清理。发布前另以真实 Chromium 手工回归资料卡、64×27 文字发送按钮、提示音开关、800/801 px 响应式阈值及外观关闭/重启用往返。

维护者可通过 python scripts/process-art.py(需要 Pillow 10+)由仓库专用的高分辨率源图重新生成已提交的运行时 WebP 衍生素材。发布包会有意省略这些源图和辅助脚本;普通安装及 npm test 都不需要 Python 或网络。

本地 profile 组合验证:

dsh plugin --profile web add ./
dsh --profile web --dump-config

兼容性

当前基线为 DSH 0.1.0-rc.6。主题 token 和设置 Slot 属于官方扩展点;部分用于强化窗框细节的 CSS module 后缀选择器是 best-effort,DSH 大版本升级后可能需要跟随调整,但不会替换或破坏原生控件。详见 兼容性说明

许可

代码与原创素材采用 MIT License。商标与独立项目声明见 NOTICE.md

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

Security policyDetected
DocumentationDetected

Repository information

Language
JavaScript
License
MIT
Latest release
v0.3.0
Last updated
Aug 15, 2026, 3:29 PM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.