rosefinch539
dsh-composer-resize
DSH 网页输入框拖拽调节插件 · Drag-to-resize DSH web composer: up to grow, down to shrink
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 15, 2026
- Updated
- Aug 15, 2026
Introduction
dsh-composer-resize
中文简介
dsh-composer-resize 是 DeepSeek Harness(DSH)网页端的一个轻量输入框拖拽调节插件。它在输入框卡片的上边缘提供一个小拖拽把手:向上拖,输入框变高;向下拖,输入框变矮。拖拽过程中视图始终锚定在文本底部,长草稿缩小后依然能看到最后几行,不会出现底部行被裁切的问题。插件为纯前端实现——不调用模型、不执行宿主命令、不写入会话日志,开箱即用。
English Intro
dsh-composer-resize is a lightweight drag-to-resize plugin for the DeepSeek Harness (DSH) web composer. It puts a small handle on the top edge of the input card: drag up to make the composer taller, drag down to make it shorter. While resizing, the view stays bottom-anchored, so shrinking a long draft keeps the last lines visible and nothing gets clipped. Purely client-side — no model calls, no host commands, nothing written to session logs.
Features / 功能
- Drag up = taller, drag down = shorter — the drag direction matches the deformation direction. 向上拖=变高,向下拖=变矮 — 拖动方向与变形方向一致。
- Bottom-anchored scrolling while resizing; long drafts keep their last lines in view. 拖拽时底部锚定,长草稿缩小后仍显示最后几行。
- Range: 52 px to 75% of the viewport height (720 px cap). 范围:52px ~ 75% 视口高度(上限 720px)。
- Pure browser-side plugin using stable DSH
data-*attributes. 纯浏览器端插件,锚定 DSH 稳定的data-*属性。
Compatibility / 兼容性
- DSH
0.1.0-rc.6web UI (data-composer-card/data-input-scroll). - Chromium-based browsers recommended (Pointer Events). 建议使用 Chrome / Edge 等 Chromium 内核浏览器。
Install / 安装
From GitHub / 从 GitHub 安装
dsh plugin --profile web add github:rosefinch539/dsh-composer-resize
Restart DSH, or hard-refresh the web page (Ctrl+F5) if /plugins is served with Cache-Control: no-cache.
重启 DSH;若服务端 /plugins 响应为 no-cache,直接强刷网页(Ctrl+F5)即可。
From the release tarball / 用 Release 里的 tgz 安装
dsh plugin --profile web add https://github.com/rosefinch539/dsh-composer-resize/releases/download/v1.1.0/dsh-composer-resize-1.1.0.tgz
Uninstall / 卸载
dsh plugin --profile web remove dsh-composer-resize
How it works / 工作原理
- The node half is a no-op; the browser half is served at
/plugins/dsh-composer-resize/client.js. 宿主侧为空实现;浏览器侧从/plugins/dsh-composer-resize/client.js加载。 - It injects a
<style>block plus one[data-resize-handle]element per[data-composer-card]. 注入一段样式,并给每个输入框卡片添加一个[data-resize-handle]拖拽把手。 - Pointer drag sets inline
height/max-heighton[data-input-scroll]and pinsscrollTopto the bottom on every frame. 拖拽时给[data-input-scroll]设置内联高度,并在每一帧把scrollTop钉在底部。 - A
MutationObserverre-attaches the handle if React re-renders the composer. 通过MutationObserver在 React 重渲染后自动重新挂载把手。
License / 许可证
MIT