AnakinCao / 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

main工具 查看源代码

安装

npx -y @deepseek-ai/dsh plugin --profile web add github:AnakinCao/dsh-composer-fix

此安装命令根据 GitHub 仓库地址生成,是未经验证的安装起点。

README

维护者编写的文档快照。

在 GitHub 查看 ↗
提交版本 07a9c70同步于 2026年8月18日

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

仓库信息

开发语言
JavaScript
许可证
MIT
最新发布
v1.0.0
最后更新
2026年8月16日 16:55

谨慎安装

请检查源代码、权限、生命周期脚本、依赖与网络访问;不受信任的插件应先在隔离环境中测试。