npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dsh-font-plugin

v1.0.2

Published

DSH dual-face plugin: font family and ligature controls for the Web UI. Host half registers a settings namespace; browser half renders the config card in Settings > Plugins with system-font selection and applies the fonts live. Bundle + dsh.client package

Readme

dsh-font-plugin

A DeepSeek Harness (dsh) plugin: font family and ligature 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 Ligatures — Auto (theme default) / On / Off

Font families are entered as comma-separated font stacks (e.g. MiSans, Microsoft YaHei, sans-serif); quoted or unquoted names both work, and single names are quoted automatically with a system fallback. Saving stores exactly what you typed (a value equal to the official default is still written — an override is marked by the field's presence in the user layer, per the official plugin-configuration contract); Reset returns a field to the theme default.

Weight and size are provided by the official theme settings (Appearance) since dsh 0.1.2; this plugin intentionally leaves those to the official surface.

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

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 via ctx.settings.register('dsh-font', FontSettingsSchema, { applies: 'live' }). The schema is exported as FontSettingsSchema, deliberately not as Config: Cordis validates a row's own config against a plugin's Config export, and a settings schema with a required field would fail the row at boot.
  • lib/client.js — browser half: dsh.client bundle (__ModuleLoader__.load + exports.apply). The style tags are created at factory materialization with data-plugin / data-plugin-css markers so the client module system inventories them for HMR teardown; the card registers into settings.plugin.item keyed by the namespace, and fonts apply via CSS variables with !important (the ui-theme base stylesheet may inject after our style tag).

Card semantics follow the official plugin-configuration contract: a field counts as overridden by its presence in the raw user layer, a Reset stages a clear (targeting the composition base, falling back to the bundled default), and saving a value equal to the official default still stores it instead of silently clearing it. The bundled defaults (DEFAULT_CFG, FONT_TOKENS) mirror the host schema defaults and the ui-theme base stylesheet — when you change a default, update both halves.

Client bundle revisions are computed at boot — restart dsh after bundle edits.

License

MIT