Introduction¶
The plugin mechanism of DeepSeek Harness (DSH) allows for extending frontend behavior on the web. dsh-refined is a pure frontend extension for the DSH frontend, designed to port the effects of DeepSeek-Refined to DSH. It injects Obsidian-style border Markdown beautification and multi-theme coloring into the DSH frontend.
It primarily solves two types of problems in the DSH Web interface: first, site-wide color consistency; and second, the visual hierarchy of Markdown elements such as headers, blockquotes, bold text, italics, inline code, and formulas. The maintainer is djh2203, and the license is MIT.
What is this¶
dsh-refined is the DSH port of DeepSeek-Refined. It does not inject scripts, nor does it modify DSH source code; it is a pure frontend extension that can be uninstalled at any time to restore the original state.
The plugin provides 5 theme sets and allows users to switch color schemes directly in the DSH session header via a theme switching button. For existing DSH Web deployments, it can be installed as an independent plugin; for scenarios where a temporary experience is desired, it can also be run by dynamically creating the plugin within a session.
Core Features¶
5 Themes¶
The following themes are supported:
Border: Default themeNordTwilightGitHubAtom One
Dark and light modes automatically follow the system.
Site-wide Color Coverage¶
The plugin overrides DSH’s --dsw-alias-* CSS variables via theme.overrideTokens(), ensuring the site-wide color scheme is applied consistently.
Markdown Beautification¶
The plugin enhances the visual appearance of Markdown elements in the DSH frontend:
- Colored rounded vertical bars are added to the left of headers at all levels.
- Blockquotes use a
Borderdot pattern background and are accompanied by a brand-colored rounded vertical bar. - Bold text
- Italic text
- Inline code
KaTeXformulas
These elements utilize independent color schemes.
Theme Switching¶
A palette button will appear in the top-right corner of the session header, used for one-click theme switching.
The theme selection is saved in the browser localStorage and will persist even after the backend restarts.
Installation and Activation¶
Deployment-level Installation¶
First, confirm that pnpm is available on your machine. The dsh plugin command relies on pnpm. If you are prompted that pnpm cannot be found, install it globally first:
npm i -g pnpm
Then, install the plugin and restart DSH:
dsh plugin --profile web add github:djh2203/dsh-refined
dsh web --port 3080
After installation, you can check the deployment-level plugin list on the Settings → Plugins page of DSH, and verify whether the palette button appears in the top-right corner of any session header.
Local Trial Installation¶
If you want to install locally for a trial, you can use a local file path:
dsh plugin --profile web add file:/absolute/path/dsh-refined
Update¶
After updating the plugin, you need to restart DSH:
dsh plugin --profile web update dsh-refined
dsh web --port 3080
Uninstall¶
After uninstalling the plugin, you also need to restart DSH:
dsh plugin --profile web remove dsh-refined
dsh web --port 3080
No pnpm Environment¶
If you do not have pnpm, you can also use install.sh to complete the installation:
git clone https://github.com/djh2203/dsh-refined dsh-refined
cd dsh-refined
./install.sh web
dsh web --port 3080
Dynamic Session Experience¶
If you just want a temporary experience, you can copy the full text of main.js, create a new session in DSH, send the full text to the input box, and let the assistant create and run it as a dynamic Cordis plugin.
After the runtime card appears, click “Allow” to authorize. Once authorized, the theme will take effect, and the palette button will appear in the top-right corner of the session header.
Note: Dynamic plugins are session-level extensions and will become invalid after the process restarts. If there is no effect after restarting DSH, you should switch to deployment-level installation.
Applicable Scenarios and Notes¶
Suitable for scenarios where DSH Web is already deployed and you wish to unify the frontend theme and Markdown appearance without modifying DSH source code.
Please note before use:
- The plugin runs with the permissions of the current
dshprocess. - You should check the source code and license before installing.
- Dynamic plugins are session-level and need to be reinstalled after a process restart.
- Deployment-level plugins are persistent; they remain active after backend restarts and work across all sessions.
- The
Settings → Pluginspage only displays the deployment-level plugin list; the dynamic paste version belongs to the session in which it was created and is only visible in the runtime card within the chat. - The following features from the original version have not been ported: click-to-copy for inline code, message width
75%, and table width70%.
The package.json declares dsh.bundle patch as ./cordis.patch.yml and the client platform as web.
Summary¶
dsh-refined adds 5 themes and Markdown beautification capabilities to the DSH frontend in a pure frontend manner, making it suitable for unifying the visual appearance of DSH Web. Installation, updates, and uninstallation are all completed via the dsh plugin command, while the dynamic paste version is suitable as a temporary experience method.
GitHub: https://github.com/djh2203/dsh-refined