前言¶
在 DeepSeek Harness(DSH)里让 Agent 出图,常见做法是单独写脚本或手工调 HTTP,再把文件路径贴回对话。图要在回复里直接看到,往往还要自己处理展示。社区插件 dsh-image2-tool(仓库 544244857/dsh-image2-plugin)把文生图、图生图收成宿主工具 image2_generate,对接你自己维护的 OpenAI 兼容图片中转站,并依赖 bundle 依赖在内联预览里渲染结果。下面按安装、配置和调用说明用法。
这是什么¶
dsh-image2-tool 是面向 DeepSeek Harness 的 Cordis bundle 插件(npm 包名 dsh-image2-tool,当前 release 对应版本 0.4.1)。维护者为 544244857,在 SkillHub 社区目录中归类为联网工具。插件不自带生图模型,而是把 POST /images/generations(文生图)与 POST /images/edits(图生图)转发到你配置的 baseUrl;支持中转站返回 b64_json 或图片 URL。安装时会一并引入 @wisdoverse/dsh-inline-media-viewer(1.0.12),用于在对话下方内联显示生成图片。
核心功能¶
| 能力 | 说明 |
|---|---|
| 工具入口 | 重启 DSH 后,工具表出现 image2_generate |
| 文生图 / 图生图 | 无 image 参数走 generations;传入本地参考图路径走 edits(multipart 上传) |
| 参考图校验 | 按魔术字节识别 PNG/JPEG/WebP,≤ 20 MB;路径或格式不对时在请求发出前报错 |
| 配置方式 | Plugins 页 image2 设置行,或编辑 profile 的 cordis.patch.yml |
| 输出边界 | 默认输出目录 imagegen-output,相对会话目录解析,不越界会话目录 |
| 视觉自检 | 保存后需用原生 read_image 核对文件;未完成前工具侧会保留视觉验收待办 |
| 克制默认 | autoGenerateAssets 默认 false,不会在普通开发任务里悄悄消耗生图额度 |
宿主 README 标明在 DeepSeek Harness 0.2.1-rc.1 实测,并声明与 0.2.0-rc.2、0.1.7-rc.2 兼容;运行环境要求 Node.js >= 22.15(图生图依赖全局 FormData / Blob)。
安装与启用¶
官方推荐用通用插件安装方式(把 <profile> 换成你常用的 profile,例如 web、default):
dsh plugin --profile <profile> add dsh-image2-tool
安装完成后重启 DSH,确认工具表中有 image2_generate。若需独立 profile,可先基于已有 profile 导出配置,例如:
dsh --profile image2-demo --from-default-profile web --dump-config
README 还列出从 Release tgz、GitHub 仓库标识或本地源码目录安装的等价命令;日常以 npm 包名安装即可。插件以当前 DSH 进程的权限与网络环境运行,安装前建议在 GitHub 查看源码与 MIT 许可证,并自行评估中转站与 API key 的保管方式。
配置中转站与密钥¶
图形界面:侧边栏 → Plugins → dsh-image2-tool → image2 行,填写 baseUrl、model、遮蔽的 apiKey 等字段。
配置文件路径为 $DSH_HOME/profiles/<profile>/cordis.patch.yml;未设置 DSH_HOME 时为 ~/.dsh/profiles/<profile>/cordis.patch.yml。示例片段:
- id: image2
name: dsh-image2-tool
config:
baseUrl: https://your-image-relay.example.com/v1
model: grok-imagine-image-2.0
apiKeyEnv: IMAGE2_API_KEY
autoGenerateAssets: false
outputDir: imagegen-output
timeoutMs: 180000
responseFormat: b64_json
model 必须是该中转站 GET /v1/models 中存在的名称,否则会返回 404。apiKeyEnv 填写环境变量名;设置页中的 apiKey 非空时优先于环境变量。在启动 DSH 的终端里注入密钥,例如:
$env:IMAGE2_API_KEY = 'your-image-relay-api-key'
dsh --profile web
已打开的桌面端不会继承新设的环境变量,需从带变量的终端重新启动。不要把 key 写入 Git。
若中转站不接受 response_format 字段,将 responseFormat 设为空字符串即可不发该字段。若返回的是 CDN 临时 URL 而本机无法访问,可把 responseFormat 改为 b64_json,让图片字节直接内联回传。
典型用法¶
对话生图:插件装好且配置正确后,可直接对 Agent 说明「生成一张 XXX 的图」。在 autoGenerateAssets 保持默认 false 时,只有你明确要求才会调用生图。
图生图(参考图引导):调用 image2_generate 时带上本地 image 路径即走 POST /images/edits。参数示例:
{
"prompt": "保持这个角色设定,改成少女比例,正常七头身,不要 Q 版",
"image": "imagegen-output/reference.jpg",
"aspectRatio": "3:4",
"filename": "result.jpg"
}
image 可为相对会话目录或绝对路径;可选 size(如 1024x1024)或 aspectRatio(如 3:4、16:9),具体以中转站是否认 aspect_ratio 为准。一次请求生成一张图;同名文件冲突时会自动加序号。
工作流上,Agent 经 image2_generate 写入会话目录后,内联预览插件渲染路径,再用 read_image 做视觉验收。README 中的 mermaid 流程概括为:用户请求 → Agent 调工具 → 中转站 → 会话目录 → read_image → 内联预览。
适用场景与注意¶
适合已经在使用 DSH、并自备 OpenAI 兼容图片中转站(含 API key 与模型名)的开发者。需要角色一致性、画风或配色时,用参考图走图生图通常比纯文字描述更稳。
需要注意:
- 图生图要求中转站提供
/images/edits;若仅支持文生图,会出现model is required等 400 类错误,需更换中转站或只用文生图。 autoGenerateAssets为 true 时,Agent 在软件开发场景下可能在确认项目内外均无合适素材后生成位图;用户的直接生图请求不受该开关限制,它只是工具层指引,不是服务端授权闸门。- 下载 URL 形式的结果时,插件不会把中转站 key 转发给 CDN。
- 工具表无
image2_generate时,检查 profile 是否安装成功、是否重启,以及package.json里dsh.profile.bundles是否包含dsh-image2-tool。图片未内联时,确认@wisdoverse/dsh-inline-media-viewer也在 bundles 中并重启。
社区目录 SkillHub 插件页 与 GitHub 仓库相互独立索引;目录站点与 DeepSeek / 幻方无官方从属关系,安装与配置仍以仓库 README 为准。
结尾¶
dsh-image2-tool 把「自己的图片中转站 + DSH 工具表 + 会话内预览」连成一条可复现链路:一行安装、配置 baseUrl 与 model、重启后即可通过 image2_generate 做文生图与图生图。更多参数、FAQ 与兼容性说明见 GitHub README;社区介绍页见 SkillHub:544244857/dsh-image2-plugin。