dsh-file-uploads:在 DeepSeek Harness Web 中上传任意本地文件

前言

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).extname (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

典型用法

  1. 在 Harness Web GUI 中打开会话。
  2. 在 composer 工具栏选择 Files
  3. 选择一个或多个本地文件。
  4. 审核或删除 composer 上方显示的待发送文件卡片。
  5. 添加普通提示词文本,或保持编辑器为空。
  6. 提交消息。

提交后,模型可能收到类似行:

上传文件:`/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 进程权限运行,安装前应检查源码和许可证。

链接

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye