前言¶
DeepSeek Harness (DSH) 是一个用于智能体开发的框架。在对话调试或演示场景中,让大模型直接查看本地图片文件是常见需求。传统的做法通常是将图片转为 Base64 字符串,但这会显著膨胀会话日志,并增加网络传输负担。dsh-plugin-show-image 插件通过全局工具与按需 HTTP 路由,解决了这个问题,它能在对话流中内联渲染本地图片,且不占用模型上下文。
核心功能¶
该插件主要由 justhalfbit 维护,提供以下能力:
- 内联图片渲染:在对话流中直接显示本地图片,无需离开会话界面。
- 点击放大:缩略图支持点击,通过全屏 Lightbox 浮层查看大图,支持点击任意位置或按 Escape 关闭。
- HTTP 按需传输:图片字节通过专用 HTTP 路由(
GET /show-image?path=…)传输,不进行 Base64 编码,且图片数据不会进入会话日志。 - 零依赖零构建:纯手写 JavaScript,无 npm 依赖、无构建步骤、无 TypeScript。
- 安全守卫:限制 8MB 文件大小,支持扩展名白名单(防止原型链污染),不支持的格式会被拒绝。
- 完全可逆:所有副作用(工具注册、HTTP 路由、卡片渲染器)绑定在插件 fiber 上,卸载即清理。
安装与启用¶
安装前需确保已安装 DSH 并在 PATH 中包含 pnpm。
dsh plugin --profile web add github:justhalfbit/dsh-plugin-show-image
安装后,需重启 dsh web 使配置生效。卸载命令为:
dsh plugin --profile web remove dsh-plugin-show-image
使用方式¶
安装并重启后,该插件会在所有会话中注册全局工具 show_image。开发者可以直接对 Agent 发出指令:
把 /path/to/image.png 显示出来
Agent 调用该工具后,图片会以内联卡片的形式渲染在对话流中。点击图片即可查看大图。
限制与注意事项¶
- 运行环境限制:仅适用于
dsh web(浏览器 GUI)profile。在tui或headless环境下不可用。这是因为插件依赖webServer服务,且在无渲染面的终端中注册一个无法渲染的工具会误导模型。 - 路径解析规则:相对路径按 DSH 进程的工作目录解析,而非当前会话的工作目录。建议优先使用绝对路径。
- 权限模型:本机任何进程均可通过 GUI 端口读取本地图片文件,这与 DSH GUI 既有的本地信任模型一致,无需额外担忧。
生态与链接¶
该插件遵循 MIT 许可证,完全开源。更多技术细节、目录索引及源码仓库可参考下方链接: