DSH Plugins Marketplace

DSH Plugins

Plugins

/

UI & Experience

/

dsh-fluid-chat-width

d

dsh-fluid-chat-width

Identified

Fluid conversation width for the DSH web UI: the chat column follows the window minus a 64px margin, capped at 1560px and floored at 640px, while the built-in drag handles still override it.

dsh-fluid-chat-width

Fluid conversation width for the DeepSeek Harness web GUI.

The chat column stops being pinned to a fixed reading measure and follows the window instead: column width − 64px, capped at 1560px, floored at 640px. No settings page, no button — resize the window and the column tracks it.

What it does

The DSH web client sizes its conversation column from a fixed measure and lets the built-in drag handles override it with an inline --dsh-chat-user-width on the conversation root. This plugin publishes that same custom property from a ResizeObserver on the column, so:

  • Fluid by default — the column is min(columnWidth − 64, 1560) on every resize, never narrower than the app's own 640px floor.
  • Drag handles still win — a handle writes a deeper inline declaration, which legitimately overrides the published value. Dragging is unaffected; the value you drag to is what you get.
  • Stale preferences are cleared once per boot — the client persists a fixed width in localStorage["dsh.conversation.contentWidth"]. On startup this plugin removes that key and strips any inline echo already published, so a leftover pinned width from an earlier drag cannot silently defeat it.

Embedded conversations are left alone: they define their own content width and ignore --dsh-chat-user-width. Only the main chat region is targeted ([data-conversation-region="chat"] > [data-conversation-scroll]).

Tuning

The three constants live at the top of apply() in client.js:

const MARGIN = 64;  // total side breathing room (px)
const CAP    = 1560; // max content width (px)
const MIN    = 640;  // floor, matches the app's own CONTENT_MIN

They are compile-time constants rather than settings on purpose: this plugin has no host half, no settings namespace, and nothing to persist. Edit and reload.

Install

dsh plugin add dsh-fluid-chat-width

Or from a checkout:

dsh plugin add github:helloworld010234/dsh-fluid-chat-width

Restart the client afterwards.

Uninstall

dsh plugin remove dsh-fluid-chat-width

If you had dragged a handle before installing, the preference key was cleared on boot. Nothing else is left behind — the plugin writes no files, registers no routes, and touches no storage except removing that one key.

How it is built

Two faces, no build step, no runtime dependencies:

FileFaceRole
index.jshost (Node)Deliberately empty. Satisfies the plugin shape so the bundle patch can mount the package into the web roster.
client.jsbrowserThe whole plugin: one ResizeObserver, one custom property. A hand-written window.__ModuleLoader__.load closure factory.
cordis.patch.ymlbundle patchInserts the dsh.client row into the profile's layer stack.

There is no bundler and no transpiler — client.js ships as written, which is why the source you read here is the source that runs.

License

MIT

Comments

Loading…

Similar plugins

dsh-chat-width-customizer

Session-header button that cycles the conversation width (748-1600px), widening the chat column, composer, and user bubbles together.

UI & ExperienceManifest valid

★ 0

dsh plugin --profile web add dsh-chat-width-customizer

by yunxiyang

DSH web client plugin: pins the conversation column to a configurable percentage of its width (default full width) instead of the built-in 680-920px reading measure.

UI & ExperienceManifest valid

★ 0

MIT

JavaScript

Sep 29, 2026

dsh plugin --profile web add dsh-wide-conversation

by 764475881

Drag-to-resize chat content width for the DeepSeek Harness web UI (748px -> 1040px, draggable handle). · DSH 网页聊天宽度可拖拽调节插件

UI & ExperienceDevelopment & InfrastructureTerminal & ClientsManifest valid

★ 4

↓ 41/wk

MIT

JavaScript

Sep 28, 2026

dsh plugin --profile web add dsh-chat-width

Below 1024px the sidebar leaves the shell frame entirely and is opened as an overlay drawer from a header button, so the conversation gets the full viewport width; wider layouts are untouched.

UI & ExperienceManifest valid

★ 0

MIT

JavaScript

dsh plugin --profile web add dsh-mobile-sidebar

by djs326

All-in-one UI plugin for DSH Desktop (Windows): conversation-width slider with fullscreen preview and follow-window mode, thinking-block enhancements (forced Chinese, expand/collapse, Markdown renderi

UI & ExperienceManifest valid

★ 3

↓ 212/wk

MIT

TypeScript

Sep 26, 2026

dsh plugin --profile web add dsh-plugin-width-slider

by AnakinCao

DSH Web GUI plugin: adaptive chat content width — the middle area expands with screen resolution (1080p/2K/4K) when side panels are collapsed (injects CSS overriding --dsh-chat-content-width)

Tools & CapabilitiesTerminal & ClientsManifest valid

★ 0

MIT

JavaScript

Aug 31, 2026

dsh plugin --profile web add dsh-chat-width