前言¶
當用戶通過網頁編輯器將文件拖入對話時,瀏覽器僅能傳輸文件字節和顯示名稱,無法暴露文件在本地系統中的原始絕對路徑。DeepSeek Harness(DSH)會將上傳的快照存儲在 <session cwd>/.dsh-uploads/<sessionId>/<sha256-16>-<name> 目錄下。
dsh-upload-origin 插件運行在 DSH 主機端,通過匹配上傳快照的名稱、大小和 SHA256 哈希值,掃描會話工作區及常用用戶文件夾,從而恢復文件的原始本地路徑。該路徑隨後會被注入到當前智能體的系統提示詞中,並可通過工具按需查詢。
插件簡介¶
這是一個 DSH 主機插件,用於解決文件上傳後的路徑溯源問題。插件由 wlc114514 維護,屬於“聯網工具”分類,採用 MIT 許可證。它通過監視 .dsh-uploads 目錄、篩選被引用的文件、結合文件引用索引和有界文件系統掃描,最終將原始路徑映射注入系統提示詞,並註冊了 resolve_uploaded_file 查詢工具。
安裝¶
通過官方命令安裝預編譯的 tarball 包。該插件通過 DSH 的 bundle/profile 流程自動安裝:
dsh plugin --profile web add https://github.com/wlc114514/dsh-upload-origin/releases/download/v0.1.0/dsh-upload-origin-0.1.0.tgz
配置¶
插件支持通過 bundle patch 行進行配置,主要參數包括:
- id: upload-origin
name: 'dsh-upload-origin'
config:
maxSearchFiles: 250000
searchTimeoutMs: 9000
maxDepth: 12
maxHashChecks: 30
maxResults: 10
recentUploadMs: 604800000
maxRecentUploads: 8
autoResolveTimeoutMs: 7000
工具:resolve_uploaded_file¶
插件註冊了一個 resolve_uploaded_file 工具,用於在需要時手動查詢文件的原始路徑。
參數¶
file_path(string, optional): 上傳文件的路徑,可以是絕對路徑或相對於會話工作區的路徑。name(string, optional): 原始文件名,用於在未知上傳路徑時進行定位。search_roots(string[], optional): 額外的絕對掃描目錄。max_results(integer, optional): 返回的最大候選結果數(默認 10)。
返回值與置信度¶
工具返回上傳路徑、原始名稱、大小、SHA256、最佳原始路徑、置信度、候選列表、掃描根目錄及元數據。置信度表示匹配的精確程度:
| 置信度 | 含義 |
|---|---|
exact |
名稱、大小和 SHA256 全部匹配。 |
name+size |
名稱和大小匹配;未檢查 SHA256 或哈希值不同。 |
name+size-hash-differs |
名稱和大小匹配,但內容在上傳後發生變更。 |
name-only-size-differs |
僅名稱相同,大小不同。 |
name-only |
僅名稱相同,需人工驗證。 |
注意事項¶
- 運行環境:插件僅爲主機端運行,不進行網絡調用,不讀取、存儲或傳輸憑證。所有內容哈希計算均在本地完成。
- 工具權限:
resolve_uploaded_file工具爲只讀操作。 - 瀏覽器限制:由於瀏覽器在拖拽上傳時不暴露原始絕對路徑,本插件通過主機側匹配來恢復路徑。
- 文件變更:如果原始文件在上傳後被修改,SHA256 將不同,插件會回退到“名稱+大小”或僅“名稱”的候選方案。
- 掃描範圍:默認掃描根目錄外文件需通過工具參數
search_roots指定或等待未來版本配置擴展。