dsh-open-file:DeepSeek Harness Web 的工作區文件附件與讀取插件

前言

在 DeepSeek Harness(DSH)裏做會話時,助手經常需要查看本地文件:讀取一段文本、解析一個 DOCX 或 XLSX、對圖片做 OCR,或者把某一頁文檔渲染成圖片。若只靠手動粘貼文本,容易丟失文件結構、表格範圍和頁面位置;若切換到外部工具,流程會被打斷。

dsh-open-file 是 hyper-dsh-plugins 維護的一個 DSH 插件,面向 DeepSeek Harness Web,提供工作區範圍內的文件附件、文檔讀取、本地 OCR 和頁面渲染能力。它使用 MIT 許可證發佈,GitHub 倉庫爲:

https://github.com/hyper-dsh-plugins/dsh-open-file

下面介紹它的功能、安裝方式、典型用法和限制。

這是什麼

dsh-open-file 的定位是:

Workspace-scoped file attachments, document reading, local OCR, and page rendering for DeepSeek Harness Web.

它會接入 DSH Web 會話,把上傳文件放入當前 active session workspace,並給助手提供一組可追蹤的文件工具。插件通過 cordis.patch.yml 註冊 Host service、Web client 和 Skill。

已覈實的環境要求如下:

  • DeepSeek Harness:0.1.0-rc.6
  • Node.js:>=22.13.0
  • 操作系統:Windows、Linux、macOS
  • 瀏覽器 API:fetch、XMLHttpRequest、File、drag and drop、clipboard file paste

核心功能

插件主要解決三件事:把文件放進會話,讓助手能檢查與讀取內容,把可用內容轉成可引用或可渲染的結果。

具體能力包括:

  • 在現有 + 菜單中增加 Add → Attachment 入口。
  • 通過系統文件選擇器、頁面範圍拖拽和剪貼板粘貼接收多個文件。
  • 用緊湊的 draft cards 顯示格式圖標、上傳進度、取消、重試和移除控件。
  • 發送後把附件卡片放在對應用戶消息下方,保持會話對齊。
  • 將同源二進制上傳流式寫入 active session workspace。
  • 提供四個 agent 工具:file_inspect、file_read、file_ocr、file_render。
  • 讀取文本、PDF、DOCX、PPTX、XLSX、bounded ZIP archives、常見圖片格式,以及普通文件的 metadata。
  • 使用打包語言數據運行英文和簡體中文 OCR。
  • 返回 source hashes、locators、cursors、parsers 和 stable references,便於追蹤推理。

四個工具的職責如下:

Tool 職責
file_inspect 返回 metadata、parser details 和可選的 part_ref 值
file_read 讀取選定 part,支持 text cursors 或 worksheet ranges
file_ocr 對選定 image part 運行本地英文和簡體中文 OCR
file_render 將選定 document part 渲染爲 workspace PNG

安裝與啓用

安裝前先確認當前 DSH Web 環境滿足上述兼容性要求。然後執行安裝命令:

dsh plugin --profile web add dsh-open-file

安裝後,插件會註冊相應的 Host service、Web client 和 Skill,並依賴 DSH Web Host 的同源上傳能力處理文件上傳。

如果後續需要移除插件,可以執行:

dsh plugin --profile web remove dsh-open-file

典型用法

下面給出一個可復現的流程。先打開一個帶有 active workspace 的 DSH 會話,再通過附件入口添加文件。

  1. 打開一個 DeepSeek Harness session,並確認當前有 active workspace。
  2. 選擇 + → Add → Attachment,或者把文件拖到 Web app 頁面,也可以從剪貼板粘貼文件。
  3. 查看 draft cards,等待上傳進入 ready 狀態。
  4. 發送消息,會話會生成 session-bound 的附件引用:
   dsh-open-file://attachment/v1/...
  1. 讓 Assistant 對選定內容執行 inspect、read、OCR 或 render。
  2. 經過上面的步驟,助手可以根據文件內容繼續回答或處理任務。

工具調用通常按“先檢查、再讀取、OCR 或渲染”的順序進行:

  1. 使用 file_inspect 獲取 metadata、parser details 和可選的 part_ref。
  2. 根據返回的 part 使用 file_read 讀取文本、worksheet ranges 等可用內容。
  3. 如果目標是圖片,使用 file_ocr 對選定 image part 做本地 OCR。
  4. 如果目標是把文檔頁面變成圖片,使用 file_render 生成 workspace PNG。

會話存儲與資源限制

插件會把源文件和派生產物放在當前會話工作區下:

<workspace>/.dsh/open-file/v1/sessions/<sha256(session-id)>/

插件會讀取和寫入這個 session 目錄,並在 DSH Web Host 上註冊同源上傳路由。

OCR 使用打包的 eng 和 chi_sim 語言數據。提取出的文件內容會被標記爲 untrusted evidence,供下游推理參考;使用時應按不可信輸入處理。

默認資源限制如下:

  • 文件大小:256 MiB
  • 每會話 draft files:20
  • 每會話 draft bytes:512 MiB
  • ZIP entries:10,000
  • expanded ZIP entry:64 MiB
  • total expanded ZIP bytes:512 MiB
  • ZIP compression ratio:100:1
  • upload timeout:300 seconds
  • parse and render timeout:30 seconds
  • OCR timeout:120 seconds
  • rendered pixels:40,000,000

適用場景與注意

這個插件適合需要把本地文件交給 DSH 助手處理的場景,例如讀取文檔摘要、檢查表格、識別圖片文字、渲染文檔頁面,或在會話中保留可追蹤的附件引用。

使用注意:

  • 插件以當前 dsh 進程權限運行,安裝前應先檢查源碼、依賴和 MIT 許可證。
  • 插件會讀寫指定的 session 目錄,並註冊同源上傳路由,使用前應確認工作區權限和瀏覽器 API 是否可用。
  • 文件內容會被標記爲 untrusted evidence,助手基於文件內容的推理不應等同於文件來源已經過外部信任校驗。
  • 大文件、大 ZIP、長 OCR 或高像素渲染可能觸發默認限制,應按上面的資源限制規劃任務。

結尾

dsh-open-file 給 DeepSeek Harness Web 增加了一條工作區文件附件鏈路:上傳、草稿控制、發送後引用、助手檢查讀取、本地 OCR 和頁面渲染都在同一會話內完成。

GitHub 倉庫:

https://github.com/hyper-dsh-plugins/dsh-open-file
羽毛球分组比赛记分
小程序二维码

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

小夜