All plugins

DSH / BUNDLE / CLIENT-UI

dsh-file-attach

v0.6.1RCYD857 / 857-dsh-file-attach20245fb0a3

InstallableBundlesUI & client pluginsCommunity · Topic auto-analysisWeb UI

Overview

dsh-file-attach

Drag or paste files or pictures into the DSH Web composer as one scrolling row of chips inside the input box — the form Doubao uses — with the files sent as @path references

README / EN

Package documentation

Registry summary

Drag or paste files or pictures into the DSH Web composer as one scrolling row of chips inside the input box — the form Doubao uses — with the files sent as @path references

dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.

Read the full README on GitHub

LIMITATIONS

Known limitations

- **The text area and the bottom action bar belong to DSH.** The cards sit in the card's top area but they are this plugin's own markup; styling, placeholder and send button remain the platform's. - **Making room means setting one property on the platform's card.** The rail is absolute inside the card's zero-height anchor, so it writes the measured height onto `[data-composer-card]`'s inline `padding-top` (and restores the value it found when it empties). That is the one place this plugin writes to an element it does not own; it is inline rather than a stylesheet rule because the platform — or another composer-restyling plugin — can hold a rule of the same specificity, and the measured 8px on the card is what a stylesheet rule lost to. - **The platform's image thumbnail row is hidden by one stylesheet rule** (a suffix match on its CSS-module class, scoped to the attachments slot). The platform still owns the pictures' bytes, previews and vision payload — the plugin only draws their chips in the same row as the files. If the platform renames that class the rule stops matching and pictures show up twice (once in this row, once in its own) until the selector is updated. - The rail is anchored to the `conversation.input.overlay` slot and the send expansion hooks `conversation.sendSession`. A change to either in DSH's client UI needs a matching update here. - On Windows, Explorer does not reliably send `dragleave` when a drag ends, so overlay visibility is driven by a `dragover` heartbeat (hidden after 320 ms of silence) rather than by `dragenter`/`dragleave` counting.