用 dsh-drop-to-path 把圖片和文件轉成路徑發給純文本模型

前言

DeepSeek Harness(dsh)是 DeepSeek 開源的智能體運行時,設計原則是「一切皆插件」:模型、工具、會話、沙箱和界面都可以在配置層替換,不必改框架源碼。官方倉庫目前仍標爲開發者預覽,接口會變。社區另有一份獨立的插件目錄 deepseek-harness-plugin.com,用來檢索第三方插件;該站點在關於頁寫明,與 DeepSeek 或幻方(High-Flyer)沒有從屬、背書或贊助關係,也不是官方應用商店。

在 Web 界面裏用 DeepSeek 這類純文本模型寫代碼時,截圖和文檔並不好送進去。圖片會走模型原生附件通道,發送前被宿主預檢攔住,輸入框彈出系統提示:「當前模型不支持圖片,請切換支持圖片的模型」。底層對應 dsh-host-apiproxyattachment-error,倉庫文檔裏的示例是 Model "deepseek-v4-flash" does not support image input.。PDF、Office、壓縮包、視頻則根本不能當附件發出去。

視覺工具箱(例如 dsh-vision-toolkit)能讓純文本模型讀取工作區裏的文件,但工具接口認的是路徑。於是常見流程變成:先把文件存進工作區,再把路徑手打進消息。loudMore 維護的 dsh-drop-to-path 把後半步收進發送瞬間:附件欄仍是原生體驗,點發送時再把圖片和文件寫成工作區路徑。

這是什麼

dsh-drop-to-path 是一款 DeepSeek Harness 的工具與能力插件,npm 包名爲 @dsh-external/dsh-drop-to-path,當前倉庫版本爲 0.1.0,許可證 MIT,主要語言 JavaScript。維護者是 loudMore,源碼在 loudMore/dsh-drop-to-path。社區目錄把它歸在「工具與能力」;package.jsondsh.client.platform 聲明爲 web,面向 Web 界面,不是無界面的 headless 運行方式。

它解決的問題可以收成一句:把拖入或粘貼的圖片、文檔、壓縮包、音視頻,在發送時變成工作區文件路徑,讓純文本模型用視覺或文檔工具去讀,而不是走模型原生的圖片附件通道。

截至 2026 年 8 月 18 日查閱,GitHub 顯示 11 星;社區目錄頁同期顯示 7 星。星標會變,安裝前仍以倉庫源碼爲準。

核心功能

發送時才轉路徑

添加文件時,輸入框裏不會立刻出現路徑字符串。圖片繼續走原生附件卡片(可預覽、可移除);PDF、Office、zip、視頻、音頻等顯示爲附件欄裏的方塊標籤(帶格式圖標,懸停看全名,可叉掉)。點發送後,插件把文件上傳到會話工作區的 .drops/ 目錄,再把路徑和你輸入的文字拼成一條純文本消息。模型側看不到 image 附件塊,因此圖片准入預檢不會被觸發。

圖片、文件以及二者混合的一批,會按順序上傳,最後以一段路徑文本一次送達。上傳失敗不會靜默吞掉消息:界面會給出可見提示,再回退到原生髮送路徑。

支持的類型與體積上限

倉庫 README 與宿主側源碼 lib/index.js 對擴展名白名單和體積上限的約定一致:

類型 擴展名 上限 界面
圖片 png jpg jpeg webp gif 30MB 原生附件卡片,發送時轉路徑
文檔 pdf doc docx xls xlsx ppt pptx txt md csv json 100MB 附件欄方塊標籤,發送時附加路徑
壓縮包 zip 100MB 同上
視頻 mp4 mov webm mkv avi 100MB 同上
音頻 mp3 wav flac m4a 100MB 同上

不在白名單裏的擴展名會被拒絕。文件名會做清洗(去掉路徑分隔符和控制字符,替換 Windows 非法字符),再寫入 .drops/,避免路徑穿越。

和工作區、宿主路由的關係

宿主側註冊 POST /_dsh/drop-to-path/import,接收 { name, dataBase64 },校驗後寫入工作區。工作區默認從 $DSH_HOME/storages/workspace.json(未設置 DSH_HOME 時回退到 ~/.dsh)裏取 updatedAt 最新的一條;客戶端也可以隨請求帶上當前會話的絕對路徑,非絕對路徑不會被信任。瀏覽器側包裝 conversation.sendSession,在真正提交前完成上傳和路徑拼接。

和相近插件的分工

README 把它和 dsh-drag-and-drop 寫成互補關係,後者倉庫也確實存在:

  • dsh-drag-and-drop:拖放後在輸入框插入原始路徑,不復制文件,適合引用工作區裏已有的文件;不支持粘貼,圖片仍可能按附件發送,純文本模型下仍會被拒。
  • dsh-drop-to-path:複製到工作區、發送時轉路徑,支持粘貼和拖入,並給非圖片文件做附件欄方塊。

