前言¶
DeepSeek Harness 的核心設計理念是「一切皆插件」。在智能體開發中,展示本地生成的圖片通常需要手動打開文件路徑,或者使用繁瑣的附件上傳流程。img-preview 插件通過註冊工具與迴環路由,讓 AI 能在對話框內直接渲染本地圖片文件。
插件介紹¶
img-preview 是一個 DeepSeek Harness 插件,由用戶 dhb861832993-star 維護,採用 MIT 許可證。它爲 DSH 客戶端提供了內聯本地圖片預覽能力,支持 PNG/JPG/WebP/GIF/AVIF/BMP/SVG/ICO/TGA 格式,並包含獨立的圖片查看器交互。
核心功能¶
-
內聯渲染與柵欄格式
插件檢測```img柵欄,將其渲染爲內聯圖片。支持單圖、多圖網格展示以及可選標題。 -
工具集成
安裝後,模型自動獲得img_serve工具。該工具用於校驗圖片路徑、簽發可訪問 URL。 -
迴環文件路由
插件註冊/plugins/img-preview/files路由,宿主端通過該路由向瀏覽器提供圖片數據。瀏覽器無法直接讀取本地磁盤,必須通過此路由。 -
路徑與格式校驗
僅允許工作區根目錄內的路徑,防止目錄穿越。僅允許 png/jpg/jpeg/webp/gif/avif/bmp/svg/ico/tga 擴展名,超過 128 MiB 的文件會被拒絕。 -
特殊格式處理
TGA 格式在宿主端自動解碼並轉碼爲 PNG,再由瀏覽器渲染。SVG 經<img>渲染時不執行腳本。 -
獨立查看器
雙擊縮略圖可打開全屏遮罩查看器。支持滾輪縮放(5%–2000%,以光標爲中心)、拖拽平移、雙擊 100%/2.5x 切換。提供適應窗口、100%、原圖、關閉等工具欄操作。
安裝與啓用¶
使用官方安裝命令添加插件:
dsh plugin --profile web add github:dhb861832993-star/img-preview
安裝後重啓 dsh web 服務,插件會自動注入使用說明,並在新會話中生效。
典型用法¶
- 工具調用
Agent 需要先調用img_serve工具來生成可訪問的 URL。
# 工具
img_serve(path: "H:/工作-deepseek/dm_output/xxx.png")
- Fence 格式
在回覆中使用```img柵欄,傳入路徑和可選的 label。
```img
{"path":"H:/工作-deepseek/dm_output/xxx.png","label":"可選標題"}
3. **多圖展示**
```text
```img
{"images":[{"path":"a.png"},{"path":"b.png","label":"B"}]}
``
注意:插件會自動將路徑中的反斜槓( `)規範化爲正斜槓(/),確保 JSON 合法。
安全與限制¶
- 權限範圍:插件以當前 DSH 進程的權限運行。它僅允許工作區根目錄內的路徑,通過規範化路徑和前綴校驗防止目錄穿越攻擊。
- 資源限制:文件大小限制爲 128 MiB,超過該大小會被拒絕。僅支持特定的圖片擴展名。
- 渲染隔離:SVG 文件在渲染時使用
<img>標籤,瀏覽器會屏蔽其中的腳本執行,相對安全。
總結¶
img-preview 解決了 DSH 環境下本地圖片展示不便的問題。通過 img_serve 工具與 ```img 柵欄的結合,開發者可以讓模型在生成圖片後立即在對話中展示,提升交互體驗。