概览
dsh-file-attach
README / ZH
插件文档
目录摘要
dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。
在 GitHub 阅读完整 READMELIMITATIONS
已知限制
- **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.
