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:
- Modify the source: All styling and logic changes are in
cerrda-theme-client.jsunder thesrc/directory. - Build: Run the build command from the repository root. The command first runs
scripts/vendor-number-flow.mjsto inline vendor assets, then runsscripts/build.mjsto generatelib/client.js. - 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.jsonorcordis.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.patchpoints to./cordis.patch.yml. After installation, the plugin is appended to thedsh.profile.bundleslayer stack and participates in composition at startup. - Client injection:
dsh.clientdeclares the browser half, anddsh-client-modulescollects it intowindow.__DSH_BOOT__and serves/plugins/dsh-cerrda-theme/client.js. - Host and exports: The
mainfield points to an empty host half, andexports["./client"]exports the browser bundle, registered throughwindow.__ModuleLoader__.loadand 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
pnpmis 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.