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.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
B

dsh-brand-text

Brand Text

DSH (DeepSeek Harness) branding in two layers: (1) basics — sidebar logo, sidebar name, hero title, document title, favicon and PWA manifest; (2) watermark — a translucent, opacity-tunable overlay on the page plus a stamping ledger that writes 'why this was added / what job is running' into project

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

npx -y @deepseek-ai/dsh plugin --profile web add github:Shushushu-whn/dsh-brand-text#5e1e7c6f71e79105a11e44d69c5bde52e320f815
READMECompatibilityVersions

Description

DSH (DeepSeek Harness) branding in two layers: (1) basics — sidebar logo, sidebar name, hero title, document title, favicon and PWA manifest; (2) watermark — a translucent, opacity-tunable overlay on the page plus a stamping ledger that writes 'why this was added / what job is running' into project files and folders. Ships a settings panel (/brand-studio/) and in-page double-click editing.

Compatibility and provenance

Brand Text is published as dsh-brand-text and currently resolves to version 0.4.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
10/17/2026

Versions

0.4.0stable
10/17/2026

Related plugins

Loading related plugins…

Latest
0.4.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 1
Weekly downloads
0
Last push
10/17/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
Brand Text — DSH Plugin for DeepSeek Harness

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 pluginsWhale Widgetdsh-whale-widgetDeepSeek balance whale widget in the bottom-right corner of the DSH Web interface: balance/today’s usage/peak-off-peak pricing, customizable bubble click sequence (text/balance/today/peak-off-peak/image/random phrases and parallel weighted selection), per-line styles and fonts, floating quick editinAb Chartdsh-ab-chartChart rendering tool with the browser card that draws its calls, in one publishable plugin package

README

dsh-brand-text

English | 中文

Branding for the DSH (DeepSeek Harness) Web client, in two layers:

  1. Basics — sidebar logo, sidebar name, the hero title in the middle of an empty conversation, browser tab title, favicon and PWA manifest.
  2. Watermark — a translucent, opacity-tunable overlay on the page, plus a stamping ledger that writes “why this was added” and “what job was running” into the project files and folders DSH works on.

Both layers are edited from one settings panel (/brand-studio/) or by double-clicking in place, and both live in the same brand.json.

⚠ Not the same as the community plugin dsh-custom-brand. Both occupy the sidebar brand slots, so do not enable them together — they fight over the same DOM.

① Basics — what you can change

ItemWhere it showsData key
Sidebar nameTop-left of the sidebar; also the browser tab title and PWA nameproductName
Hero titleThe line in the middle of an empty new conversationheroText (empty = official default "Into the Unknown" / 「探索未至之境」)
Sidebar logoSidebar brand slot / favicon / PWA iconlogoPath

Changes take effect on a page refresh (F5) — no DSH restart required.

This plugin also covers everything the community plugin dsh-client-ui-brand did (title / brand slots / favicon / manifest), so you do not need to install that one.

② Watermark — why bother doing it inside DSH

The obvious use is stamping photos. The less obvious one is the reason this lives in DSH:

You add a pile of project files/folders while working on something. Two weeks later you open them again and have no idea why they were added or what job you were in the middle of.

So the watermark stores two sentences — why this was added and what is being worked on — and shows them in two places:

FormWhere you see itNotes
A. Page overlayA translucent diagonal text layer over DSHopacity / angle / size / tiled-or-single are all tunable; pointer-events: none, so it never blocks clicks
B. File / folder stampInside the project directory — a _DSH水印说明.md note, an Explorer hover tip (InfoTip), and folder icon swapped to the brand markWritten to the folder itself, so it survives outside DSH

Stamps are tracked in a ledger (watermark.targets) with an apply / undo button per path. Undo removes the note, restores the previous desktop.ini, and clears the folder attribute.

Windows only for form B (it relies on desktop.ini + attrib). Form A works on any browser. Applying a stamp sets the system attribute on the target folder — that is how Explorer is told to read desktop.ini. Explorer may need F5 to pick it up.

Quick start

# 1. install into a profile — npm first (recommended)
dsh plugin --profile web add dsh-brand-text

# 2. restart that DSH instance

# 3. open the settings panel
#    http://127.0.0.1:<dsh-port>/brand-studio/

If the GitHub route fails (network, pnpm build blocked, version gate), fall back to a local copy — see Install C.

Two ways to edit (same data, same API)

WayHowGood for
Settings panelhttp://127.0.0.1:<dsh-port>/brand-studio/Everything: basics, watermark tuning with a live preview, and the file/folder ledger
Double-click in placeDouble-click the top-left brand area (logo or text) for a quick dialog; double-click the hero line to edit that copyQuick tweaks — the page reloads after saving

The dialog keeps the same order as the panel: ① basics first (name, hero title, logo), ② watermark after it (enable switch, watermark text, what job is running, opacity slider).

