dsDragPasteALL:拖拽/粘貼任意文件到 DSH 並反查真實路徑

前言

DeepSeek Harness (DSH) 的原生粘貼功能僅支持圖片,這導致開發者在處理 Word、PDF、壓縮包等非圖片文件時,無法直接引用本地文件路徑。dsDragPasteALL 插件通過接管瀏覽器的拖放與粘貼事件,在後臺靜默反查文件在磁盤上的真實路徑,並將路徑文本插入對話框輸入框,從而實現類似 Codex 的文件引用體驗,而不復制文件內容本身。

插件簡介

本插件由用戶 balue8246-maker 維護,採用 MIT 許可證。它不依賴外部服務,運行在 DSH Host 進程中,負責文件指紋計算與路徑反查,Client 端負責事件接管與界面反饋。

核心功能

  1. 任意文件類型:支持 zip、Word、Markdown、PPTX、視頻等,不受 DSH 內置”僅支持圖片”限制。
  2. 粘貼分流:純圖片粘貼(macOS/Windows 截圖、複製的圖片文件)交還 DSH 原生流程,由識圖插件識別;含非圖片文件的粘貼才由本插件接管。
  3. 鎖定排隊:AI 運行中(輸入框鎖定)拖入的文件或粘貼的截圖會進入隊列,解鎖後自動插入輸入框。
  4. 路徑優先:桌面、文稿、下載等常規位置文件 100% 反查真實路徑,零複製內容。
  5. 緩存兜底:找不到原文件時,內容緩存到 ~/.dsh/dragpasteall-cache,仍可被讀取。
  6. 多文件支持:一次拖入多個文件,每個文件一行路徑。
  7. 無感反饋:提供全屏拖放浮層與右下角輕量提示,無多餘 UI。
  8. 持久化與工具:導入記錄存入 ~/.dsh/dragpasteall-inbox.json,提供 dragpasteall_inbox Agent 工具查看記錄。

安裝與啓用

通過 pnpm add 安裝本地插件包,並在配置中啓用 bundle。

# 安裝命令示例(請替換爲本地實際路徑)
pnpm add "file:/Users/acegent/Documents/ds 插件/dsDragPasteALL"

安裝後,編輯 ~/.dsh/profiles/web/package.json,在 dsh.profile.bundles 中加入 "dsdragpasteall",重啓 DSH Web 即可生效。

工作方式

  1. 事件捕獲:拖拽任意文件或 ⌘V 粘貼含非圖片文件時,瀏覽器 document 捕獲階段接管(先於 DSH 內置處理)。
  2. 指紋計算:計算文件輕量指紋(首尾 1MiB 拼接 SHA-256),發送 POST 請求。
  3. 路徑反查:Host 端優先使用 mdfind(Spotlight)全盤秒級查找,若未命中則使用 find + stat 常規目錄兜底,比對大小與修改時間及指紋。
  4. 結果處理:命中則只登記路徑;未命中則分塊 base64 上傳緩存。
  5. 自動插入:路徑自動插入輸入框,Agent 根據路徑讀取文件。

平臺與開發

平臺支持:macOS 優先(使用 mdfind、stat -f、shasum);非 macOS 環境自動退化爲 find + stat 常規目錄查找,仍走緩存兜底路徑。

開發注意事項:
pnpm add file:... 創建的是硬鏈接。若僅通過編輯器修改源碼,硬鏈接會斷開,頁面刷新後仍顯示舊行爲。修改源碼後需重新建立硬鏈接:

cd ~/.dsh/profiles/web
rm -rf node_modules/dsdragpasteall && pnpm install

總結

該插件通過路徑引用方式解決了本地文件輸入問題,適合需要處理非圖片文件的場景。詳見 GitHub。

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

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

小夜