DSH web composer 默認僅支持圖片(PNG/JPG/WebP/GIF)的粘貼和拖拽。在需要處理表格或文檔(如 .xlsx, .csv, .pdf)時,通常需要先上傳到外部存儲,再複製鏈接。dsh-table-attach 插件填補了這一空白,允許開發者直接在編輯器中操作非圖片文件。
這是一個客戶端插件,由維護者 yybukn 開發。它攔截瀏覽器的粘貼和拖拽事件,將文件保存到當前會話的工作區,並自動生成引用鏈接。
核心功能¶
- 輸入方式:支持拖拽和粘貼。
- 文件類型:支持任意非圖片文件(xlsx, csv, pdf, zip 等)。
- 工作區存儲:文件保存到
<workspace>/attachments/目錄,同名文件會自動添加-1、-2等後綴。 - 引用生成:成功後自動插入
@reference引用(例如@"attachments/report.xlsx"),代理可以直接讀取。 - 安全機制:默認限制文件大小爲 50 MiB,阻止可執行文件擴展名(如 .exe, .dll, .sh, .js 等),並防止路徑遍歷攻擊。
- 兼容性:保留圖片處理邏輯不變,支持中英文國際化。
安裝與啓用¶
在終端執行以下命令安裝插件:
dsh plugin add github:yybukn/dsh-table-attach
典型用法¶
- 打開任意會話(提供工作區)。
- 將 .xlsx / .csv / .pdf / .zip 等文件拖拽到編輯器,或複製文件後使用快捷鍵粘貼。
- 保存成功後,編輯器中會出現
@reference引用。 - 發送消息,代理即可讀取引用的文件內容。
適用場景與注意¶
- 適用場景:需要向智能體傳遞數據文件、表格或文檔的場景。
- 注意事項:
- 文件大小限制爲 50 MiB。
- 可執行文件擴展名會被攔截。
- 文件名經過淨化處理(防路徑遍歷)。
- 複製 Excel 單元格文本會被視爲普通文本,不會轉換爲文件。