前言¶
DeepSeek Harness 当前仅以光栅图像传输原生附件。如果希望把本地任意文件作为路径引用附加到提示词,并且从 Settings 中管理这些已上传文件,可以使用 dsh-file-uploads 插件。它面向 DSH 的 Web profile,使用 Harness 主机/容器内的存储文件,并通过内置 input-reference serializer 将路径加入提交文本。
这是什么¶
l541402398/dsh-file-uploads 是由 l541402398 维护的 DeepSeek Harness Web profile 插件,许可证为 MIT,当前提供 v1.0.0 tagged release。它在现有 composer 控件旁添加 Files 按钮,用于上传任意本地文件,并在消息提交时把文件路径附加到提示词中。
核心能力¶
- 接受多个任意本地文件,不仅限于图片。
- 在 composer 上方以类似图片的卡片显示待发送文件。
- 保持文本编辑器干净,不在草稿中插入可见路径或生成的描述。
- 仅在消息提交时,将每个隐藏文件引用序列化为模型可读的绝对路径。
- 提交后清空待发送卡片;提交失败时恢复待发送卡片。
- 默认将每个上传存储在固定目录
$DSH_HOME/uploads。 - 在
Settings → Uploaded files中列出已上传文件,并提供下载和删除操作。 - 通过生成
name (1).ext、name (2).ext等名称防止覆盖。 - 执行单文件配额和目录总配额。
兼容性与要求¶
该插件兼容 DeepSeek Harness 0.1.0-rc.6、Web profile 和 Node.js 22 或更新版本。
安装与启用¶
先安装 tagged release:
dsh plugin --profile web add "github:l541402398/dsh-file-uploads#v1.0.0"
安装 tagged release 后,需要重启运行中的 Web profile,然后刷新浏览器页面。
如果要安装开发分支:
dsh plugin --profile web add "github:l541402398/dsh-file-uploads#main"
移除插件:
dsh plugin --profile web remove dsh-file-uploads
典型用法¶
- 在 Harness Web GUI 中打开会话。
- 在 composer 工具栏选择
Files。 - 选择一个或多个本地文件。
- 审核或删除 composer 上方显示的待发送文件卡片。
- 添加普通提示词文本,或保持编辑器为空。
- 提交消息。
提交后,模型可能收到类似行:
上传文件:`/path/to/.dsh/uploads/report.pdf`
这行内容不会在提交前插入编辑器草稿中。保存后的路径是 Harness 主机可见的文件系统路径;在 Docker 部署中,这是容器内路径。
管理已上传文件¶
在 Settings → Uploaded files 中可以看到:
- 固定存储目录;
- 单文件限制和目录总限制;
- 当前存储用量;
- 文件名、大小、修改时间、绝对路径;
- 下载和删除操作。
配置¶
插件可以不做配置运行。以下环境变量可以覆盖默认值:
DSH_UPLOAD_DIR,默认$DSH_HOME/uploads,表示绝对上传目录。DSH_UPLOAD_MAX_BYTES,默认104857600,表示单文件最大字节数。DSH_UPLOAD_TOTAL_MAX_BYTES,默认1073741824,表示目录总最大字节数。
安全与注意¶
- 文件列表、上传、下载和删除操作使用与内置 Harness Web API 相同的 loopback/trusted-host 和 Origin 检查,并拒绝跨站点浏览器请求。
- 插件会对文件名、下载、删除和上传临时文件做限制。
- 这不是用户账户认证系统。若把 Harness Web GUI 暴露给其他用户或公网,应使用认证反向代理,并正确配置 Harness trusted hosts。
- 插件以当前 dsh 进程权限运行,安装前应检查源码和许可证。