前言¶
DeepSeek Harness (DSH) 採用插件化架構。在構建基於文本的智能體時,讓模型直接讀取本地文件通常需要配置複雜的文件系統工具或依賴雲端服務。dsh-file-upload-local 插件在會話空間內提供了一套完整的本地文件處理方案,通過 UI 交互完成上傳,並供智能體調用。
這是什麼¶
該插件由 lubenweimeiyoukaig 維護,採用 MIT 許可證。它爲 DSH 提供了本地文件上傳功能,支持通過回形針按鈕和全屏拖拽上傳,並將文件存儲在會話隔離的目錄中,供智能體通過 read_document 工具讀取。
核心功能¶
- 上傳交互:提供回形針按鈕和全屏拖拽覆蓋層。
- 附件欄:圖片顯示 64px 縮略圖(點擊查看),其他文件顯示類型圖標與文件名。每項均包含移除按鈕。
- 讀取工具:提供
read_document工具。支持分頁讀取文本文件(offset/limit),並使用 tesseract.js 對圖片進行 OCR 識別。 - 存儲機制:文件按會話隔離,存儲在
.dsh-uploads/<sessionId>/。插件包含 TTL 掃描機制,防止目錄無限增長。
安裝與啓用¶
- 執行以下命令安裝插件:
dsh plugin --profile web add dsh-file-upload-local
- 安裝完成後需要重啓 dsh web。
典型用法¶
- 點擊輸入框左側的回形針按鈕,或直接將文件拖拽至窗口任意位置進行上傳。
- 上傳後的文件會顯示在輸入框上方,支持點擊縮略圖查看大圖,或點擊移除按鈕(✕)刪除不需要的附件。
- 發送消息後,智能體將使用
read_document <path>工具讀取附件內容。對於文本文件,它會按行分頁;對於圖片,它會進行 OCR 識別。
配置說明¶
可以通過配置文件調整以下參數(默認值):
- id: dsh-file-upload-local
config:
uploadMaxBytes: 26214400 # 單個上傳文件大小上限
uploadTtlMs: 604800000 # 文件過期時間(7天)
sweepIntervalMs: 3600000 # TTL 掃描間隔
maxConcurrentUploads: 4 # 最大併發上傳數
maxFileBytes: 26214400 # read_document 讀取單次上限
readLimit: 2000 # read_document 每頁最大行數
ocrLangs: 'chi_sim+eng' # tesseract OCR 語言包
注意事項¶
- OCR 語言包:默認使用
chi_sim+eng,該語言包需在首次使用時通過網絡下載,或提前預緩存。若無網絡環境,OCR 功能將不可用。 - 圖片讀取路徑:圖片默認通過 OCR 路徑(即
read_document)讀取,這適用於純文本模型。如果當前模型支持圖片輸入,可以直接使用read_image工具。 - 權限與源碼:插件在當前 DSH 進程權限下運行,安裝前建議檢查源碼與許可證。
結語¶
該插件簡化了本地文件交互流程。更多配置細節和源碼可參考:GitHub。