DeepSeek Harness plugin

dsh-composer-fix

DSH Web GUI layout fix: composer (input bar + bottom status bar) leaves the scroll region — message scrolling stops above the input bar, the scrollbar no longer covers the input area

Jump to install

Source facts

Repository
AnakinCao/dsh-composer-fix
Latest update
Aug 16, 2026
Category
UI Enhancements
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/AnakinCao/dsh-composer-fix
Plugin: dsh-composer-fix
Author: AnakinCao

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer4 files
README.mdSource · read only
README language

dsh-composer-fix

> 简体中文: README.zh.md

A DSH (DeepSeek Harness) Web GUI layout fix: moves the composer (input bar + bottom status bar) out of the scroll region.

What it does

In the default DSH layout the composer sticks (position: sticky) to the bottom of the message scroll container, so the scrollbar spans the whole container — including the input bar and the bottom status bar. When you scroll up through history, message content slides underneath the input/status bar; under translucent skins like harbor it even shows through.

This plugin moves the scrolling responsibility from the container down to the message list itself (attribute-only operations — no DOM node moves, no hash-class dependencies):

  • The scrollbar only covers the message area and ends above the input bar;
  • Message scrolling stops above the input bar — content never passes through the input bar or the bottom status bar;
  • The input bar and bottom status bar stay fixed at the bottom of the window, always visible;
  • Under translucent skins (harbor) the composer surface stays opaque — no bleed-through;
  • The git branch chip is never covered by the input card, and its left edge always stays aligned with the input card's left edge (re-aligned automatically after window resize / sidebar drag / panel open-close).

How it works (one sentence)

Removes the data-conversation-scroll attribute from the scroll container (core uses it to lift scrolling and force the list to overflow: visible), so the message list resumes its own scrolling; scrollerOf() / wheel logic falls back to the list itself via closest(...) ?? from.

Install

dsh plugin --profile web add https://github.com/AnakinCao/dsh-composer-fix.git

The plugin is a client bundle; after installing, refresh the page (or restart dsh web) to load it.

Uninstall

dsh plugin --profile web remove dsh-composer-fix

Compatibility

  • Uses stable attribute selectors only: [data-conversation-scroll], [data-composer-seat], [data-composer-card], [data-queue-dock], [data-slot=conversation.session], [data-phase] — no CSS module hash classes;
  • Moves no DOM nodes (attributes only), so no React removeChild unmount crash;
  • If core upgrades and the selectors still hold, no change is needed; if core reworks these attributes, just update lib/client.js in this plugin — no need to wait for an official fix.

License

MIT