dshbase

Plugin directory / Knowledge / dsh-input-enhancement

dsh-input-enhancement

Verified · install-tested on dsh Triple3h

✓ Actively maintained 2 contributors

View on GitHub ↗ ← Back to plugin directory

0Stars
0Forks
0Open issues
—Language
2026-08-23Last push
Cross-platformPlatform

What it does

DSH Web plugin: input enhancement — paste text collapse, file/folder attachment paste & drag-drop, bubble attachment folding, message fold, attachment management & cleanup. DSH Web 插件:输入增强——粘贴文本折叠、附件上传、消息折叠。

✅
Our take
Works — verified, early-stage project

DSH Web plugin: input enhancement — paste text collapse, file/folder attachment paste & drag-drop, bubble attachment folding, message fold, attachment management & cleanup. DSH Web 插件:输入增强——粘贴文本折叠、附件上传、消息折叠。 It installs cleanly and boots without issues in our testing. It's early-stage but functional.

“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.

README

dsh-input-enhancement

English | 中文

GitHub stars
GitHub license

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

Install

🧩 Let your agent install it (recommended)

Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:

dsh plugin add dshbase-catalog

Then say "install dsh-input-enhancement for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.

This plugin is GitHub source (not published to npm) — install it straight from the repo:

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

Test report

Verified: L1 install + L2 load + L3 runtime from GitHub source on dsh 0.1.0-rc.6.

Security: not yet scanned — our daily static scan will cover it shortly.

Share this badge

More in Knowledge

Browse all 7819 plugins →