DeepSeek Harness Plugin

lsh2002/dsh-custom-fonts

Stars ★ 2 Category UI Enhancements Added 2026-08-24

Customize the UI's Chinese and English fonts, code font, and global font-size offset on a settings page, with a live preview and one-click reset.

Install

# from a prebuilt release tarball

dsh plugin --profile web add "https://github.com/lsh2002/dsh-custom-fonts/releases/download/v1.1.0/dsh-custom-fonts-1.1.0.tgz"

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:lsh2002/dsh-custom-fonts

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

Customize the Chinese and English fonts, the code font, and the global font size of the DeepSeek Harness Web UI — right from a settings page, with a live preview.

中文说明

What it does

A pure client-side plugin (no host half, no restart needed). Once installed it adds a Fonts (字体) page under Settings:

  • UI font · English — used for Latin characters. (Segoe UI, Arial, Georgia, Consolas…)
  • UI font · Chinese — used for Han characters. (微软雅黑 / 宋体 / 黑体 / 楷体 / 思源黑体 / 苹方…)
  • Code font — a separate mono face for code blocks and inline code (pre/code/kbd/samp). (Consolas, JetBrains Mono, Fira Code, Cascadia Code, Sarasa Mono SC…)
  • Font-size offset — a -4..+8 px global slider; kernel text stays sharp, no layout blow-up (see below).
  • Live preview — mixed Chinese/English UI sample plus a code-font sample render as you type (comma-separated font lists and free-form names are both supported).
  • Reset — clears every control and removes all injected styles.

How it works

The plugin injects one global stylesheet:

:root { --dsh-custom-fonts-en: 'English'; --dsh-custom-fonts-zh: 'Chinese'; }
body, body * { font-family: 'English font', 'Chinese font' !important; }
pre, code, kbd, samp { font-family: 'Code font' !important; }
body, body * { font-size: calc(1em + 2px) !important; }  /* when offset ≠ 0 */
  • The font-family fallback chain is the standard way to split fonts by script: Latin characters match the English font first, and Han characters — which the English font has no glyphs for — fall back to the Chinese font. No language detection, no DOM surgery.
  • The code-font rule comes later and wins inside code regions only.
  • The size offset applies calc(1em ± Npx) relative to each element's own size, so every nesting level shifts by exactly N — no exponential cascade. Clearing it (0) restores the default.

Changes apply immediately and globally (message body, sidebar, inputs, everything).

Install

From the plugin market (Settings → Plugin Market) once the entry is published, or:

dsh plugin --profile web add dsh-custom-fonts

or directly from the repository:

dsh plugin --profile web add github:lsh2002/dsh-custom-fonts

Client-only plugin: after a page refresh it is live — no restart required.

Uninstall

Remove it from Settings → Plugins → Plugin configuration (or dsh plugin --profile web remove dsh-custom-fonts), refresh the page; your fonts are reverted automatically.

License

MIT

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.