DeepSeek Harness Plugin

LeemanCheung/dsh-qq2007-skin

Stars ★ 3 Category Themes & Appearance Added 2026-08-15

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

CI

[!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-2 assets: 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 official ctx.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-motion disables buddy motion and shortens transitions, while forced-colors restores 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, and dsh-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-in light, dark, or system choice.
  • The skin's own Settings and status-bar copy is currently Chinese. Click-to-chime recognizes only the native Chinese 发送消息 and English Send message accessible 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.

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.