DSH Composer Layout

August 27, 2026 · View on GitHub

English · 简体中文

Release npm Included in Awesome DSH Plugin Included in Awesome DeepSeek Harness Plugins Included in Awesome DSH Plugins Included in Oh My DSH License

Overview · Install · Why side by side? · See it in DSH · Switch and resize · Features · Release checks · Contributing · 简体中文

Keep the answer in view while you write. Dock Composer to the right so the answer and your growing draft can stay side by side.

DeepSeek Harness Web plugin that lets the Composer stay at the bottom or dock in a right-side column. The chat and Composer keep their own space, while the normal DSH model, permission, quota, session, and tool behavior remains intact.

Keep the answer in view while you write

Why a side-by-side Composer?

The familiar bottom Composer works well when both the answer and the next message are short. Once either one grows, they have to compete for the same vertical strip: a long answer pushes the input away, while a long draft hides the material it is supposed to reference. The work then turns into compensation—copy a detail out, resize the input, scroll back to recover context, search for the passage just read, and repeat.

This is especially wasteful on a desktop. Most desktop displays are wide; horizontal room is usually available, while the height shared by a growing answer, a growing draft, and browser chrome is scarce. A vertical layout spends the abundant dimension poorly and makes the constrained one do all the work.

Docking Composer to the right gives reading and writing separate vertical space. The conversation can stay visible as it grows; the draft can become as detailed as the task requires. The important change is simultaneous access: read a passage, think through it, and shape the corresponding part of the next prompt without losing either surface. It is a small layout change that removes a recurring interruption from long-form work.

See it in DSH

A real DSH Web session beside a tall right-side Composer

Switch and resize

Right-edge handle, layout switch, and right-pane resize

What it adds

  • Bottom and right-side Composer placement from Settings → Plugins → Composer Layout.
  • A visible docking handle; in the right layout it also resizes the Composer pane.
  • Per-session placement and manually resized right-pane width when “Remember this session layout” is enabled.
  • When the window cannot fit both columns, temporarily stack the Composer while retaining a layout rail; the remembered right-side layout returns automatically once width is available again.
  • In the right-side layout, close slash/reference candidates before another Composer popup opens, so model, access, and context panels do not overlap them.

The plugin is presentation-only: it does not add model-facing tools, change prompts, or alter token accounting.

Install

Install from npm

The npm package already contains the prebuilt plugin bundle:

dsh plugin --profile web add dsh-composer-layout@latest
dsh web --profile web

Install directly from GitHub

DSH installs the plugin bundle directly from a GitHub repository; pinning the command to v0.1.12 makes the installed source explicit and repeatable.

dsh plugin --profile web add "github:lavapapa/dsh-composer-layout#v0.1.12"
dsh web --profile web

Then open Settings → Plugins → Composer Layout and select Right side. Restarting the Web profile is required because DSH does not hot-reload profile patches.

The repository ships the prebuilt host and browser artifacts used by this command, so installation does not need an install-time build step. To confirm that DSH added the bundle to the intended profile:

dsh --profile web --dump-config

Update

To move an existing installation to the current npm release:

dsh plugin --profile web remove dsh-composer-layout
dsh plugin --profile web add dsh-composer-layout@latest
dsh web --profile web

The DSH Web package range supported by the plugin is declared in package.json. The DSH compatibility workflow regularly checks the plugin against the current DSH release.

Development

The repository intentionally commits the generated lib/ artifacts used by GitHub installs. The plugin owns its implementation under src/; run pnpm typecheck, pnpm build, and pnpm test before publishing. Each release is also checked in a clean matching DSH checkout.

License

MIT. See LICENSE.