Back to home@wtksana

dsh-font-plugin

DeepSeek Harness Font Plugin, DSH 字体插件

Stars
1
Language
JavaScript
Created
Aug 27, 2026
Updated
Aug 27, 2026
GitHub repo

Introduction

dsh-font-plugin

A DeepSeek Harness (dsh) plugin: font family / ligatures / weight / size controls for the Web UI, rendered in Settings → Plugins → Plugin configuration with the official card style.

Features

  • Font Family : Editor — overrides --dsw-font-family (UI + Markdown body text)
  • Font Family : Code — overrides --ds-font-family-code (code blocks / commands / logs)
  • Font LigaturesAuto (theme default) / On / Off
  • Font Weight — whole number 100–900 for regular text layers (headings/bold keep theme weights); empty = theme default
  • Font Size — base px (whole number, 8–40); 16 = theme default, all text layers scale proportionally and round up

Defaults mirror the official @deepseek-ai/dsh-client-ui-theme base stylesheet. Changes apply after Save and persist in the dsh settings document ($DSH_HOME/settings.yaml, namespace dsh-font). UI copy is localized (zh / en) through the official ctx.locale mechanism.

Install

From npm

dsh plugin --profile web add dsh-font-plugin

From GitHub

dsh plugin --profile web add github:wtksana/dsh-font-plugin

Prebuilt bundles (lib/) are committed, so no build step or prepare authorization is required at install time.

Local development

dsh plugin --profile web add ./path/to/dsh-font-plugin

Then start dsh (restart required after bundle edits, since client bundle revisions are computed at boot):

dsh --profile web

Configuration

Open Settings → Plugins → Plugin configuration in the Web UI, expand the dsh-font-plugin card, edit the fields and press Save.

Or edit $DSH_HOME/settings.yaml directly:

dsh-font:
  editorFont: MiSans
  codeFont: MiSans
  ligatures: auto
  weight: 0
  basePx: 16

weight: 0 means theme default. dsh plugin remove dsh-font-plugin uninstalls both the package and its patch layer.

Development notes

This package is a dual-face plugin:

  • lib/index.js — host half: registers the dsh-font settings namespace with a Schemastery schema (ctx.settings.register).
  • lib/client.js — browser half: dsh.client bundle (__ModuleLoader__.load + exports.apply), renders the card into settings.plugin.item keyed by the namespace, and applies fonts via CSS variables with !important (the ui-theme base stylesheet may inject after our style tag).

License

MIT