img-preview: DeepSeek Harness 本地圖片內聯預覽

前言

DeepSeek Harness 的核心設計理念是「一切皆插件」。在智能體開發中,展示本地生成的圖片通常需要手動打開文件路徑,或者使用繁瑣的附件上傳流程。img-preview 插件通過註冊工具與迴環路由,讓 AI 能在對話框內直接渲染本地圖片文件。

插件介紹

img-preview 是一個 DeepSeek Harness 插件,由用戶 dhb861832993-star 維護,採用 MIT 許可證。它爲 DSH 客戶端提供了內聯本地圖片預覽能力,支持 PNG/JPG/WebP/GIF/AVIF/BMP/SVG/ICO/TGA 格式,並包含獨立的圖片查看器交互。

核心功能

  1. 內聯渲染與柵欄格式
    插件檢測 ```img 柵欄,將其渲染爲內聯圖片。支持單圖、多圖網格展示以及可選標題。

  2. 工具集成
    安裝後,模型自動獲得 img_serve 工具。該工具用於校驗圖片路徑、簽發可訪問 URL。

  3. 迴環文件路由
    插件註冊 /plugins/img-preview/files 路由,宿主端通過該路由向瀏覽器提供圖片數據。瀏覽器無法直接讀取本地磁盤,必須通過此路由。

  4. 路徑與格式校驗
    僅允許工作區根目錄內的路徑,防止目錄穿越。僅允許 png/jpg/jpeg/webp/gif/avif/bmp/svg/ico/tga 擴展名,超過 128 MiB 的文件會被拒絕。

  5. 特殊格式處理
    TGA 格式在宿主端自動解碼並轉碼爲 PNG,再由瀏覽器渲染。SVG 經 <img> 渲染時不執行腳本。

  6. 獨立查看器
    雙擊縮略圖可打開全屏遮罩查看器。支持滾輪縮放(5%–2000%,以光標爲中心)、拖拽平移、雙擊 100%/2.5x 切換。提供適應窗口、100%、原圖、關閉等工具欄操作。

安裝與啓用

使用官方安裝命令添加插件:

dsh plugin --profile web add github:dhb861832993-star/img-preview

安裝後重啓 dsh web 服務,插件會自動注入使用說明,並在新會話中生效。

典型用法

  1. 工具調用
    Agent 需要先調用 img_serve 工具來生成可訪問的 URL。
   # 工具
   img_serve(path: "H:/工作-deepseek/dm_output/xxx.png")
  1. 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 柵欄的結合,開發者可以讓模型在生成圖片後立即在對話中展示,提升交互體驗。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