前言¶
用 DeepSeek Harness(DSH)的 web profile 做开发时,一个常见的卡点是文件入口:想把一张截图、一段日志交给会话里的智能体,输入框本身没有粘贴文件的通道,只能手动复制路径,或者退回终端操作。
dsh-inbox-paste 是一个 DSH web 插件,补的就是这一环:在输入框粘贴或选择文件,发送后自动写入当前会话工作区的 inbox/ 目录,智能体再用工具读取。下面介绍它的功能、安装和使用方式。
这是什么¶
dsh-inbox-paste(仓库地址为 JarszmLovesAI/dsh_upload_file)是 JarszmLovesAI 维护的 DSH web bundle 插件,当前版本 0.1.0,MIT 许可证。它解决的问题是:让 web 会话具备粘贴/选择文件的入口,并把文件以约定路径交给智能体。
需要说明的是,插件名和仓库名不一致:README 与 package.json 中的插件名是 dsh-inbox-paste,GitHub 仓库名是 dsh_upload_file,安装命令用仓库名,卸载命令用插件名。
核心功能¶
- 在输入框按 Ctrl+V / Cmd+V 粘贴,或点击回形针选择文件。
- 发送前,输入框上方显示待发送缩略图,可以用 × 移除;此时文件尚未写盘。
- 发送时,文件写入
{session.cwd}/inbox/目录。 - 用户消息气泡可显示缩略图,由
customizeUserBubble配置控制;设为false时使用内置气泡,可能显示原始路径。 - 智能体通过
list_inbox/read_inbox两个工具读取文本文件。 - 内置一个可选的 image-reader 技能用于图片理解,需要自行设置
ARK_API_KEY。 - 不使用 Harness 原生图片附件(详见下文「上传 ≠ 多模态理解」)。
安装与启用¶
前置条件:带 web profile 的 DeepSeek Harness、Node.js ≥ 22,以及 dsh CLI。
先安装插件,再启动 web 会话:
dsh plugin --profile web add github:JarszmLovesAI/dsh_upload_file
dsh web
如需卸载:
dsh plugin --profile web remove dsh-inbox-paste
典型用法¶
装好插件后,日常流程如下:
- 在输入框按 Ctrl+V / Cmd+V 粘贴文件,或点击回形针选择文件。
- 待发送缩略图出现在输入框上方;如果贴错了,在发送前点 × 移除,此时不会写盘。
- 发送后,文件落入会话工作区的
inbox/目录,消息气泡可显示缩略图。 - 智能体侧:先用
list_inbox列出收件箱内容,再用read_inbox读取文本文件;图片则使用内置的 image-reader 技能,或你自备的视觉工具。
配置¶
配置文件在 ~/.dsh/profiles/web/cordis.patch.yml(profile 名称按实际情况调整),找到 id: inbox-paste 的一段:
- id: inbox-paste
config:
uploadMaxBytes: 26214400
inboxDirName: inbox
allowedExtensions: []
customizeUserBubble: true # false = 内置用户气泡(可能显示原始路径)
四个配置项的含义:uploadMaxBytes 限制单文件大小(默认约 25 MB);inboxDirName 指定落盘目录名;allowedExtensions 为空数组表示不按扩展名过滤;customizeUserBubble 控制是否使用自定义用户气泡显示缩略图。
修改配置后需要重启 dsh web 才会生效。
插件带测试,可在仓库内运行:
npm test
上传 ≠ 多模态理解¶
这是使用前必须想清楚的一点:本插件不使用 Harness 原生图片附件,主模型默认只收到路径标记,并不会「看到」图片内容。要让智能体理解图片,二选一:
- 安装插件自带的可选 image-reader 技能,并在
~/.dsh/.env中设置ARK_API_KEY; - 自带视觉能力,比如 vision MCP、视觉相关技能,或直接使用多模态模型。
如果你只需要智能体读文本文件,不做任何额外配置即可,list_inbox / read_inbox 就够用。
与 dsh-file-upload 的区别¶
社区里还有另一个定位相近的插件 dsh-file-upload,两者差异如下:
| dsh-inbox-paste | dsh-file-upload | |
|---|---|---|
| 粘贴 | 支持 | 不支持 |
| 存储位置 | {cwd}/inbox/ |
{cwd}/.dsh-uploads/ |
| 内置 PDF 处理 | 无 | 有 |
简单说:需要粘贴、希望文件落在明确的 inbox 目录,选本插件;需要内置 PDF 能力,可以考虑 dsh-file-upload。
适用场景与注意事项¶
适合的用户:在 DSH web profile 下工作、需要把截图、日志、文本片段交给智能体处理的开发者;尤其是不想离开输入框、习惯 Ctrl+V 的场景。
安装前请注意两点:
- 插件以当前 dsh 进程的权限运行,能访问你进程能访问的文件。安装前建议先阅读仓库源码和许可证,确认行为符合预期。
- 涉及图片理解时,提前规划视觉方案(image-reader 技能加
ARK_API_KEY,或自备 vision 工具),否则主模型拿到的只有路径标记。
另外,DSH 的理念是「一切皆插件」,插件生态由社区维护;本文提到的插件目录是独立的社区站点,与 DeepSeek、幻方没有官方从属关系。
小结¶
dsh-inbox-paste 用一个很小的切口解决了 web 会话的文件入口问题:粘贴即上传、发送即落盘、list_inbox / read_inbox 即读取,路径约定清晰,文本场景开箱即用,图片场景把选择权留给使用者。
- 目录页:https://www.skillhub.cn/plugins/JarszmLovesAI/dsh_upload_file
- GitHub:https://github.com/JarszmLovesAI/dsh_upload_file