Introduction¶
DeepSeek Harness (DSH) supports UI extensions through plugins. In addition to functional plugins, appearance/theme plugins can modify the user interface. dsh-pixel-skin is a pixel-art skin designed for DSH, inspired by the hardware color palette and interface design of the Famicom (NES). It implements visual styling by overriding official semantic tokens without touching layout or component structure, ensuring compatibility with existing features.
Core Features¶
- Semantic Token Overrides: Only overrides semantic tokens such as
--dsw-alias-*/--dsw-specific-*, without breaking DSH layout logic or component functionality. - Pixel Visual Style:
- Uses right angles, hard shadows, pixel button-press displacement, square scrollbars, and a checkerboard grid background.
- Optional CRT scanline effect (disabled by default).
- Pixel ball loading animation: replaced with an original 8-bit red-and-white pixel ball (bouncing step animation).
- GBA-style dialog windows: popups/menus/panels use double pixel outlines, with selected items highlighted in yellow.
- Color Schemes and Scaling:
- Complete light and dark color schemes.
- Eight preset accent colors (red / blue / green / yellow / purple / orange / cyan / pink) + custom accent color, with localStorage persistence.
- Pixel scaling modes: 1x / 1.5x / 2x. Integer scaling is the sharpest; 1.5x may be slightly soft.
- Status and Component Adaptation:
- HP-bar-style status: the context breakdown bar is changed to square health segments (system green / tools blue / messages follow theme color), and running tool cards display a diagonal stripe sweep.
- Turn status phrases: replaces “Deep diving…” while thinking with “Idle…” / “Charging…” / “Moving…” / “Evolving…”.
- Font adaptation: Chinese and English UI use Fusion Pixel 12px Proportional SC; code/terminal uses Monospaced SC. Base body text is about 16px and code about 17px to prevent pixel fonts from being too small.
- Desktop Adaptation:
- Supports the Windows custom-drawn title bar and sets content-area border radius to zero.
- The current version matches both
pI_x6Gand the olderZTP-Xa_*hashes to prevent silent layout failures.
Installation and Enablement¶
Run the following command in a terminal to install:
# Web 端
dsh plugin --profile web add dsh-pixel-skin
# 桌面端
dsh plugin --profile desktop add dsh-pixel-skin
After installation is complete, restart the DSH application to activate it.
Typical Usage¶
The plugin provides two configuration methods: a console API and a settings screen.
Console API Example:
// 切换主题色
__PIXELSKIN__.palette('red')
// 切换强调色(2.2.0 新增)
__PIXELSKIN__.accent('#8b5cd6')
// 切换缩放档位(2.2.0 新增)
__PIXELSKIN__.scale('2')
// 查看可选状态句
__PIXELSKIN__.statuses() // ['idle','charge','move','evolve']
// 设置状态句
__PIXELSKIN__.status('idle')
// 开关扫描线
__PIXELSKIN__.scanlines(true)
// 开关插件
__PIXELSKIN__.off()
Settings Screen:
In the Settings → Pixel skin section, you can directly switch color schemes and scaling modes, or use the color picker to set a custom accent color.
LocalStorage Keys:
pixel-skin:enabled: Controls the overall on/off switch.pixel-skin:scanlines: Controls scanlines.pixel-skin:accent: Custom accent color (added in 2.2.0).pixel-skin:scale: Pixel scaling mode (added in 2.2.0).
Notes¶
- Font Loading: The plugin relies on remote font resources for fallback (pointing to a fixed commit in this repository’s origin). If the remote link is unreachable, it automatically falls back to the system’s Chinese font, without affecting functionality.
- Theme Coexistence: When coexisting with other theme plugins, this plugin is loaded last by default and has the highest priority.
- Desktop Hashes: Desktop style matching depends on official layout class-name hashes. The current version supports both
pI_x6Gand the older hashes. If DSH officially changes the hashes again, the hash-matching logic in the plugin source may need to be updated manually. - Icon Limitation: Sidebar/toolbar icons are based on @iconify; this plugin only changes colors and does not change icon shapes.
- Version Compatibility: The plugin is adapted for DSH 0.1.7-rc.2. DSH is still in developer preview; if the official token set changes, realignment is required in
TOKENSinlib/client.js.