dshbase

Plugin directory / UI & Skins / dsh-width-tiers

dsh-width-tiers

Verified · install-tested on dsh aaronlei

✓ Actively maintained

View on GitHub ↗ ← Back to plugin directory

1Stars
0Forks
0Open issues
JavaScriptLanguage
2026-08-15Last push
Cross-platformPlatform

What it does

A client plugin for the DeepSeek Harness Web GUI that adds chat content width tiers with a floating picker button (bottom-right, above the…

✅
Our take
Works — verified, early-stage project

A client plugin for the DeepSeek Harness Web GUI that adds chat content width tiers with a floating picker button (bottom-right, above the… It installs cleanly and boots without issues in our testing. It's early-stage but functional.

“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.

README

dsh-width-tiers

License: MIT

A client plugin for the DeepSeek Harness Web GUI that adds chat content
width tiers
with a floating picker button (bottom-right, above the
composer): 标准 / 中等 / 宽 / 超宽 / 全宽 (standard / medium / wide / ultra /
full).

Why

The DSH Web app hard-codes a readable content width on the conversation root
(--dsh-chat-content-width: 748px). That caps the message column — and every
table inside it — at 748px no matter how wide your window or panels are,
so wide tables always need horizontal scrolling.

This plugin overrides that variable per tier:

Tier Content width Sidebar
standard 标准 748px (app default) untouched
medium 中等 960px untouched
wide 宽 1280px untouched
ultra 超宽 1400px untouched
full 全宽 100% (fills the window) collapsed to the icon rail

The choice persists in localStorage and is restored on the next visit; the
menu highlights the current tier, and the button's five level-bars show it at
a glance.

Install

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

Then register it as a loader entry in
~/.dsh/profiles/web/cordis.patch.yml:

- insert:
    - id: dsh-width-tiers
      name: dsh-width-tiers

Restart dsh web (the plugin loads at boot) and hard-refresh the page
(Ctrl+Shift+R). A round button with five bars appears at the bottom-right.

Installing from a local checkout: dsh plugin --profile web add file:/path/to/dsh-width-tiers.
Local-development gotcha: file: dependencies are copied into the
profile's node_modules (pnpm does not symlink them). After editing the
plugin source, re-sync the copy (e.g. rsync -a --delete --exclude .git /path/to/dsh-width-tiers/ ~/.dsh/profiles/web/node_modules/dsh-width-tiers/)
or re-install after removing it, then restart dsh web and hard-refresh.

Usage

  • Click the round button → pick a tier; the current one is highlighted.
  • full collapses the sidebar to the icon rail through the app's own toggle
    — it is never force-hidden or locked: click a rail icon any time to expand
    it, and it stays expanded.
  • Non-standard tiers also close the details panel (re-closed automatically if
    reopened); standard leaves everything to the app.

Language

All picker copy (tier labels, button aria-label and title) follows the
app's Settings → Language (中文 / English), through the app's own locale
service. Switching the language re-renders the button and menu immediately;
when no explicit language is chosen the app falls back to the browser's
language, and Chinese is the last resort. No plugin-side setting needed.

How it works

  • The element that defines --dsh-chat-content-width is located at
    runtime
    (the first element whose computed value is non-empty) and the
    tier is applied as an inline override — no hashed class names, so it
    survives bundle upgrades.
  • Panels are driven through the layout service (ctx.layout), never by
    simulating clicks.
  • The sidebar is only ever collapsed by the full tier; returning to
    standard restores it only if this plugin collapsed it.
  • Dictionaries are registered with the app's locale service
    (ctx.locale.register / bind) and re-rendered through its change
    subscription, so the copy always matches the app's active language.

Limitations

  • Content width cannot exceed the window: on a narrow window, wider tiers are
    capped by the available column. Use full (which also collapses the
    sidebar) for the maximum.
  • Requires the DSH Web client plugin system (dsh ≥ 0.1.0-rc.x with a web
    profile).

Uninstall

dsh plugin --profile web remove dsh-width-tiers

Remove the dsh-width-tiers row from ~/.dsh/profiles/web/cordis.patch.yml,
then restart dsh web.

License

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

Install

🧩 Let your agent install it (recommended)

Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:

dsh plugin add dshbase-catalog

Then say "install dsh-width-tiers for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.

Web profile:

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

Headless (CLI) profile:

dsh plugin --profile headless add dsh-width-tiers

Package

npm: dsh-width-tiers · version — · tested on dsh 0.1.0-rc.6

Test report

Verified end-to-end: L1 install + L2 load + L3 runtime Q&A on dsh 0.1.0-rc.6.

When to use it

Change how dsh looks or how you interact with it — a theme, a skin, or a new panel that reshapes the workspace.

Who it's for

Users who spend hours in the web UI and want it to look and feel the way they work.

For developers — extending it

Skins, panels, and theme tokens are the extension points — author a new skin, add a panel, or sync tokens with an upstream palette.

Security: not yet scanned — our daily static scan will cover it shortly.

Share this badge

More in UI & Skins

Browse all 7797 plugins →