Skip to content
dsh.fish
Bundle

dsh-custom-fonts

Customize the DeepSeek Harness UI's Chinese and English fonts, code font, and global font-size offset on a settings page with a live preview — 在设置页自定义界面中英文/代码字体与全局字号偏移,实时预览、全局生效。

Source
lsh2002
stars
2 stars
License
MIT
Updated
Updated 13 days ago

Readme

# dsh-custom-fonts

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.

[中文说明](README.zh-CN.md)

## 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:

```css
: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:

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

or directly from the repository:

```sh
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

Install

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

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source