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.

Sidebar Buttons — DSH Plugin for DeepSeek Harness
← Plugins
S

dsh-sidebar-buttons

Sidebar Buttons

DeepSeek Harness plugin: manage the sidebar-foot action buttons — reorder them by drag-and-drop and control each one from a dedicated settings page with three states (show in sidebar / fold into the "More" menu / fully hide).

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

npx -y @deepseek-ai/dsh plugin --profile web add github:lywusichen/dsh-sidebar-buttons#5e7150dbf653e739a83c25d06e30bb2c5c6ea007
READMECompatibilityVersions
Settings nav positionSettings page

Compatibility and provenance

Sidebar Buttons is published as dsh-sidebar-buttons and currently resolves to version 0.1.5. 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.5stable
9/11/2026
0.1.4stable
9/10/2026
0.1.3stable
9/8/2026
Show 2 more versionsCollapse versions
0.1.2stable
8/23/2026
0.1.0stable
8/23/2026

Related plugins

Loading related plugins…

Latest
0.1.5
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 3
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
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

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 pluginsRemote 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.

README

dsh-sidebar-buttons

English | 简体中文

A DeepSeek Harness plugin. Takes over the buttons at the bottom of the left sidebar: drag to reorder them, put each one into one of three display states, and give them all the same height.

Compatibility

Tested on DSH 0.1.5-rc.1 (web profile). Also runs on 0.1.2-rc.1 — those two releases are what dsh.engines.dsh in package.json declares, so a host or plugin manager can read the same range without parsing this file.

Everything happens in the browser. The plugin re-registers entries in the sidebar.footer.action slot — a documented slot — and never touches the DSH core or another plugin's files, so uninstalling it restores the original sidebar.

Install

  1. Add the plugin:

    dsh plugin --profile web add github:lywusichen/dsh-sidebar-buttons
    
  2. Restart DSH.

  3. Open Settings → Sidebar Buttons.

What it does

  • Lists every button currently registered in the sidebar foot. Drag a row to change the order; the sidebar updates as you drop it.
  • Each button has three display states:
    • Show — pinned in the sidebar, as usual.
    • Fold into More — moved into a "More" button above Settings. The More button only exists while at least one entry is folded, and folded buttons stay fully usable from its menu.
    • Hide — gone from both the sidebar and the More menu. Only the settings page can bring it back.
  • Buttons from different plugins come in different sizes. Pick one height for all of them, keep each button's own size, or type a custom pixel value.

Screenshots

More button position

More menu

Settings nav position

Settings page

How it works

The sidebar foot is a list slot, so a plugin can register more than one entry under the same id and the renderer sorts them by priority. This plugin re-registers each existing entry with priority: -1, which puts its copy in front of the original, and renders its own wrapper around the original component. Order, visibility, and size then come from a shared store that every wrapper reads. Nothing is unregistered, so turning the plugin off returns control to the originals immediately.

One kind of button does not fit that model: the slot entry is only an anchor and the plugin renders the real button elsewhere in the sidebar, so re-rendering it inside another container moves nothing. Those buttons are relocated as their real DOM node instead — the component stays mounted and the node moves between the sidebar, the More menu, and a hidden park, depending on its state.

Known limitations

  • When a slot entry is only an anchor and the plugin draws the real button elsewhere in the sidebar, this plugin finds that node through a data-plugin-entry marker or a built-in declaration table. With neither, it cannot tell the button apart and leaves it alone.
  • Reordering and the More menu depend on slots.entries and slots.subscribe, which the plugin relies on to stay aligned with registrations made after it loads. If a future DSH release changes the list-slot contract, this plugin needs an update.
  • The three states are stored per button id. Two plugins registering the same id share one state.

Build

npm install   # esbuild
npm run build # generates lib/client.js

Commit lib/client.js. Git-hosted installs consume the built artifact directly.

License

MIT