前言¶
在 DeepSeek Harness (DSH) 的开发流程中,将本地文件传递给模型通常需要手动复制文件路径。本插件解决了这一痛点,允许用户通过粘贴、拖放或选择的方式将文件保存到当前 workspace,并自动插入相对路径到输入框。
插件介绍¶
该插件由 lhh666-6 维护,是一个 MIT 许可的开源插件。它通过在 DSH 的 composer 界面增加交互入口,实现文件的上传与路径注入。
核心功能¶
插件在 Host 面和 Client 面各承担职责:
- Client 面交互:注册到
conversation.input.leftslot,在 composer 左侧增加“粘贴文件”按钮,支持多选文件。同时监听输入框的粘贴、拖放和选择文件事件。 - Host 面处理:注册
/_dsh-paste-files/upload路由。接收到上传请求后,根据sessionId从 SessionStore 读取当前会话的cwd,将文件保存到当前 workspace 的pasted-files目录下。 - 路径插入:文件保存成功后,将相对路径以行内代码形式插入到输入框草稿中。
安装与启用¶
使用 DSH 的 CLI 安装:
dsh plugin --profile web add dsh-paste-files
dsh plugin --profile desktop add dsh-paste-files
安装后重启 DSH 或切换一次 profile 即可生效。
典型用法¶
- 点击 composer 左侧的“粘贴文件”按钮,选择或粘贴文件。
- 在输入框内直接粘贴文件或拖入文件。
- 插件会自动处理文件上传,并在输入框中插入类似
`pasted-files/1724320000000-report.pdf`的路径代码。
注意事项¶
- 浏览器限制:出于安全考虑,浏览器无法获取文件的绝对路径,因此插件采用“上传到 workspace 再插入相对路径”的方案。
- 文件大小限制:当前默认单文件上限为 64 MiB。
- 图片处理:若只包含图片,保留 DSH 原生行为;若包含非图片文件,则拦截并上传所有文件。
- 协议限制:该插件仅用于生成模型可读的路径,不新增通用的二进制附件协议。
结尾¶
经过上面的步骤,插件即可生效。该插件通过简化的交互流程,将文件上传与路径注入自动化,适合需要频繁引用本地文件与 DSH 交互的开发场景。