概览
dsh-upload-file
README / ZH
插件文档
目录摘要
dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。
在 GitHub 阅读完整 READMELIMITATIONS
已知限制
- 待发送文件条渲染在 composer **上方**(`conversation.input.dock` 槽位),shell 的图片条渲染在输入卡内部;位置略有差异但交互一致。 - 为让“仅发文件”消息可用,草稿中会写入一个不可见占位符(U+200B),发送钩子提交前剥离;若发送钩子因 shell 升级而失效,占位符会以空文本随消息发出(shell 会忽略空消息)。刷新页面后 rail 清空,但已上传的字节仍在 `~/.dsh/uploads/`(内容寻址,无害)。 - **会话内文件卡片依赖手写复刻官方用户气泡**:随 shell 升级可能漂移(官方 CSS 类名是构建期哈希)。若官方气泡样式更新导致观感不一致,只需同步本插件 `CHAT_CSS` 中的 `.dsh-uf-*` 规则;渲染逻辑崩溃时 slots 会自动回退到官方渲染器,不会白屏。卡片仅识别本插件生成的绝对 URL 链接(`/dsh-upload/raw/sha256:…`),旧格式(相对路径 / JSON 注释)消息按普通文本渲染。 - 混合拖入“图片 + 非图片”时,非图片由本插件上传,图片由 shell 图片管线处理;若你的 shell 的 drop 监听器在插件之后注册或调用了 stopImmediatePropagation,混合/纯图片拖放可能被其独占,此时用附件按钮即可。 - 上传文件不做定期清理;如需会话级生命周期可在宿主侧挂定时清理任务。 - 拖放提示条使用内联样式,未跟随皮肤主题;如需定制可自行加 CSS。 - 本包 lib/*.js 是可直接运行的产物;若想改用 TS/JSX 工程化,可参考 dsh-web-ui 家族仓库(tsdown + `dsh.bundle.patch`)的构建方式。
