在 DeepSeek Harness (DSH) 中开发智能体时,图片展示通常需要依赖外部图床或直接传输文件路径,导致对话流中的体验割裂。dsh-image-preview 插件利用 web profile 自带的 HTTP 服务(默认 127.0.0.1:3080),在本地托管预览目录,使图片能够直接在聊天消息中内嵌渲染。
本插件由 ReiRui 维护,采用 MIT 许可证。它通过注册模型工具和静态路由,允许 AI 将本地图片复制到预览目录,并返回可在聊天中渲染的 URL。
核心功能¶
- 静态托管:在 web profile 自带的 HTTP 服务上注册
/preview/*路由,静态托管预览目录里的图片。同源 URL(如http://127.0.0.1:3080/preview/<name>)在聊天里可直接渲染,无混合内容/CORS 问题。 - 模型工具:注册模型工具
preview_image(file_path),将本地图片复制进预览目录(已在目录内则直接引用),返回可内嵌的 URL。
安装与启用¶
- 执行安装命令:
dsh plugin --profile web add "github:ReiRui/dsh-image-preview#main"
- 安装后需要重启 web profile 才能生效。
默认预览目录为 ~/.dsh/preview,可在 $DSH_HOME/profiles/web/cordis.patch.yml 中覆盖 root 配置项。
典型用法¶
- 让 AI 生成或下载图片到本地。
- AI 调用
preview_image工具,传入图片的绝对路径。 - 工具返回
http://127.0.0.1:3080/preview/<name>。 - AI 在回复中直接内嵌该链接(如
),即可显示图片。
也可以直接访问 http://127.0.0.1:3080/preview/<name> 查看图片。
注意事项与限制¶
- 必须调用工具:AI 必须调用
preview_image工具,禁止手动将文件复制进预览目录。新会话的文件沙箱默认为workspace-write,AI 的文件工具写不进预览目录(会报”目录出错”),工具内部不受该沙箱限制。 - URL 限制:URL 固定使用
127.0.0.1,局域网访问需自行替换为本机 IP(并确保 web 服务绑定 0.0.0.0)。 - 文件清理:预览目录内的文件不设清理策略,长期使用建议定期手动清理。
- 格式支持:仅支持 png、jpg、jpeg、webp、gif、avif、bmp 格式。
插件源码位于 ReiRui/dsh-image-preview。