Trade-off: the sidebar brand area is normally a "new conversation" button, and a double-click would fire two clicks. To make double-click usable, the plugin swallows click / pointerdown on the brand slots — a single click no longer starts a new conversation; double-click edits, right-click opens the full panel.

Install

Recommended order: npm first (prebuilt, no pnpm build) → GitHub → local copy as the fallback.

A. From npm (recommended)

dsh plugin --profile web add dsh-brand-text

Restart DSH afterwards. Updates are just dsh plugin --profile web update dsh-brand-text (or remove + add again).

B. Straight from GitHub

dsh plugin --profile web add github:Shushushu-whn/dsh-brand-text

C. From a local folder (offline / fallback)

Use this when the GitHub route fails — no network, pnpm blocked from building a git dependency, or a version gate stops the install.

# download or clone the repo, then:
cd /path/to/dsh-brand-text
node install.mjs --profile "<path-to-profile>"

install.mjs is idempotent: it writes a link: dependency, adds the plugin to bundles, then runs pnpm install. Run it as often as you like. Local installs pick up your edits immediately (no reinstall needed after changing lib/).

Manual equivalent, inside the target profile:

  1. add "dsh-brand-text": "link:<absolute path to this plugin>" to dependencies
  2. add "dsh-brand-text" to dsh.profile.bundles
  3. run pnpm install --no-frozen-lockfile in the profile directory

Uninstall

Remove dsh-brand-text from dsh.profile.bundles and dependencies, then run pnpm install again. Undoing folder stamps first is a good idea (the ledger lives in brand.json, which you keep). The - id: dsh-brand-text block in the profile's cordis.patch.yml can stay (harmless) or be deleted.

Configuration

The plugin takes a single option:

- id: dsh-brand-text
  config:
    configPath: ''      # empty = brand.json next to the plugin

Each profile can override it, so one plugin can serve several brands:

- id: dsh-brand-text
  config:
    configPath: 'D:\brands\team-a.json'

brand.json shape — see brand.example.json:

{
  "productName": "Acme Corp",
  "heroText": "Ask the drawings. Find the sheet. Check the spec.",
  "logoPath": "D:\\brands\\logo-mark.png",
  "watermark": {
    "enabled": true,
    "text": "Acme Corp — Site B",
    "task": "October payment-measurement paperwork",
    "note": "Client internal audit in early November, collecting raw records first",
    "opacity": 0.18,
    "angle": -20,
    "scale": 1,
    "repeat": true,
    "color": "#ffffff",
    "onPage": true,
    "targets": [
      { "path": "D:\\projects\\site-b", "purpose": "audit evidence", "task": "paperwork", "at": "2026-10-17 21:33" }
    ]
  }
}

Old files without a watermark key keep working — it defaults to disabled.

HTTP routes

RoutePurpose
GET /brand-studio/Settings panel (① basics, ② watermark)
GET /brand-studio/api/configCurrent brand + watermark data
POST /brand-studio/api/saveSave ① ({productName, heroText, logoDataUrl})
POST /brand-studio/api/watermarkSave ② overlay settings
POST /brand-studio/api/watermark/targetApply / undo a folder stamp ({path, purpose, task} or {remove:true, path})
POST /brand-studio/api/openOpen a ledger path in the file manager (ledger paths only)
GET /brand-studio/watermark.svgWatermark tile — no params = current config, with params = live preview
GET /brand-studio/watermark-card.svgA printable/savable summary card
GET /brand-studio/logoCurrent logo, original bytes
GET /brand-studio/mark.svgSquare icon used for favicon / PWA
GET /brand-studio/manifest.webmanifestPWA manifest

These routes skip the DSH token check (same as the official plugin routes) and listen on loopback only. If you expose DSH to a LAN, add your own access control.

Compatibility

  • Host: @deepseek-ai/dsh 0.2.x (developed and verified on 0.2.1-alpha.4).
  • Uses three slots: sidebar.brand.mark, sidebar.brand.name, conversation.hero.brand.mark, plus webserver/index-inject and the window.__ModuleLoader__ bundle format (same as official client plugins).
  • Folder stamping is Windows-only and degrades quietly: if attrib is unavailable the note file is still written.
  • If branding stops working after a DSH upgrade: check logs/dsh.log for dsh-brand-text errors, then confirm the plugin is still listed in the profile's bundles.

Project layout

.
├─ package.json          declares dsh.client / dsh.bundle
├─ cordis.patch.yml      loader layer (also disables the official brand row)
├─ lib\index.js          host half: routes, index.html tap, brand.json I/O
├─ lib\config.js         ① brand config: read / normalize / atomic write / logo bytes
├─ lib\watermark.js      ② watermark: SVG tiles, summary card, folder stamping
├─ lib\panel.js          settings panel markup (basics first, watermark second)
├─ lib\client\index.js   browser half: brand slots + hero copy + title + watermark overlay + double-click editor
├─ install.mjs           idempotent installer for any profile
└─ brand.example.json    config sample

License

MIT