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

dsh-width-tiers

Width Tiers

DSH Web client plugin: chat content width tiers (standard / medium / wide / ultra / full / custom) with a floating picker button. Mounts into the app's shell.overlay slot on DSH 0.2.x and drives the native width axis, so the built-in drag handles keep wor

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

npx -y @deepseek-ai/dsh plugin --profile web add dsh-width-tiers@2.0.2
READMECompatibilityVersions

Compatibility and provenance

Width Tiers is published as dsh-width-tiers and currently resolves to version 2.0.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
11/4/2026

Versions

2.0.2stable
11/3/2026
2.0.1stable
10/28/2026
2.0.0stable
10/23/2026
Show 6 more versionsCollapse versions
1.0.9stable
10/22/2026
1.0.8stable
10/17/2026
1.0.7stable
10/8/2026
1.0.6stable
9/23/2026
1.0.5stable
9/11/2026
1.0.4stable
9/4/2026

Related plugins

Loading related plugins…

Latest
2.0.2
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
61.9 kB
Files
15
Surface
web
License
MIT
Source
npm
GitHub
★ 2
Weekly downloads
444
Security scan
✓ v2.0.2 scan passed
Last push
11/3/2026
View source ↗Project homepage ↗
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.

Better Sidebardsh-better-sidebarBetter Sidebar for DSH — file tree, editor, changes, tasks and side chat in one column, separate for every conversation. Also exposes a service other plugins use to register sidebar tabs and file viewers.Dafeiyudsh-dafeiyuA desktop-native BigFish companion driven by DeepSeek Harness session events.Codex Ui@michengai/dsh-codex-uiDSH Codex UI — 为 DeepSeek Harness 提供极速历史召回、全屏设置皮肤、原生物理毛玻璃换肤、模块化侧栏与桌面原生窗口菜单 · Input enhancement, settings skin, native glass theme, modular sidebar, and desktop titlebar menu for DSHDeepseek Idesigndeepseek-idesigniPolloWork Design Studio and its curated design templates as a native DeepSeek Harness conversation view.

README

dsh-width-tiers

Chat content-width tiers for the DeepSeek Harness Web GUI.

English | 中文

Tiers

TierContent widthSidebar
Standard 标准App default: max(680px, min(column × 0.64, 920px))unchanged
Medium 中等1120pxunchanged
Wide 宽1280pxunchanged
Ultra 超宽1400pxunchanged
Full 全宽max(640px, column − 176px)collapsed to icon rail
Custom 自定义width recorded from a native dragunchanged

Fixed and custom widths are clamped by the app to max(640px, column − 176px); the standard tier follows the app default (680–920px). On a narrow window a wider fixed tier therefore behaves like full, and the menu shows the reachable maximum for fixed tiers (1280px reads 640px on an 800px column).

Features

  • Uses the app's native width axis (--dsh-chat-user-width and dsh.conversation.contentWidth), so the built-in drag handles keep working.
  • Persists the selected tier and restores it on the next visit.
  • Follows Settings → Language (中文 / English / 日本語 / Español / Français / Deutsch / Русский / Português), including the Settings plugin card's title and summary (locale/<lang>.json).
  • Menu supports ArrowUp/Down, Home/End, Escape and Tab, with focus restoration.
  • Tier changes sync across tabs.
  • Respects prefers-reduced-motion.
  • Never touches the right panel. Only full collapses the left sidebar, and you can expand it again at any time.

Install

dsh plugin --profile web add dsh-width-tiers

Restart dsh web, then hard-refresh the page. A six-bar picker appears at the bottom-right.

For a local checkout:

dsh plugin --profile web add link:/path/to/dsh-width-tiers

Usage

  • Click the picker and choose a tier.
  • Picking Custom before the first drag opens a guide at the right edge; drag a native handle to record a width.
  • Dragging any native handle switches to Custom; the plugin steps aside while you drag.
  • Standard clears the width preference and returns to the app default.
  • Full collapses the left sidebar; the icon rail stays available.

How it works

  • Mounts the picker into the frame-wide shell.overlay slot; the plugin fiber owns the controller lifetime, so no listeners or timers outlive it.
  • The controller publishes an immutable snapshot (tier, menu, guide); the React picker renders it and dispatches actions, so the view can remount without rebuilding observers.
  • Locates the conversation body that declares --dsh-chat-content-width (prefers [data-conversation-content], skips the right sidebar's embedded conversation), then writes --dsh-chat-user-width on its parent.
  • Stores the configured target in the app preference; only the inline width is clamped to max(640px, column − 176px).
  • Watches the column with ResizeObserver so full follows sidebar, rightbar and window changes.
  • Drives panels through ctx.layout and registers copy through ctx.locale.

Compatibility

  • DSH Web 0.2.x with a web profile (shell.overlay slot and slots service).
  • Width axis checked against DSH 0.2.2-alpha.3: 640px floor, 176px handle budget, --dsh-chat-* variables, data-width-handle, layout/locale services.
  • Narrow screens: the picker hides while alpha.3's sidebar drawer (data-sidebar-drawer) is open and follows the on-screen keyboard.

Development

pnpm install
pnpm build        # src/ -> lib/ (host entry + loader-wrapped client bundle)
pnpm typecheck
pnpm test         # vitest: controller (jsdom) + picker component suites
pnpm verify:client

The sources live in src/ (src/index.ts is the no-op host entry, the feature lives in src/client/); lib/ is the built, published payload. The vitest suites import the sources directly: the controller runs under jsdom and the picker is rendered with Testing Library, so no live DSH instance is required. verify:client checks the built bundle contract. Development needs Node 22+ and pnpm.

Notes

  • Wider fixed tiers are clamped on narrow windows.
  • A custom width dragged on a narrow window is clamped by the app before it is recorded.

License

MIT — see LICENSE. Copyright (c) 2026 aaronlei.