前言¶
DeepSeek Harness (DSH) Web 是一個面向智能體開發的開發者工具。在 Web 環境中直接處理非圖片文件的上傳、預覽以及智能體生成文件的下載,通常需要額外的配置或繞過官方機制。dsh-filetransfer 插件提供了原生體驗的文件草稿管理和本地交付物下載功能,將文件交互邏輯下沉到本地服務。
插件介紹¶
- 名稱:dsh-filetransfer
- 維護者:kerlyken
- 核心價值:在 DeepSeek Harness Web 中實現本地化文件草稿確認、文件卡片渲染以及僅本地迴環的交付物下載。
核心功能¶
- 文件草稿管理:支持拖放或選擇非圖片文件,在發送前以草稿卡片形式預覽。
- 靈活發送:可將文件作爲獨立消息發送,或與普通用戶文本混合發送。
- 文件渲染:支持將 Word、Excel 以及通用文件渲染爲 distinct transcript cards。
- 安全刪除:通過關閉按鈕移除草稿文件,不暴露隱藏的引用佔位符。
- 交付物下載:通過僅限本地迴環的 deliverables panel 下載智能體生成的文件。
- 上傳機制:上傳僅在本地階段進行,不調用
session.prompt,文件需在用戶按下 DSH 正常發送按鈕後才傳遞給智能體。
安裝與啓用¶
確保你的 Node.js 版本爲 22.19 或更新。版本 0.2.5 目標是 DSH 0.1.0-rc.7。在 DSH 工作區目錄下執行以下命令:
npx @deepseek-ai/dsh plugin --profile web add github:kerlyken/dsh-filetransfer
npx @deepseek-ai/dsh --profile web --dump-config
npx @deepseek-ai/dsh web
注意:不要安裝 @deepseek-ai/dsh-cordis-host-runner,DSH Web 已內置 Host runner。
典型用法¶
配置路徑¶
插件默認使用以下配置(可在 cordis.patch.yml 的 filetransfer 行覆蓋):
- Host endpoint:
http://127.0.0.1:3199 - Inbox:
<workspace>/bridge/inbox - Deliverables:
<workspace>/deliverables - Allowed origins:
http://127.0.0.1:3080和http://localhost:3080
文件標記¶
在用戶文本塊中使用 XML 標記引用文件:
<dsh-file path="bridge/inbox/example.docx"></dsh-file>
適用場景與注意¶
- 適用場景:需要處理文檔文件(Word/Excel)或從智能體側獲取本地交付物的 Web 開發場景。
- 安全與權限:上傳下載服務器綁定
127.0.0.1,會檢查源,清理文件名,強制路徑約束並限制上傳大小。不要在沒有認證和獨立威脅模型的情況下暴露端口 3199。 - 集成說明:
integrations/目錄包含 WeCom 等可選的依賴模塊,該目錄被排除在 npm 包之外,但在 CI 中經過測試。該插件核心不依賴任何第三方消息平臺。
總結¶
dsh-filetransfer 提供了一套完整的本地文件處理方案,彌補了 DSH Web 在非圖片文件交互上的空白。通過草稿卡片和本地迴環機制,它簡化了智能體與本地文件系統的交互流程。