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

@vennahlot/dsh-tabs

Tabs

Chrome-style tabs for DSH chat sessions: a vertical or horizontal tab strip in your order, collapsible tab groups, each tab one session or a split of up to four live panes.

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

npx -y @deepseek-ai/dsh plugin --profile web add @vennahlot/dsh-tabs@0.1.2
READMECompatibilityVersions
dsh-tabs: a vertical tab strip with three tab groups (one collapsed) and a two-pane split

Compatibility and provenance

Tabs is published as @vennahlot/dsh-tabs and currently resolves to version 0.1.2. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
10/24/2026

Versions

0.1.2stable
10/24/2026

Related plugins

Loading related plugins…

Latest
0.1.2
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
134.7 kB
Files
8
Surface
web
License
MIT
Source
npm
GitHub
★ 0
Weekly downloads
0
Last push
10/23/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 Session Titles Bundle@deepseek-ai/dsh-experimental-session-titles-bundleRefresh session titles as new human prompts arrive.Personalized Recommendations@deepseek-ai/dsh-personalized-recommendationsPersonalized pages and built-in plugin recommendations offered as cards below answersExperimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profileExperimental Web profile layer for Agent Teams Remote and UI plugins

README

dsh-tabs

Chrome-style tabs for DeepSeek Harness (DSH) chat sessions, in the Web GUI.

dsh-tabs: a vertical tab strip with three tab groups (one collapsed) and a two-pane split

  • A tab strip in your order. Opening a chat adds a tab at the end. Only opening, closing and dragging change the order; switching tabs never moves one.
  • Vertical or horizontal. Down the side (drag its edge to resize it, 180–560 px) or along the top like a browser.
  • Tab groups. Each has a name and a colour and can be collapsed. "Group by project" builds them from the chats' workspaces.
  • Splits. A tab holds one session or up to four live panes side by side. Drag a tab onto a pane's edge to split it, or onto its centre to replace or swap it.
  • Nothing stops. Closing a tab only takes it off the strip: the session keeps running in DSH's session list (the drawer), and ⌥⇧T reopens it.
  • Notifications. A bell collects one notification per question from any open tab, and you can answer short ones right there. ☾ Focus turns off the banners.
  • Subagents and jobs. A chip in each pane's header lists them; click a subagent to open it beside the pane.

The page appears as Tabs in the sidebar. Files, Terminal and file previews open on the session's normal full page (⤢); Back to tabs returns.

Install

Requires DSH with the Web GUI (dsh web).

dsh plugin --profile web add @vennahlot/dsh-tabs

Or from a clone, to hack on it:

git clone https://github.com/vennahlot/dsh-tabs.git
dsh plugin --profile web add link:$PWD/dsh-tabs

Then restart dsh web and refresh the page. The bundle adds its own profile row (cordis.patch.yml); the only option is stateFile (default ~/.dsh/dsh-tabs/state.json).

Shortcuts

KeysAction
⌥1 … ⌥8, ⌥9Tab n, the last tab
⌥[ ⌥]Previous / next tab
⌥OOpen a recent chat
⌥WClose the focused pane
⌥⇧TReopen the last closed tab
⌥←↑↓→Move focus between panes
⌥FFull page of the focused pane
⌥BShow or hide the drawer
⌥NNotifications

They also appear in DSH's shortcut reference. ? on the page explains the mouse actions.

For other plugins

dsh-tabs declares two slots that other bundles may fill:

SlotKindShows
tabs.menubar.itemlist, root scopeA small item on the page's menu bar (for example a usage gauge).
tabs.pane.sidekeyed, session scopeA side panel inside a pane, opened from the pane header.

Inject them with ctx.slots.inject('<slot>', () => ctx.slots.register({ name: '<slot>', … }, Component)) so your bundle waits until dsh-tabs is loaded and works without it.

Development

Plain JavaScript, no build step: index.js is the Host half (the state file and its route) and client.js is the Client half (the page). See DESIGN.md for how they work.

npm test        # the pure tab moves (node:test, no dependencies)
npm run check   # syntax check of both halves

After a change to client.js, refresh the page. A change to index.js needs a DSH restart.

License

MIT