rrvvvnnn
dsh-web-file-upload
No description
- Stars
- 1
- Language
- JavaScript
- Created
- Aug 15, 2026
- Updated
- Aug 15, 2026
Introduction
dsh-web-file-upload
为 DeepSeek Harness Web 界面提供的文件上传插件。 在聊天框里像图片一样上传任意文件(PDF、文档、代码、压缩包等),文件保存到会话工作区的 uploads 目录,并自动把文件引用带入消息,让 agent 直接读取。
官方 Web 界面目前只支持图片粘贴/拖拽(非图片文件会提示"只能粘贴图片")。本插件补上了任意文件的上传。
功能
- 输入框内的文件夹按钮(位于模型选择器左侧),点击选择文件(支持多选)
- 粘贴文件:在聊天框里 Ctrl+V(从资源管理器复制的文件)→ 自动上传
- 拖拽文件:把文件拖进聊天框 → 自动上传
- 文件卡片:上传的文件以卡片形式显示在输入框内;应用可选补丁后可与图片缩略图同区并列(参考 Coze 风格)
- 图片与文件互斥:图片和文件不能同时添加,避免布局冲突
- 文件落地到工作区 uploads 目录,agent 可直接读取
- 发送后自动清空:消息发出后,输入框里的文件卡片自动清空,不残留到下次对话
- 聊天记录文件卡片:发送的文件在聊天记录中以圆角卡片显示,点击可直接打开文件
安装
一条命令搞定(自动下载 + 自动注册,无需手动改配置):
dsh plugin --profile web add @iamroven/dsh-web-file-upload
然后重启 web 服务(关掉「DSH Web Server」窗口再双击快捷方式),再硬刷新浏览器即可。
插件声明了 dsh.bundle.patch,所以 dsh plugin add 会自动把本包追加为 profile 的 bundle 层, 无需手动往 cordis.patch.yml 里加行。
无需补丁即可使用:安装后上传、粘贴、拖拽、agent 读取都正常(文件卡片显示在输入框底部)。 可选补丁(见 CORE-PATCH.md)带来更优体验:文件卡片与图片缩略图同区并列、聊天记录里显示可点击的文件卡片。
使用
- 启动 web 界面后,输入框右侧(模型选择器左边)出现文件夹按钮
- 点击选文件,或直接把文件拖进聊天框 / Ctrl+V 粘贴
- 文件以卡片出现在输入框内;输入框会附带一行 附件: 文件名
- 补上你的问题,发送即可 —— agent 会去 uploads 目录读取文件内容
- 发送后输入框卡片自动清空;聊天记录里你发出的消息中会显示文件卡片,点击可直接打开文件
原理
单包双面(Dual-face)插件:
- 宿主半边(lib/index.js):注册 webServer 路由 POST /dsh-upload/put(接收 base64 文件载荷,写入会话工作区的 uploads 目录),以及 GET /dsh-upload/file(按文件名返回文件内容,供聊天记录卡片点击打开)。
- 客户端半边(lib/client.js):cordis 客户端插件,在输入框插槽注册文件夹按钮与文件卡片,监听 document 级 paste/drag 事件,通过 fetch 调宿主路由上传。
目录结构
- package.json
- LICENSE
- README.md
- CORE-PATCH.md
- lib/index.js 宿主半边(服务端路由)
- lib/client.js 客户端半边(浏览器 bundle)
License
MIT