前言¶
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 進程權限運行,安裝前應檢查源碼和許可證。