dsh-zh-ui
Manifest validChinese Frontend UI Design Specification DSH Plugin: zh-ui-design skill + UI lint / Chinese UI design spec plugin for DeepSeek Harness
dsh-zh-ui
English | 中文
A DeepSeek Harness (dsh) plugin for Chinese-language UI work. It has three parts:
- Skill
zh-ui-design: Chinese typography rules (spacing between Chinese and Latin/digits, full-width punctuation, CJK font stacks with fallbacks, line-height 1.6–1.8, 25–40 characters per line), an anti-"generated look" checklist, and a "design direction first" workflow and 4 style presets (observatory, night-shift, cobalt-poster, trust), each with complete CSS custom properties and nav / hero / pricing-card / CTA recipes. Preset text/background pairs are checked against WCAG AA (4.5:1). - Project spec injection: on every prompt assembly, reads
DESIGN.mdanddesign.tokens.jsonfrom the session's working directory and appends them as runtime context (not the cached system prompt). Nothing is injected when the files are absent. - Tool
zh_design_lint: static scan of HTML / CSS / SCSS / Vue / JSX / TSX / Svelte sources and Tailwind classes. It does not render pages.
zh_design_lint rules
| Rule | What it reports |
|---|---|
hardcoded-color | Literal colors outside custom-property definitions (--x:), and Tailwind arbitrary colors bg-[#…]. Colors listed in design.tokens.json are allowed. |
off-scale-px | px values in margin / padding / gap / font-size / border-radius / inset properties that are not multiples of the spacing base (default 4px); Tailwind p-[13px] etc. 0, 1, 2 and token px values are allowed. |
font-family-cjk | font-family stacks with no Chinese font (PingFang SC, Microsoft YaHei, Noto Sans SC, …). var(...), inherit and monospace stacks are skipped. |
cjk-latin-spacing | Visible text where a Chinese character directly touches a Latin letter or digit. |
cjk-punctuation | Half-width , ; : ! ? . next to Chinese characters. |
cjk-line-height | Unitless line-height below 1.5 on body-text selectors (headings, buttons, prices etc. excluded); leading-none/tight/snug on <p>, <li> and similar. |
purple-gradient | Gradients containing a violet/purple color (hue 250°–320°); Tailwind `from/via/to-purple |
emoji-icon | Emoji in visible text (symbols such as © and ™ are not counted). |
heading-subtitle | Two or more headings each followed by a short subtitle paragraph, or an eyebrow + heading + subtitle triplet. |
filler-copy | Stock marketing filler (一站式, 赋能, 无缝, seamless, elevate your …). |
Known limits: the CSS parsing is regex-based, not a full parser; color keywords such as white are not detected; contrast, tap-target size and rendered font sizes are not measured — use a rendering tool for those (for example design_audit from dsh-design).
Install
dsh plugin --profile web add github:<owner>/dsh-zh-ui
For local development, mount the build output with a patch:
# extra.yml
- insert:
- id: zh-ui
name: '/absolute/path/to/dsh-zh-ui/lib/index.js'
dsh web --patch ./extra.yml
Requires Node 22+ (a dsh requirement).
Configuration
- id: zh-ui
name: dsh-zh-ui
config:
registerSkill: true
injectProjectSpec: true
specFiles: [DESIGN.md, design.tokens.json]
maxSpecChars: 8000
rules: [hardcoded-color, off-scale-px, font-family-cjk, cjk-latin-spacing, cjk-punctuation, cjk-line-height, purple-gradient, emoji-icon, heading-subtitle, filler-copy]
spacingBasePx: 4
allowedPx: [0, 1, 2]
minLineHeight: 1.5
maxFiles: 200
DSH APIs used
ctx.skills.register()— runtime skill (@deepseek-ai/dsh-skill)ctx.on('system-prompt/assemble', …)— appends a runtime context entry after assembly, as@deepseek-ai/dsh-working-directorydoesctx.workingDirectory.get(session)— the session's working directoryctx.tools.register(defineTool(…))— tool registration (@deepseek-ai/dsh-tools)
The lint only reads files inside the working directory; paths that resolve outside it are rejected.
Development
npm install
npm run build
npm test
demo/ contains an A/B comparison; see demo/RESULTS.md.
License
MIT
Credits
The skill text was written from scratch; ideas were adapted from:
- anthropics/skills · frontend-design (Apache-2.0): plan first, review the plan against generic defaults, spend boldness in one place, list of generated-page tells, screenshot self-critique.
- Viger1/dsh-design design-system skill (license not verified): fix palette and type scale first, one accent, spacing grid, hit area is not font size.
- SummerSec/SumSec-Skills · taste-skill (Apache-2.0): infer direction from the product, avoid the cream + brass "premium" default palette, hue-tinted shadows, one radius system.
- vercel-labs/web-interface-guidelines:
:focus-visible, notransition: all,prefers-reduced-motion, tabular numbers, 44px mobile targets. - ChenYiming-aaa/dsh-ui-ux-pro-max (MIT, data from nextlevelbuilder/ui-ux-pro-max-skill): prioritized checks (contrast, touch, no emoji icons).
Comments
Loading…
Similar plugins
✦
No screenshots
by Cci-65
A DeepSeek Harness UI plugin that restyles the welcome area and composer, with workspace, mode, and skill shortcuts.
★ 0
JavaScript
Oct 3, 2026
dsh plugin --profile web add @local/dsh-uiby pixellover1433
a simple plugin to improve web UX/UI for "Deepseek Harness (dsh)"
★ 7
↓ 30/wk
TypeScript
Aug 30, 2026
dsh plugin --profile web add dsh-better-sidebar-liteby liukj98
deepseek harness tools 插件
★ 0
MIT
TypeScript
Aug 19, 2026
dsh plugin --profile web add dsh-ui-toolsby fandc520
一个基于DeepSeek-Harness的ComfyUI插件
★ 121
↓ 1k/wk
MIT
TypeScript
Oct 18, 2026
dsh plugin --profile web add dsh-comfyuiby RyzeZhou
deepseek-harness手机端页面适配插件
★ 0
MIT
JavaScript
Aug 19, 2026
dsh plugin --profile web add dsh-ui-mobile-layoutby magian1127
DeepSeek Harness (DSH) plugin: A comprehensive enhancement plugin with UI polish, layout tweaks, prompt injection, and more. 综合性增强插件,界面优化、布局调整与提示词注入等更多功能。
★ 37
↓ 1.1k/wk
MIT
TypeScript
Oct 18, 2026
dsh plugin --profile web add deepseek-harness-zh_pro