dsh-airdrop

by demacia1314

0 UI 增强github收录于 08-21

⭐ 支持拖拽上传:任意文件、整个文件夹,拖到窗口任意位置即可;支持远程上传——字节直传服务器的会话工作区,部署在服务器上的 DSH 也能像本地一样拖了就发。

⭐ Drag-and-drop uploads of any file or whole folders, anywhere in the window; remote-safe — bytes go straight into the session workspace on the server, so a DSH deployed on a remote machine works exactly like localhost.

安装

dsh plugin --profile web add github:demacia1314/dsh-airdrop

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

预览截图

dsh-airdrop 截图dsh-airdrop 截图dsh-airdrop 截图

README

目录

📮 dsh-airdrop

把文件拖进 DSH,AI 就能读

⭐ 支持拖拽上传 · ⭐ 支持远程上传 · ⭐ 任意格式附件

部署在服务器上的 DSH,也能像本地一样,拖了就发

English · AI 版本 · 更新日志

DSH License

✨ 亮点

  • 🖱️ 拖进来就行——文件、整个文件夹,拖到窗口任意位置,松手即传
  • 🌐 远程也好用——DSH 装在服务器上?通过 SSH 隧道访问,传文件和本地一模一样
  • 📎 不挑格式——图片、视频、音频、PDF、压缩包、代码文件……任何文件都能传
  • 👀 先看再发——发送前在浏览器里直接预览:图片放大看,视频拖进度条,音频直接播
  • 💬 原生体验——附件卡片与聊天气泡对齐,点平常见的发送按钮即可,AI 自动读取文件内容
  • 🔒 各管各的——文件只落在当前会话的工作区,会话之间互相隔离

🖼️ 看一看

拖进来 发出去 随时预览
拖到窗口任意位置,卡片立刻出现 附件跟着消息走,AI 直接读内容 点开就能预览,还能下载

🚀 三分钟上手

dsh plugin --profile web add dsh-universal-attachments
dsh web

重启 dsh web 生效;会话需要有工作区目录。另外:仓库名叫 dsh-airdrop,安装包名保持 dsh-universal-attachments 不变——改名会破坏已有安装。

pnpm install
pnpm run build
pnpm pack
dsh plugin --profile web add .\dsh-universal-attachments-0.1.1.tgz

❓ 可能会问

大文件能传吗? 能。文件分块上传,网络断了自动续传;网关嫌块太大(返回 413)时会自动调小重试。单文件上限 20 GiB。

支持哪些格式? 全部。不按格式拒绝任何文件。"任意格式"指不拦截字节内容,不代表 AI 一定能读懂每种格式;插件也不会自己去执行或解压你的文件。

空文件夹会一起传吗? 浏览器一般不报告空目录,所以完全空的文件夹可能不会被保留。

开多个标签页会怎样? 同一会话的多个标签页共享一份待发送附件,谁先点发送,谁就带走当时已传完的文件。

想清理空间怎么办? 先停掉 DSH,然后只删除该插件对应的会话目录和它的元数据文件(.dsh/uploads/.universal-attachments/<会话标识>.json)。不要整个删掉 .dsh/uploads/,历史附件链接会失效。

🛡️ 要放到服务器上?

DSH 没有内建的多用户认证,别直接暴露到公网。让它只监听服务器本机,用 SSH 隧道访问:

# 服务器上
dsh web --port 3080

# 你的电脑上
ssh -L 3080:127.0.0.1:3080 user@你的服务器

然后在本机浏览器打开 http://127.0.0.1:3080 即可。

License

MIT

原始 README: https://github.com/demacia1314/dsh-airdrop/blob/main/README.md ↗