Skip to content
dsh-market Browse plugins GitHub 中文

lavapapa/dsh-composer-layout

Web Composer placement for long prompts: keep it at the bottom or dock it in a resizable right column beside a long answer.

Stars ★ 3 Category UI Enhancements Listed 2026-08-20 npm dsh-composer-layout

Install

Inside DeepSeek Harness, with dsh-market

dsh plugin --profile web add dshmarket

Or from the command line

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

Installing runs third-party code with your own permissions — it can read your files, use your credentials and reach the network. Review the source first, and pin a commit (github:owner/repo#sha) when you can.

Screenshots

README

Answer and draft side by side — layout illustration

Long answers and detailed prompts deserve their own space. Dock Composer to the right to reference an answer while shaping your next message; keep it at the bottom for compact conversations, or let Automatic choose as the window changes. Models, permissions, sessions, tools, and token accounting continue to use DSH's native behavior.

Features

Three small layout changes make the reading-and-writing workflow easier to manage:

Adaptive layout and overflow controls — feature illustrations, not screenshots

More everyday details:

  • Per-session memory. With “Remember this session layout” enabled, each session keeps its placement and manually resized right-pane width in this browser.
  • Native editing. The right-side editor fills the available input surface, including the blank area below a short draft, and retains native text selection.
  • Reachable pickers. Slash and file-reference candidates stay inside the side pane. Opening another Composer popup closes those candidates first.
  • Your preferred width. Choose a narrow, medium, or wide default right pane; fine-tune it with the divider.

See the changelog for version differences. Entries marked Unpublished describe development previews.

Install

Use your intended Web profile in place of web. The npm package includes the prebuilt plugin bundle.

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

Follow the plugin manager's loading instructions. If it reports that a restart is needed, restart the target Web service using its usual launch method and refresh the page. Then open Settings → Built-in plugins → Composer Layout and choose Right or Automatic. If you launch DSH manually:

dsh web --profile web

Check the published version with npm view dsh-composer-layout version. Confirm the bundle is in the intended profile with dsh --profile web --dump-config. For dependency declarations, see package.json.

Install directly from GitHub

Choose a published release tag that matches your DSH version; supported ranges are declared in peerDependencies in package.json. Replace <release-tag> below with that tag:

dsh plugin --profile web add "github:lavapapa/dsh-composer-layout#<release-tag>"

The repository includes the host and browser artifacts needed for GitHub installs. Follow the plugin manager's loading instructions; if a restart is needed, use the target service's usual launch method and refresh its page.

Stop the Web service using that profile with its usual service controls, then check the npm version and replace the plugin in the same profile:

npm view dsh-composer-layout version
dsh plugin --profile web remove dsh-composer-layout
dsh plugin --profile web add dsh-composer-layout@latest

Start the target Web service again with its usual launch method and refresh the page.

Use it in DSH

Set your default in Settings → Built-in plugins → Composer Layout, or use the rail at the conversation's right edge to switch between Bottom and Right. In Right layout, drag the divider to resize the Composer pane.

Right-edge rail, layout switch, and right-pane resizing

Mode When to use it Behavior
Bottom Short messages or a narrow window DSH's compact bottom editor.
Right Read a long answer while drafting a detailed prompt Two columns when they fit; temporary Bottom layout when space runs out.
Automatic Change window size often Uses the conversation main area's width-to-height ratio and the minimum width needed by both columns.

The Automatic threshold is editable in the plugin settings. Enable session memory to keep each conversation's layout and width. The Home/new-session screen retains DSH's native layout.

Chat uses the available left-column width; the plugin divider adjusts its reading space. DSH's two native transcript-width handles are hidden in Right layout. Returning to Bottom restores those handles and preserves DSH's saved width preference.

Development

The changelog separates published work from development previews. Its scroll/overflow entries cover native reading-position restoration, extra-control folding in Bottom, native menu surfaces and positioning, original control sizing, and unclipped inline tooltips. Check the corresponding release entry before expecting those refinements in an npm installation.

The plugin owns its implementation under src/ and commits the generated lib/ artifacts used by GitHub installs. Before publishing:

pnpm typecheck
pnpm build
pnpm test
pnpm test:dsh-matrix

For contributions, see CONTRIBUTING.md.

Community

Find the plugin in Awesome DSH Plugin, Awesome DeepSeek Harness Plugins, Awesome DSH Plugins, and Oh My DSH.

Report a bug or suggest a feature · DSH plugin topic · DSH Market

Content from the project README on GitHub ↗

Comments

Comments live in GitHub Discussions. Sign in with GitHub to post or react.