前言¶
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 栅栏的结合,开发者可以让模型在生成图片后立即在对话中展示,提升交互体验。