Introduction

DeepSeek Harness (DSH) adopts an “everything is a plugin” architecture philosophy, allowing users to extend functionality through plugins. In Web GUI use cases, developers often need to customize the visual style. dsh-cerrda-theme is a deployment-level static web plugin that provides a cerrda-style dark theme scheme for the DSH Web GUI, addressing the need for native interface customization.

Core Features

The plugin includes the following visual and technical features:

  • Color palette: Uses a rose/purple oklch color palette.
  • Visual components: Includes a Liquid Glass-style input bar and hero panel, as well as a back-to-bottom button implemented with an SVG displacement filter.
  • Dynamic background: Integrates the Silk WebGL2 dynamic background and includes interactive effects such as CardSpotlight, Ripple, and ShimmerBorder.
  • Fonts and styling: Uses Sora / Fraunces / JetBrains Mono fonts, as well as a CSS liquid glass effect (applied to the sidebar, detail column, conversation header, tool cards, and so on).

Installation and Activation

Installing this plugin requires pnpm to be available in the system PATH. After installation, the DSH process must be restarted for the configuration to take effect.

Install command:

dsh plugin --profile web add dsh-cerrda-theme

Verify installation:

dsh --profile web --dump-config | grep dsh-cerrda-theme

In the Network panel of the browser Developer Tools, you should be able to observe the request for /plugins/dsh-cerrda-theme/client.js.

Uninstall:

dsh plugin --profile web remove dsh-cerrda-theme

After restarting the process, the interface will revert to the default appearance.

Local Development

If you need to modify the theme source code locally, follow this workflow:

  1. Modify the source: All styling and logic changes are in cerrda-theme-client.js under the src/ directory.
  2. Build: Run the build command from the repository root. The command first runs scripts/vendor-number-flow.mjs to inline vendor assets, then runs scripts/build.mjs to generate lib/client.js.
  3. Apply changes:
    • If you only change CSS/JS content, you can hard-refresh the browser page (Ctrl+Shift+R) after DSH starts.
    • If you modify package.json or cordis.patch.yml, you must restart the DSH process.

Install command for the local unpublished version (the repository root is the package):

dsh plugin --profile web add .

How It Works

This plugin works as a bundle package, consistent with the underlying package mechanics of @deepseek-ai/dsh-base and similar packages:

  • Bundle Patch: dsh.bundle.patch points to ./cordis.patch.yml. After installation, the plugin is appended to the dsh.profile.bundles layer stack and participates in composition at startup.
  • Client injection: dsh.client declares the browser half, and dsh-client-modules collects it into window.__DSH_BOOT__ and serves /plugins/dsh-cerrda-theme/client.js.
  • Host and exports: The main field points to an empty host half, and exports["./client"] exports the browser bundle, registered through window.__ModuleLoader__.load and manually injects CSS styles.

Important Notes

  • Process restart: HMR for the Web profile is disabled, and bundle-layer changes are only applied when the process starts, so DSH must be restarted after installation or configuration changes.
  • Dependency requirement: Ensure that pnpm is properly installed and available in the system PATH.
  • Source review: Before installing any community plugin, it is recommended to review its source code and license (this project uses the MIT license).

Ecosystem Location

This plugin is maintained by user Cerrda. It can be found in the community directory dsh-cerrda-theme, and the source code is available on GitHub.