QQ 2007-inspired DSH Web skin: 72 native theme tokens, scoped three-pane chrome, original offline art and pixel buddy, an optional synthesized send chime, responsive/accessibility fallbacks, and reversible Settings switches.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:LeemanCheung/dsh-qq2007-skin
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
dsh-qq2007-skin
Turn the DSH Web GUI into a blue 2007-era messenger window while preserving every native interaction.
中文 · Architecture · Art direction · Compatibility
[!IMPORTANT] This is an independent, unofficial nostalgia project. It is not affiliated with, authorized by, or endorsed by Tencent, QQ, or DeepSeek. It ships no QQ logos, mascot art, historical icons, historical sounds, or theme files. Its robot, chrome, toolbar, wallpaper, and optional synthesized chime are original project assets. See NOTICE.
Features
- Genuine 2007 desktop-client texture: persistent blue application strip, XP highlight bands and 1px bevels, full-width contact groups, flatter transcript rows, rectangular composer, recessed scrollbars, and a bottom status bar.
- Account-card treatment around the native DSH logo row: original robot avatar and factual “Local user · skin enabled” copy without replacing its session or collapse actions.
- Denser contact rows and transcript hierarchy: native status/time metadata stays visible, with compact user headings, separators, and assistant-side rules instead of modern oversized bubbles.
- Classic text-send chrome: preserves the native submit element, handler, disabled state, and accessible name while drawing a glossy 2007-style rectangle—without implying a nonexistent dropdown.
- Optional original two-note action chime, off by default with one preview when enabled. It then synthesizes roughly 0.18 seconds after a native send click or when Enter moves the draft into submission. It is not delivery-success feedback and includes no historical recording or audio file.
- Four original native Codex
gpt-image-2assets: robot/CRT buddy, blue-glass chrome, eight generic retro toolbar icons, and room/sky wallpaper. Prompts and call provenance are committed; runtime use is fully offline. - Native three-pane mapping: DSH sidebar / conversation / details become contacts / messages / buddy details without duplicating business data.
- 72 native
--dsw-*tokens registered through the officialctx.theme.register()API. - Native sessions, model picker, attachments, send controls, tool cards, settings, and details behavior remain untouched.
- Enabled on first install, with independent reversible Settings → General appearance and sound switches; opted-in sound can remain active under system appearance.
- The status strip reports only the local visual layer, optional sound state, and browser clock; it invents no model, quota, connection, or agent state.
- Responsive layout plus reduced-motion and forced-colors fallbacks.
- Stores only browser-local appearance/sound flags and the previous built-in theme preference; copies, retains, and transmits no prompts, replies, sessions, files, or credentials. Sound only checks whether the native composer changed from non-empty to empty around Enter.
Compatibility and recovery
- The baseline is DSH
0.1.2-rc.1, Node.js 20+, and a modern Chromium, Firefox, or WebKit browser with CSS custom properties. The optional chime also needs Web Audio; an unsupported or policy-blocked browser remains silent without affecting chat. dsh.bundle, theme tokens,theme/change, and the General Settings Slot are stable extension points. CSS-module suffix selectors, plus the full chrome's:has()and WebKit scrollbar styling, are best-effort: a DSH Shell redesign may reduce decorative fidelity while native theming and the settings switch keep working.- Below 1180 px the decorative title icon is hidden; at 800 px and below the extra chrome, margin, composer ornament, and status strip are removed.
prefers-reduced-motiondisables buddy motion and shortens transitions, whileforced-colorsrestores system borders. - There is no YAML configuration. Appearance, sound, and the previous built-in theme live only in this browser's
localStorage:dsh-qq2007-skin:enabled,dsh-qq2007-skin:sound, anddsh-qq2007-skin:previous-theme. Clearing site data restores first-install defaults (appearance on, sound off); a third-party custom theme cannot be restored byte-for-byte, so recovery returns only the prior built-inlight,dark, orsystemchoice. - The skin's own Settings and status-bar copy is currently Chinese. Click-to-chime recognizes only the native Chinese
发送消息and EnglishSend messageaccessible labels; in other UI locales an Enter submission can still sound after DSH clears a non-empty draft, but a button click may remain silent. - Use Settings → General → QQ 2007 Retro Skin → System appearance first. If Settings cannot open, remove the plugin and restart
dsh web; Cordis then removes every theme registration, stylesheet, DOM decoration, listener, timer, and optional AudioContext.
The hero image is a real Chromium capture from an isolated DSH 0.1.0-rc.6 profile. Runtime versions of the four Codex-generated assets:
Install
dsh plugin --profile web add github:LeemanCheung/dsh-qq2007-skin
dsh web
The source version is 0.3.1; its release tag has not been published. Pin this existing commit to install the tooltip fix:
dsh plugin --profile web add github:LeemanCheung/dsh-qq2007-skin#537edbb672fc0eea8412252cb6a0ed7d661479cb
From source:
git clone https://github.com/LeemanCheung/dsh-qq2007-skin.git
cd dsh-qq2007-skin
npm test
dsh plugin --profile web add ./
Update / remove
dsh plugin --profile web update dsh-qq2007-skin
dsh plugin --profile web remove dsh-qq2007-skin
Restart dsh web after changing profile plugins. Stopping or removing the plugin disposes its theme registration, CSS, application/status DOM, timer, send listeners, optional AudioContext, and settings entry.
How it works
Unlike the CDP-based reference project Codex-QQ2007-Skin, this plugin uses DSH's native Cordis browser-plugin, ThemeRuntime, and Settings Slot APIs. The host half is a no-op bundle entry; the browser half registers the palette, installs strictly scoped CSS, embeds four compact offline artworks plus the original SVG, tracks theme/change, and exposes reversible appearance and sound settings. The optional send chime uses two short Web Audio oscillators and carries no audio asset.
See Architecture and Compatibility.
See Windows DSH 0.1.2 acceptance for the verified installed-interface result.
Develop and verify
npm test
npm run pack:check
npm test builds LF and CRLF copies of the JavaScript, CSS, and SVG text in separate temporary directories and compares the resulting bundle bytes. CI also rejects changes from HEAD or any new files in lib/, including ignored files, so stale committed artifacts cannot pass validation.
The deterministic VM gate covers module registration, all 72 tokens, first-run activation, both settings, native-button and submitted-Enter chime triggers, silent Shift+Enter, all four embedded WebP assets, persistence, theme synchronization, listeners, and AudioContext cleanup. Manual real-Chromium release verification covers the account card, 64×27 text-send button, sound toggle, 800/801 px responsive threshold, and appearance disable/re-enable cycle.
Maintainers can rebuild the committed runtime WebP derivatives from the repository-only high-resolution sources with python scripts/process-art.py (Pillow 10+). The published package intentionally omits those sources and the helper; normal installation and npm test need neither Python nor network access.
License
Code and original assets are MIT licensed. Product-name and independence notices are in NOTICE.md.
Links
More in this category
Small-tailqwq/dsh-deep-whale#maid-atelier★ 2252
Whale-girl skin series for the DSH Web UI (maid-atelier).
elysia395/dsh-wallpaper-engine★ 384
Requires DeepSeek Harness 0.1.5-rc.1+ (DSH Desktop >= 2.0.7) and dsh-better-sidebar >= 0.19.0 - update both before installing or updating this plugin. Plays local Wallpaper Engine Video/Web wallpapers behind the chat, renders Scene wallpapers as extracted static frames, and adds content-rating/type filters, custom uploads and an iOS-style liquid-glass settings window.
d-dev0101/open-sea-skin★ 380
Realtime WebGPU ocean skin with quick controls for waves, daylight, glass opacity, and an automatic day cycle.
kingOfSoySauce/dsh-liang-skin★ 222
Adaptive reasoning slider skin that maps each model's available reasoning efforts onto a 0–30 visual intensity scale, with synchronized portraits, background, and interface colors.
RevolutionLA/dsh-dream-skin★ 192
One-command skin plugin: 8 original themes, translucent wallpaper with opacity/blur, per-user accent, and shareable theme-pack import/export, favorites and surprise-me — purely native on DSH's token system.
GGBond2424648901/deep-whale-day-night-theme★ 117
Non-commercial day/night whale-girl skin for official Harness rc.7: current no-viewport-frame layout, paired crystal-workshop and moon-tide scenes, chibi companions, translucent ornaments, and lightweight ambience.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.