前言¶
在 DSH(DeepSeek Harness)環境中,當涉及文件域操作時,需要專門的組件來處理不同類型的文件展示。對於圖片文件,通用組件往往難以兼顧性能與安全性。dock-images 旨在解決這一痛點,提供一套專用的圖片查看方案。
是什麼¶
dock-images 是一個由 AKS1st 維護的客戶端插件。它爲 dock-files 文件域註冊了 image 查看器,用於接管柵格和圖片擴展名的文件展示,通過 /dock-images 路由讀取圖片內容。
核心功能¶
- 多格式支持:支持 PNG、JPEG、GIF、WebP、BMP、SVG、ICO、AVIF 八種常見圖片格式。
- 整文件讀取:插件一次性讀取文件內容並轉換爲 base64 數據 URL 進行渲染。如果文件大小超過 20 MiB,讀取操作會在前即被拒絕,返回 413 狀態碼。
- SVG 安全:SVG 文件僅通過
<img src="data:...">標籤進行渲染,不會執行 innerHTML 注入,防止潛在的安全風險。 - 內存與路徑:由於採用整文件讀取,超大圖片可能會佔用較多內存(目前沒有像素級上限)。讀取路徑不限定會話工作區,支持打開對話上下文中提及的工作區外的圖片。
安裝與啓用¶
該插件需要與 dock-base 和 dock-files 一起安裝。請按順序執行以下命令:
dsh plugin --profile web add dock-base
dsh plugin --profile web add dock-files
dsh plugin --profile web add dock-images
典型用法¶
- 共存使用:與
dock-editor、dock-markdown等查看器共存,系統會根據文件擴展名自動分配對應的查看器。 - 分發打開:
dock-images作爲image查看器被分發打開,用於在 DSH 環境中展示圖片內容。
注意事項¶
- 依賴項:
- 必需依賴:
dock>= 0.1.0、dock-files>= 0.1.0、DSH Web 環境、cordis^4.0.0-rc.7。 - 可選依賴:
react^18.2.0(客戶端渲染需要;未提供時查看器 UI 不會激活)。 - 路由安全:
/dock-images路由只接受受信任來源(迴環地址 / trustedHosts + 同源檢查)的 POST 請求。 - 文件大小限制:文件讀取有 20 MiB 的上限,超過該大小會被拒絕。
結尾¶
dock-images 提供了在 DSH 環境下查看圖片的底層能力,特別是對 SVG 的安全處理和跨工作區的文件讀取支持。其源碼與目錄信息可參考下方鏈接。