DeepSeek Harness Plugin

Isilsolme/dsh-anthropic-fonts

Stars ★ 10 Downloads (30d) 683 Category Themes & Appearance Added 2026-08-15 npm dsh-anthropic-fonts

Anthropic Sans, Serif, and Mono fonts for the DSH Web UI, with Source Han fallback for CJK.

Install

# from npm (prebuilt)

dsh plugin --profile web add dsh-anthropic-fonts

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

dsh plugin --profile web add github:Isilsolme/dsh-anthropic-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

Apply Anthropic's typefaces to the DeepSeek Harness Web UI:

  • Interface (sidebar, headings, buttons, settings): Anthropic Sans Web Text
  • Model conversation (Markdown body / headings / tables): Anthropic Serif Web Text
  • Code / code blocks: Anthropic Mono Variable

CJK text falls back to the Source Han family (Noto Sans SC / Source Han Sans SC / Noto Serif SC), then to system fonts.

Fonts

Important: the plugin does not bundle fonts. The npm package does not ship font files; install the fonts below manually, then refresh / restart the web surface for the change to take effect.

The plugin references three Anthropic Latin typefaces (install them for the best English / code rendering):

Font Role Where to get it
Anthropic Sans Web Text Interface Download from fonts/, or extract from a Claude app
Anthropic Serif Web Text Conversation Download from fonts/, or extract from a Claude app
Anthropic Mono Variable Code Download from fonts/, or extract from a Claude app

Install: double-click each .ttf on Windows → Install; on macOS use Font Book. Then refresh / restart the web surface.

The fonts are proprietary to Anthropic, for personal use only, and are not covered by the MIT license (see the font notice in LICENSE).

Chinese needs no extra install — it falls back to the Source Han fonts (Noto Sans/Serif SC, Source Han), then to system CJK fonts.

Install

A standard dsh bundle plugin — the same shape as dsh-whale-animation.

CLI (recommended)

Published on npm — install in one command:

dsh plugin --profile web add dsh-anthropic-fonts

or from GitHub:

dsh plugin --profile web add "github:Isilsolme/dsh-anthropic-fonts"

dsh plugin add runs pnpm add inside the profile and auto-appends the bundle to dsh.profile.bundles. Restart the web surface afterwards.

⚠️ After installing the plugin you still need to install the font files manually (see "Fonts" above) — the npm package does not ship them.

Manual

// ~/.dsh/profiles/web/package.json
{
  "dependencies": {
    "dsh-anthropic-fonts": "^0.2.1"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "dsh-anthropic-fonts"
      ]
    }
  }
}

then:

cd ~/.dsh/profiles/web && pnpm install

For local development you can instead use "dsh-anthropic-fonts": "link:C:/path/to/dsh-anthropic-fonts" to point at a local checkout.

Uninstall / toggle off

dsh plugin --profile web remove dsh-anthropic-fonts

(or remove it from dependencies and bundles, then pnpm install). Restart to restore the default fonts.

Compatibility & permissions

Field Declared in Value
DSH range dsh.compatibility.dsh >=0.1.0-rc.7 <0.2.0
DSH per release dsh.compatibility.dshReleases see below
Node.js engines.node >=22
Profile dsh.compatibility.profiles, dsh.client.platform web

dshReleases records every DSH release as compatible, incompatible, or unknown. Only releases actually smoke-tested in a disposable profile are marked compatible; releases covered by the range but not individually tested stay unknown — a range is never presented as verified evidence.

Smoke-tested releases (disposable profile, DSH_HOME pointed at a temp directory, never the real profile):

DSH release install start uninstall
0.1.5-alpha.2 ✅ ✅ ✅
0.1.5-rc.1 ✅ ✅ ✅
0.1.5-rc.2 ✅ ✅ ✅

How each release was checked:

DSH_HOME=/tmp/dsh-smoke dsh plugin --profile web add /path/to/dsh-anthropic-fonts  # install
DSH_HOME=/tmp/dsh-smoke dsh --profile web --dump-config                            # entry anthropic-fonts in the composed tree
DSH_HOME=/tmp/dsh-smoke dsh --profile web --port 39123 --no-open                   # start, prints the served URL
DSH_HOME=/tmp/dsh-smoke dsh plugin --profile web remove dsh-anthropic-fonts        # uninstall

Covered: dependency installed into the profile, bundle appended to dsh.profile.bundles, bundle patch inserting entry anthropic-fonts, the web server binding and serving a 200 page whose boot payload registers dsh-anthropic-fonts/client.js, and full removal of both the dependency and the bundle row. Not covered: visual acceptance in a browser (install the fonts and refresh manually), and no independent security audit.

Permissions: the client half injects a single <style> element into document.head; no file, network, command, or credential access. The host half (lib/index.js) is empty.

After a new DSH release: re-run the four steps in a disposable profile, add that release to dsh.compatibility.dshReleases as compatible, bump this plugin's SemVer, and push.

How it works

Overrides only the font-family part of the DSH typography tokens: --dsw-font-family (UI) and the non-code --dsw-font-markdown-*-font-family tokens (conversation body), keeping DSH's official font sizes and line heights; code font goes through --ds-font-family-code. The injected <style> is owned by the client fiber and removed on uninstall.

Structure

  • lib/index.js — host half (empty; the effect is browser-only)
  • lib/client.js — client half (injects the font CSS variable overrides)
  • cordis.patch.yml — bundle patch inserting the plugin row
  • fonts/ — the three Latin font files

Credits

Font stack modeled on blaxisomu/typora_claude (Anthropic Web fonts for Latin, Source Han for CJK).

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.