插件目录 / Knowledge / dsh-input-enhancement
dsh-input-enhancement
已验证 · 实测可装 Triple3h
功能简介
DSH Web plugin: input enhancement — paste text collapse, file/folder attachment paste & drag-drop, bubble attachment folding, message fold, attachment management & cleanup. DSH Web 插件:输入增强——粘贴文本折叠、附件上传、消息折叠。
可用 — 实测通过,早期项目
DSH Web plugin: input enhancement — paste text collapse, file/folder attachment paste & drag-drop, bubble attachment folding, message fold, attachment management & cleanup. DSH Web 插件:输入增强——粘贴文本折叠、附件上传、消息折叠。 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-input-enhancement
A DeepSeek Harness (
dsh) Web plugin that enhances the input composer with three capabilities: paste-text collapse, file/folder attachment input, and long-message folding.
Stop fighting a cluttered composer. Large pasted text folds into a single chip, files and folders drop in with a paste or a drag, and long user messages collapse until you need them.
What you get
Three client capabilities plus a host-side attachment server:
A. Paste text collapse — large pasted text folds into a 粘贴·N行 reference chip (capture-phase paste interception, before React's delegated onPaste). The full text round-trips through clipboardText and is restored on send via the registered input-trigger source codec. Texts beyond offloadChars (default 100,000 chars) skip the in-memory registry entirely: they are offloaded to a temporary .txt at paste time through the same pipeline as pasted images (dock chip, upload, settings cleanup), and the model reads them by file path on send.
B. Attachment input — Ctrl+V paste files/folders, whole-page drag-drop, file/folder picker; files are uploaded to the host and inserted as attachment references. User-message attachment blocks fold into chips in the chat area. A settings panel shows usage stats and cleanup (including offloaded paste .txt files).
Clicking a chat attachment chip opens the file in dsh-better-sidebar when installed — .txt files in the editor, images in the viewer, expanding the panel if collapsed; without that plugin, clicking falls back to copying the file path. The integration is fully optional: everything else works without it.
C. Message fold — long user messages in the chat area fold with a toggle chip (chipOnly mode: collapsed = single chip; expanded = full text).
Host side — registers the attachment upload server on the DSH webServer: batches, staging, ownership markers, usage stats, cleanup.
Install (link, development)
npm install
npm run build # src/client.js → lib/client.js
npm run link-profile # wire into ~/.dsh/profiles/web, then restart dsh web
link-profile adds a link: dependency, appends to dsh.profile.bundles, and runs pnpm install in the profile. Then restart dsh web.
Configuration
Optional limits live under config.attachments in cordis.patch.yml (uncomment to override):
- id: input-enhancement
name: dsh-input-enhancement
config:
attachments:
maxFileBytes: 1073741824 # 1 GiB per file
maxBatchBytes: 2147483648 # 2 GiB per batch
maxFiles: 10000 # max files per batch
maxDepth: 64 # max directory nesting
maxConcurrentUploads: 4 # parallel uploads per batch
Client behavior config (localStorage)
Override collapse/offload thresholds from browser DevTools via dsh-input-enhancement.config (takes effect after reload):
localStorage.setItem("dsh-input-enhancement.config", JSON.stringify({
minLines: 30, // min lines to fold
minChars: 2000, // min chars to fold
offloadChars: 100000, // pasted texts beyond this many chars are offloaded to a temp .txt; 0 disables offload
}));
Development
npm install
npm run build
npm run link-profile
License
MIT
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-input-enhancement」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:Triple3h/dsh-input-enhancement Headless(CLI)profile:
dsh plugin --profile headless add github:Triple3h/dsh-input-enhancement 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。