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 Groups — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
P

dsh-plugin-groups

Plugin Groups

A single-row category tab bar for the plugin page’s “Installed” list (All / Interface & Appearance / Usage & Accounts …). Click a tab to show only that category; the selected tab is remembered. Patch plugins appear under the plugins they modify. Display-only—does not affect any other plugins or DSH

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

npx -y @deepseek-ai/dsh plugin --profile web add github:p56568833/dsh-plugin-groups#e03a1a5896f0b3149d3df7f811472544ea932a70
READMECompatibilityVersions
Category tabs, with a patch plugin nested under its parent

Description

A single-row category tab bar for the plugin page’s “Installed” list (All / Interface & Appearance / Usage & Accounts …). Click a tab to show only that category; the selected tab is remembered. Patch plugins appear under the plugins they modify. Display-only—does not affect any other plugins or DSH code; uninstalling fully restores the original state.

Compatibility and provenance

Plugin Groups is published as dsh-plugin-groups 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
10/4/2026

Versions

0.1.0stable
10/4/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
10/5/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.

Client Ui Skill Explorer@linxin666/dsh-client-ui-skill-explorerDSH skill center: browse loaded skills by source (bundled / project / user / custom / runtime), enable or disable, create and delete, in a web GUI panel.Remote Web Ui@linxin666/dsh-remote-web-uiScan-to-pair remote access for the dsh web GUI that shares one official interface: a QR beside the settings button pairs phones and PCs into the same Web GUI (a portrait-touch adaptation layer for phones, full desktop on PCs) through one-time tokens and rClient 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.Web All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / git-graph / pet / remote-web-ui / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。

README

dsh-plugin-groups

English | 中文

A DeepSeek Harness plugin that adds one row of category tabs to the Plugins page's Installed list, and nests patch plugins under the plugin they patch.

Category tabs, with a patch plugin nested under its parent

Another category: the writing-progress add-on nested under the writing mode it reports on

What it does

  • Category tabs — All · Appearance & UI · Usage & account · Models & subscriptions · Memory & context · Tools & abilities · Tasks & workflow · Market & install. Pick a tab to see only that category; the choice is remembered per browser and the counts follow installs / uninstalls live. Plugins that match no category land in Other, always last.
  • Patches nested under their parent — a plugin that exists only to patch another one is shown right below it, indented, joined by a thin └ line and tagged Patch; the parent gets an N patches tag. A patch follows its parent's category. If the parent is not installed, the patch is shown on its own as usual.
  • Looks native — the tabs copy the official settings tabs (gap: 22px, 13/20px, 2px underline, official focus ring) and use only DSH design tokens, so they follow light / dark and third-party skins.
  • Display only — no slots, no config, no files written, no network. It never touches another plugin or DSH itself. Disable or uninstall it and the page is exactly as before.

Install

# desktop app
dsh plugin --profile desktop add github:p56568833/dsh-plugin-groups
# web
dsh plugin --profile web add github:p56568833/dsh-plugin-groups

Then fully quit and reopen DeepSeek Harness (or restart dsh web and refresh the page).

Uninstall from the Plugins page, or dsh plugin --profile desktop remove dsh-plugin-groups.

Customize

Everything lives at the top of client.js:

TableWhat it does
CATEGORIESTab order = array order. packages are exact package names (checked first); keywords are regexes on the package name for plugins you install later. Matching is by package name, not by the displayed title, because titles change with translation plugins and UI language.
PARENTSpatch package → parent package. Add a line for any patch plugin you use. The shipped entries are examples from the author's setup; a pair only shows when both plugins are installed.

Tab labels follow the page's own language (Chinese when the page heading is Chinese, English otherwise).

How it works

Against the official @deepseek-ai/dsh-client-ui-plugin-manager markup:

HookUsed for
[data-plugin-panel]the Plugins page
[data-plugin-group="bundles"] ulthe Installed card list (a flex-direction: column list)
li[data-plugin-package="<npm name>"]one card — the same attribute the page itself uses to scroll to a plugin

The tab row is inserted as the list's first child with order: -1; filtering sets display: none on cards; nesting only sets the flex order (cards are never moved in the DOM — React keeps owning the order) plus data-dsh-pg-* markers styled by CSS. A MutationObserver re-applies after React re-renders and ignores its own mutations. If the hooks ever disappear after a DSH update, the plugin does nothing and logs one warning.

Diagnostics on <html>: data-dsh-plugin-groups = idle / flat / active:N / broken / renamed, and data-dsh-plugin-groups-tab = the active tab. The selected tab is stored in localStorage["dsh-plugin-groups/tab.v1"].

Verify

node verify.mjs

Runs the tab and nesting behaviour against a fake DOM (switching, remembering, highlight fallback, idempotence, clean uninstall), and — on macOS with the desktop app installed — reads the official plugin-manager source out of app.asar to assert the DOM hooks still exist, with negative cases proving those assertions can fail.

License

MIT