DeepSeek Harness (DSH) uses a plugin-based architecture. Developers can quickly switch UI styles by installing community theme plugins. dsh-theme-newsprint is a plugin that ports the newspaper-style typographic feel of Typora’s newsprint theme to the DSH Web GUI. It implements a warm-white newspaper light scheme and a warm-brown dark scheme with pure CSS, and introduces a serif font stack and specific typographic accents to give DSH a readable visual style.

Core Features

The core features of the plugin include:
* Pure CSS Implementation: No hooks, no image assets, and no runtime dependencies.
* Dual Color Schemes: Supports a warm-white paper light scheme and a warm-brown dark scheme.
* Serif Font Stack: Body text uses the fallback font stack Georgia → PT Serif → Source Han Serif → SimSun.
* Typographic Accents: Includes newspaper-style typographic accents for elements such as h1, h3, and blockquote.
* Tracking Mechanism: Uses the cordis tracking plugin and does not depend on @deepseek-ai/dsh-client-ui-theme.

Installation

Install it through the dsh plugin command. The plugin itself is a standard profile bundle.

# 从仓库安装
dsh plugin --profile web add github:2754LM/dsh-theme-newsprint

# 或安装预构建包
dsh plugin --profile web add https://github.com/2754LM/dsh-theme-newsprint/releases/latest/download/dsh-theme-newsprint.tgz

After installation, refresh the browser to apply it. If the theme does not appear, restart dsh once (the bundle list is read at startup).

Enable and Disable

Control enabling and disabling of the theme by editing the configuration file.

  1. Open the configuration file: ~/.dsh/profiles/web/cordis.patch.yml.
  2. Add or modify the entry:
    - id: newsprint
      disabled: true    # true = 停用;false 或删除这一行 = 启用
The loader automatically performs hot reloading. The plugin runs in client mode, so after modifying the configuration, a normal browser refresh is enough to apply the change, and there is no need to restart `dsh`.

Typography and Color Schemes

Typographic Accents

The core of the typography lies in its accent details. The plugin defines the following typographic rules:

Element Treatment
h1 A 1px thin line below, normal font weight, with 2em space above
h3 Restored to normal font weight, without progressive bolding
blockquote 5px thick border on the left + italic + muted ink color
thead th Uppercase
tr:nth-child(even) Zebra striping
hr A single 1px bottom line only
a No underline by default; shown on hover
img Captions use a dark brick-red tone

Color Schemes

The color schemes are centralized in SCHEMES within lib/client.js. Both schemes share the buildTokens() role mapping, so changing it in one place takes effect globally.

  • Light Mode: The base color is warm white #f5f3ed, the ink color is dark brown #1f0909, and the accent color is sea blue #065588.
  • Dark Mode: The base color is warm-brown black #1a1815 (not pure black), the ink color is warm white #ece7dd, and the accent color is brightened to #5aa9d6.

Development and Debugging

To modify the color scheme, simply edit SCHEMES in lib/client.js. Refresh the browser after making changes, because the plugin’s <style> is injected when the client mounts.

Running regression tests requires Chrome to be installed locally:

npm test

If ws is not located alongside this package, use DSH_ROOT to point to any checkout that includes ws:

DSH_ROOT=/path/to/deepseek-harness npm test

Notes

  1. Font Dependencies: All fonts used by the plugin reference font families already present on the system; no font files are embedded.
  2. Multiple Theme Conflicts: Multiple coexisting themes can stack on top of each other. It is recommended to keep only one enabled and set disabled: true for the others.
  3. Dark Mode Logic: The dark mode is not a mechanical inversion of the light mode. It uses warm dark tones, and the spacing between dark tonal steps is wider than that between light tonal steps.
  4. License: The plugin uses the MIT License.

dsh-theme-newsprint brings a newspaper-level reading experience to DSH through pure CSS and system font stacks. For more details and source code, refer to the GitHub repository: https://github.com/2754LM/dsh-theme-newsprint.