dsh-at-file
FSMargoo/dsh-at-fileCodex 风格的 `@file` 文件引用,输入框里直接搜索并引用工作区文件。
English | 简体中文
为 DeepSeek Harness Web 输入框增加任意文件上传功能:文件以待发送卡片显示,提交时把容器内路径提供给模型,并可在设置中统一下载和删除。
$DSH_HOME/uploads。name (1).ext、name (2).ext 等名称。0.1.0-rc.6Harness 当前的原生附件传输只支持栅格图片。本插件针对任意文件采用 Agent 环境可用的路径方案:先把文件存入 Harness Host/容器,再通过内置输入引用序列化器把路径加入提交内容。
把带版本标签的 GitHub Release 安装到 Web Profile:
dsh plugin --profile web add "github:l541402398/dsh-file-uploads#v1.0.0"
安装后重启正在运行的 Web Profile,并刷新浏览器页面。
如需安装最新开发分支:
dsh plugin --profile web add "github:l541402398/dsh-file-uploads#main"
卸载:
dsh plugin --profile web remove dsh-file-uploads
在 Harness Web GUI 中打开一个会话。
点击输入工具栏中的 文件。
选择一个或多个本地文件。
在输入框上方检查待发送卡片,也可以点击 × 移除。
输入普通提示词,或者让编辑框保持为空。
发送消息。模型实际收到的内容中会包含类似:
上传文件:`/path/to/.dsh/uploads/report.pdf`
这行生成内容在提交前不会显示在编辑框中。文件路径是 Harness Host 所见的路径;在 Docker 部署中,它指容器内部路径。
插件会新增 上传文件 设置区,显示:
文件会持续保存,直到手动删除。
插件默认无需配置,可以使用以下环境变量覆盖默认值:
| 环境变量 | 默认值 | 用途 |
|---|---|---|
DSH_UPLOAD_DIR | $DSH_HOME/uploads | 上传目录的绝对路径。 |
DSH_UPLOAD_MAX_BYTES | 104857600 | 单个文件最大字节数(100 MiB)。 |
DSH_UPLOAD_TOTAL_MAX_BYTES | 1073741824 | 上传目录最大总字节数(1 GiB)。 |
Docker Compose 示例:
services:
dsh:
environment:
DSH_UPLOAD_DIR: /data/dsh/uploads
DSH_UPLOAD_MAX_BYTES: 104857600
DSH_UPLOAD_TOTAL_MAX_BYTES: 1073741824
volumes:
- ./dsh-data:/data/dsh
.upload-* 临时文件。这套可信边界不是用户账号认证系统。如果 Harness Web GUI 会暴露给其他用户或公网,请使用带身份验证的反向代理保护整个部署,并正确配置 Harness 的 trusted hosts。
运行检查:
npm test
npm run check
这是一个持久化的 Host + Client 双端 Cordis Bundle:
index.js:Host HTTP 路由、存储、容量和可信请求检查。client.js:上传按钮、待发送文件卡片、隐藏引用序列化和设置页 UI。cordis.patch.yml:可由 dsh plugin add 安装的 dsh.bundle Composition。test/upload-manager.test.js:Host 存储与安全回归测试。本地链接开发方式见 CONTRIBUTING.md。