dsh-desktop-drop-path:通過拖拽自動填充文件絕對路徑

前置說明

DeepSeek Harness (DSH) 的消息附件協議目前僅支持圖片。在桌面端,當用戶試圖通過拖拽方式將非圖片文件(如 .pdf、.md、.txt)發送給智能體時,原生功能無法直接處理。dsh-desktop-drop-path 插件通過攔截拖拽事件,利用 DSH Desktop 的 Electron 預加載橋接機制獲取文件的真實絕對路徑,並將其作爲文本插入到輸入框中。

插件定位

  • 功能描述:將文件拖入 DSH 編寫器輸入框,自動填充其絕對路徑。
  • 維護者:duanzongyuan
  • 許可證:MIT

核心功能

  1. 自動填充絕對路徑:檢測到文件拖拽時,不再嘗試上傳,而是將文件的完整絕對路徑寫入輸入框。
  2. 多文件支持:支持拖入多個文件,每行一個路徑。
  3. 桌面端專用:依賴 DSH Desktop 應用的 Electron 預加載橋接機制(window.__DSH_DESKTOP_FILE_PATH__)。
  4. 忽略圖片:拖入圖片時,插件不會介入,保留 DSH 內置的圖片附件功能。

安裝與啓用

使用 pnpm 通過 GitHub 倉庫安裝該插件。安裝後需重啓 DSH Desktop。

pnpm dsh plugin --profile <profile-name> add git+https://github.com/duanzongyuan/dsh-desktop-drop-path.git

請將 <profile-name> 替換爲你的 DSH 配置文件名(例如 desktop),並將 duanzongyuan 替換爲你的 GitHub 用戶名。

典型用法

  1. 在 DSH Desktop 的輸入框區域,拖拽一個非圖片文件(例如 .pdf、.md、.txt 或 .json 文件)。
  2. 插件會攔截該操作,將文件的絕對路徑作爲純文本插入到輸入框中。
  3. 智能體可以直接讀取該路徑下的文件內容。

適用場景與注意

  • 運行環境限制:該插件僅在 DSH Desktop 環境下有效。在純瀏覽器環境(Web UI)中,由於 Electron 預加載橋接不存在,插件不會安裝任何代碼,處於閒置狀態。
  • 依賴耦合:插件依賴於 @deepseek-ai/dsh-client-ui-attachment 插件在 window 級別提供的 dragend 重置機制來清除覆蓋層。如果該內部插件的行爲發生變化,可能需要調整插件代碼。
  • 事件階段:非圖片文件的拖拽會在捕獲階段被消費,內置的圖片處理器不會拒絕這些操作。

總結

該插件解決了 DSH 在桌面端無法通過拖拽發送非圖片文件的問題,通過提供文件路徑而非上傳文件的方式,使智能體能夠直接讀取本地文件系統中的資源。

羽毛球分组比赛记分
小程序二维码

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

小夜