前言¶
DeepSeek Harness (DSH) 的原生粘貼功能僅支持圖片,這導致開發者在處理 Word、PDF、壓縮包等非圖片文件時,無法直接引用本地文件路徑。dsDragPasteALL 插件通過接管瀏覽器的拖放與粘貼事件,在後臺靜默反查文件在磁盤上的真實路徑,並將路徑文本插入對話框輸入框,從而實現類似 Codex 的文件引用體驗,而不復制文件內容本身。
插件簡介¶
本插件由用戶 balue8246-maker 維護,採用 MIT 許可證。它不依賴外部服務,運行在 DSH Host 進程中,負責文件指紋計算與路徑反查,Client 端負責事件接管與界面反饋。
核心功能¶
- 任意文件類型:支持 zip、Word、Markdown、PPTX、視頻等,不受 DSH 內置”僅支持圖片”限制。
- 粘貼分流:純圖片粘貼(macOS/Windows 截圖、複製的圖片文件)交還 DSH 原生流程,由識圖插件識別;含非圖片文件的粘貼才由本插件接管。
- 鎖定排隊:AI 運行中(輸入框鎖定)拖入的文件或粘貼的截圖會進入隊列,解鎖後自動插入輸入框。
- 路徑優先:桌面、文稿、下載等常規位置文件 100% 反查真實路徑,零複製內容。
- 緩存兜底:找不到原文件時,內容緩存到
~/.dsh/dragpasteall-cache,仍可被讀取。 - 多文件支持:一次拖入多個文件,每個文件一行路徑。
- 無感反饋:提供全屏拖放浮層與右下角輕量提示,無多餘 UI。
- 持久化與工具:導入記錄存入
~/.dsh/dragpasteall-inbox.json,提供dragpasteall_inboxAgent 工具查看記錄。
安裝與啓用¶
通過 pnpm add 安裝本地插件包,並在配置中啓用 bundle。
# 安裝命令示例(請替換爲本地實際路徑)
pnpm add "file:/Users/acegent/Documents/ds 插件/dsDragPasteALL"
安裝後,編輯 ~/.dsh/profiles/web/package.json,在 dsh.profile.bundles 中加入 "dsdragpasteall",重啓 DSH Web 即可生效。
工作方式¶
- 事件捕獲:拖拽任意文件或
⌘V粘貼含非圖片文件時,瀏覽器document捕獲階段接管(先於 DSH 內置處理)。 - 指紋計算:計算文件輕量指紋(首尾 1MiB 拼接 SHA-256),發送 POST 請求。
- 路徑反查:Host 端優先使用
mdfind(Spotlight)全盤秒級查找,若未命中則使用find+stat常規目錄兜底,比對大小與修改時間及指紋。 - 結果處理:命中則只登記路徑;未命中則分塊 base64 上傳緩存。
- 自動插入:路徑自動插入輸入框,Agent 根據路徑讀取文件。
平臺與開發¶
平臺支持:macOS 優先(使用 mdfind、stat -f、shasum);非 macOS 環境自動退化爲 find + stat 常規目錄查找,仍走緩存兜底路徑。
開發注意事項:
pnpm add file:... 創建的是硬鏈接。若僅通過編輯器修改源碼,硬鏈接會斷開,頁面刷新後仍顯示舊行爲。修改源碼後需重新建立硬鏈接:
cd ~/.dsh/profiles/web
rm -rf node_modules/dsdragpasteall && pnpm install
總結¶
該插件通過路徑引用方式解決了本地文件輸入問題,適合需要處理非圖片文件的場景。詳見 GitHub。