看圖、OCR、像素對比這類能力不在本插件裏。作者建議搭配 dsh-vision-toolkit:本插件負責「文件變成路徑」,視覺工具箱負責「路徑變成可讀結果」。二者都是社區插件,需要各自安裝。

安裝與啓用

社區目錄頁給出的安裝命令如下,在 DeepSeek Harness 終端中運行:

dsh plugin add github:loudMore/dsh-drop-to-path

需要可復現安裝時,按目錄頁說明固定 commit 哈希:

dsh plugin add github:loudMore/dsh-drop-to-path#commit

#commit 換成倉庫裏實際的提交哈希。目錄頁同時提醒:插件以當前 dsh 進程的權限運行,安裝時可能執行代碼;安裝前應檢查源碼倉庫和許可證。

倉庫 README 補充了兩點,和 package.json 的 Web 聲明一致。一是建議顯式指定 Web profile,本地檢出時類似:

dsh plugin --profile web add /path/to/dsh-drop-to-path

二是安裝後需要重啓 Web profile(重新打開啓動器,或重啓 dsh web)纔會生效。插件本身沒有配置項。

前置條件按 README:已安裝 DeepSeek Harness(Web profile)、Node.js 和 dsh CLI。官方啓動 Web UI 的方式見 deepseek-ai/deepseek-harness,例如 npx @deepseek-ai/dsh web

典型用法

倉庫給出的操作順序如下。

  1. 像平時一樣粘貼或拖入圖片,附件卡片照常顯示,可以預覽或叉掉。
  2. 拖入或粘貼 PDF、Office、zip、視頻、音頻等,附件欄出現帶格式圖標的方塊,和圖片縮略圖並排。
  3. 需要的話先寫一句說明(例如「對比這兩張圖」或「提取這份 xlsx 的表頭」),再發送。此時不會提交圖片附件;文件被上傳,工作區路徑自動接到消息末尾。
  4. 若已安裝 dsh-vision-toolkit,Agent 可以用 vision_glancevision_pixel_diff 等工具讀圖,用 PDF / 表格類工具處理文檔。

README 裏的場景對照也限於作者描述,不是第三方評測:看圖問答從「截圖 → 存工作區 → 手寫路徑」變成「截圖 → Ctrl+V → 回車」;分析 PDF / xlsx / 視頻則可以直接拖入再發送。

文件會留在工作區 .drops/ 下,需要時自行清理。

適用場景與注意事項

比較適合:在 DSH Web 界面裏用純文本模型,又經常要把截圖、PDF、表格或壓縮包交給 Agent 處理的人。它不替代視覺模型,也不解析文件內容;沒有配套的文檔/視覺工具時,模型拿到的只是路徑字符串。

使用前需要接受幾條邊界,這些都寫在倉庫文檔裏,不是推斷。

  • 平臺:只聲明瞭 Web。headless 或其它 profile 不要按同一套界面操作去預期。
  • 兼容性:作者在倉庫環境中驗證過 DSH 0.1.0-rc.6。插件依賴若干未公開內部接口(服務名、方法簽名、存儲格式、DOM 結構),DSH 升級後可能失效。官方 Harness 也寫明開發者預覽會有破壞性變更。升級前應閱讀倉庫中的 ADAPTING.md,裏面有失效症狀和排查步驟。
  • 權限與安全:插件以當前 dsh 進程權限運行,會把拖入的文件寫進工作區。安裝前檢查源碼和 MIT 許可證;不要對不信任的來源執行 dsh plugin add。目錄頁建議固定 commit,避免每次安裝都跟到未知新提交。
  • 體積與類型:超出 30MB / 100MB 或擴展名不在白名單,上傳會被拒絕。
  • 工作區定位:默認取註冊表裏最近更新的工作區。若 Agent 回報找不到文件,先覈對返回路徑是不是當前會話工作區,而不是進程當前目錄。

小結

dsh-drop-to-path 做的事情很窄:保住 DSH Web 輸入區的附件體驗,在發送時把圖片和文件落成工作區路徑,讓純文本模型繞開「不支持圖片」的預檢,並把 PDF 等原本無法當附件發送的文件交給後續工具。它由 loudMore 維護,MIT 許可,需要 Web profile,並建議與 dsh-vision-toolkit 一起用。

目錄頁與源碼:

  • 社區目錄:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-drop-to-path/
  • GitHub:https://github.com/loudMore/dsh-drop-to-path
羽毛球分组比赛记分
小程序二维码

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

小夜