DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Plugin Custom Css — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
P

dsh-plugin-custom-css

Plugin Custom Css

Custom CSS injection for DeepSeek Harness — a Settings section with an on/off toggle and a CSS textarea injected live into the Web GUI

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:nguyenduclong-ict/dsh-plugin-custom-css#cdbee9bd8c7f41bb2eac2fc37eb05d8d7de231f0
READMECompatibilityVersions

Compatibility and provenance

Plugin Custom Css is published as dsh-plugin-custom-css and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
9/11/2026

Versions

0.1.0stable
9/11/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
9/11/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in ui-customization.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profileExperimental Web profile layer for Agent Teams Remote and UI pluginsClient Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.Pet@linxin666/dsh-petMulti-pet companion plugin for the dsh web GUI: a registry-driven floating pet that reacts to model activity, with per-pet naming, petting/feeding interactions and an affinity score

README

dsh-plugin-custom-css

English | Tiếng Việt

Custom CSS injection for DeepSeek Harness (DSH / DSH Desktop).

It adds one row to the Settings modal — Custom CSS — which opens a page with:

  • an on/off toggle that enables or disables injection, and
  • a CSS textarea whose contents are injected into the Web GUI live, as you type.

1. What it does

PieceBehavior
Settings entryRegisters a settings.section row (order 40) labelled Custom CSS in the Settings modal nav rail.
ToggleInjects or stops injecting the snippet. Turning it off keeps the saved code.
TextareaInjected on every keystroke (debounced host write, 500 ms). Flushed to the host on blur.
Injection targetA single <style id="dsh-custom-css-style"> element, re-appended to the end of <head> on every write so it wins the cascade against styles the Harness appends while booting.
Storage~/.dsh/plugins/dsh-plugin-custom-css/config.json ($DSH_HOME wins when set), served over GET/POST /api/custom-css/config, mirrored into localStorage so the snippet is applied before the first paint of the next launch.
Localeszh, en, vi dictionaries are registered under the custom-css namespace (falls back to en).

Nothing else is touched: styles injected by other sources are never removed, and the plugin does not modify the Harness installation.


2. Installation (DSH Desktop, Windows)

# 1. From this repository's parent directory, install the package into the web profile
cd "$env:APPDATA\dsh-desktop\harness\profiles\web"
& "$env:APPDATA\dsh-desktop\harness\.desktop-bin\pnpm.cmd" add <path-to-this-package>
#   e.g. pnpm add C:\Users\you\Desktop\Code\dsh-plugins\dsh-plugin-custom-css
#   or   pnpm add https://github.com/<user>/dsh-plugin-custom-css

Then add the package name to the profile's bundle list — edit %APPDATA%\dsh-desktop\harness\profiles\web\package.json:

{
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "dsh-plugin-custom-css"
      ]
    }
  }
}

Restart DSH Desktop. The plugin must be in dsh.profile.bundles, otherwise the Harness never loads it.

Note — any entry in dsh.profile.bundles must activate during boot. If the plugin cannot activate, the whole Web UI fails to boot with web boot: N entries did not activate.

macOS / Linux

cd "$HOME/Library/Application Support/dsh-desktop/harness/profiles/web"   # macOS
"$HOME/Library/Application Support/dsh-desktop/harness/.desktop-bin/pnpm" add <path-to-this-package>
# Linux: ~/.config/dsh-desktop/harness/profiles/web

DSH CLI

dsh plugin --profile web add <path-to-this-package>

3. Usage

  1. Open Settings (sidebar foot) → the Custom CSS row in the left nav.
  2. Flip Enable custom CSS on.
  3. Paste or write CSS into the textarea. It is injected immediately.
  4. Close the modal — the styles stay applied and are restored on the next launch.

Example snippets

/* Recolor the brand accent */
:root {
  --dsw-alias-brand-primary: #22d3ee;
}

/* Wider, calmer conversation column */
[data-conversation-scroll] {
  font-size: 15px;
  line-height: 1.7;
}

Design tokens available to a snippet are the Harness CSS custom properties (--dsw-alias-*, --dsw-font-*), so a theme can stay consistent with whatever light/dark variant DSH is using.


4. Files

FileRole
package.jsonManifest: dsh.bundle.patch + dsh.client (platform: web, immediately, inject).
cordis.patch.ymlBundle patch that inserts this package into the loader tree.
index.jsHost half: GET/POST /api/custom-css/config and the $DSH_HOME-based JSON store.
client.jsBrowser half: style injection, Settings section, toggle + textarea.
install.ps1Windows installer (pnpm add + register the bundle entry).
config.jsonCreated at runtime under ~/.dsh/plugins/dsh-plugin-custom-css/.
smoke-test.mjsBrowser-half test: runs client.js against a DOM/React stub and asserts the injection, toggle, and persistence behavior.
host-test.mjsHost-half test: mounts the real route on node:http and asserts GET/POST/OPTIONS, merge semantics, and restart recovery.
LICENSEMIT.
.gitignoreKeeps runtime state (config.json, plugins/) out of the repository.

Tests

node smoke-test.mjs   # browser half
node host-test.mjs    # host half

5. HTTP API

MethodPathBodyResponse
GET/api/custom-css/config—{ "enabled": boolean, "css": string }
POST/api/custom-css/config{ "enabled"?: boolean, "css"?: string }current config plus saved: boolean

6. Development notes

  • The browser bundle is hand-written framework-form CJS (window.__ModuleLoader__.load) and requires only platform seed modules — react, react/jsx-runtime — so it declares no dsh.client.external edges.
  • Edit client.js and restart the app (or let the Harness HMR reload the plugin bundle if your setup watches it).
  • To reset everything, delete ~/.dsh/plugins/dsh-plugin-custom-css/config.json.

License

MIT © nguyenduclong-ict