dsh-image-gen-plugin:在 DeepSeek Harness 里接入 OpenAI 兼容出图

前言

在 DeepSeek Harness(DSH)里做 Agent,常见需求是让模型「说画就画」并把文件落到本机工作区。若自己写 Host 工具、拼请求体、做设置页和聊天卡片,工作量不小;若只在对话里贴 API 文档,模型也难以稳定调用 /images/generations 或 /images/edits。

下面介绍社区插件 dsh-image-gen-plugin(维护者 miller-owo):它向 Agent 注册 generate_image 工具,并在 DSH「设置」中增加「图片生成」页,用 OpenAI 兼容的图片接口完成文生图与图生图。请求参数与 Dasipaint 的 openai.rs::build_request 对齐,官方 OpenAI、中转网关或自建反向代理均可对接。插件分类为「模型推理」;仓库 GitHub 当前星标为 0,许可证 MIT(package.json 版本 1.1.0)。

这是什么

dsh-image-gen-plugin 是一个 DSH 插件包,主要做两件事:

  1. 给 Agent 注入 generate_image:传入提示词即可出图,结果写入本机目录。
  2. 在 设置 → 图片生成 中配置模型、接口地址、密钥、输出格式、默认张数、落盘路径等。

HTTP 层走 POST {apiUrl}/images/generations(文生图)或 POST {apiUrl}/images/edits(图生图,multipart)。端点背后是自然语言驱动的绘画模型时,提示词原样透传,不做 GPT-image 风格模板包装;仅 OpenAI 图片接口才认的字段(如 moderation)默认不发,并可通过设置开关控制。

核心功能

generate_image 工具

工具暴露 8 个参数(画质 quality 仅作为调用参数,不在设置页里配;省略时按 high 出图):

参数 必填 说明
prompt 是 自然语言提示词;图内文字用引号写清并说明位置
resolution 否 auto(默认)或 宽x高,如 1536x864
quality 否 low / medium / high / xhigh / max
count 否 1–10 张;不传用设置默认值
background 否 auto / transparent / opaque
location 否 落盘位置;不传为会话工作区
images 否 图生图源图路径数组,最多 16 张,每张 ≤50MB
mask 否 可选 PNG 蒙版,须恰好 1 张源图

没有单独的 mode 参数:传 images 即走编辑(/images/edits),不传即走生成(/images/generations)。

自定义分辨率校验顺序与 OpenAI 文档一致:宽高为 16 的倍数;长宽比 1:3–3:1;最长边 ≤3840(可由 maxEdge 调小);总像素在 655,360–8,294,400 之间(故 3840×3840 超限,最大合法正方形约为 2880×2880)。

设置页与 Config

配置写入 profile 的 cordis.patch.yml,主要字段包括:

字段 默认值 说明
apiUrl https://api.openai.com/v1 基地址,自动拼 /images/generations
secret 空 Bearer 令牌
model gpt-image-2.5-flare 可改为端点支持的任意模型 id
count 1 默认张数
outputFormat png png / jpeg / webp
outputCompression 100 仅 jpeg / webp
background auto 默认背景
moderation auto 仅显式选 low 时才发该字段
defaultResolution auto 调用未写分辨率时使用
maxEdge 3840 自定义分辨率最长边上限
outputDir 空 留空用插件包内 assets/
fileNameFormat {time}-{prompt} 占位符:{time}、{prompt}、{index}、{uniq}
requestTimeoutSec 600 单次请求超时
sendsModeration true 关闭后永不发 moderation
sendsOutputCompression true 关闭后永不发 output_compression

文件名模板支持排他创建,同名自动加 -2、-3 后缀,避免覆盖。

工具卡片与提示词建议

聊天中会展示工具卡片:生成中显示提示词前几行;出图后可展开完整提示词与实际传入参数。插件把提示词原样交给端点模型,README 建议侧重「内容、版式、引号内文字」,避免 Stable Diffusion 式权重语法或质量咒语;图生图应描述改动而非重述整图。

安装与启用

dsh plugin add 会把包装进 profile,并按包内 dsh.bundle.patch 追加到 bundle 栈,无需手改配置文件。

面向 web profile 的安装命令(来自 README 原文):

dsh plugin --profile web add dsh-image-gen-plugin

也可在 Harness 内让 Agent 执行 plugin_manager 的 install_bundle,target 填 dsh-image-gen-plugin。

从本地目录安装时,将包名换成本插件目录的绝对路径,例如:

dsh plugin --profile web add "D:\MyProject\deepseek-image-generation\dsh-image-gen-plugin"

装完后刷新页面(http://127.0.0.1:3080)。Host 侧 JavaScript 变更需重启 DSH 后才会加载新一代;升级可重新执行 add 覆盖安装。

卸载:

dsh plugin --profile web remove dsh-image-gen-plugin

典型用法

经过上面的步骤,可按 README 中的顺序使用:

  1. 打开 设置 → 图片生成,填写 API 地址、API 密钥并选择模型。
  2. 在新会话中对 Agent 说例如「画一只戴帽子的柯基」;Agent 调用 generate_image,图片写入输出目录并在卡片中显示。
  3. 图生图时把源图路径交给 Agent,并说明要改什么(例如换背景、改毛色、加围巾)。

维护者提供的自检命令(在插件目录下):

npm run check

可用 node show-prompt.mjs 查看模型实际读到的工具定义全文。

适用场景与注意

适合谁:已在 DSH 中跑 Agent、希望用 OpenAI 兼容图片 API(含自建或网关)做文生图 / 图生图,且需要设置页与聊天内预览的开发者。

权限与安全:插件以当前 DSH 进程权限运行,可读写配置中的目录并携带你填写的 API 密钥出网请求;安装前应阅读 源码与 LICENSE,确认接口与数据落盘位置符合你的环境策略。README 另有「安全」专节说明密钥字段存法,部署前建议通读。

生态说明:DSH 采用「一切皆插件」的扩展方式;SkillHub 目录页 为社区站点,与 DeepSeek / 幻方无官方从属关系,并非官方应用商店。

结尾

dsh-image-gen-plugin 把 OpenAI 兼容出图收敛成一个 generate_image 工具加一页设置,并区分 JSON 文生图与 multipart 图生图两条链路。若你要在 Harness 里让 Agent 稳定出图并落盘,可按本文安装命令接入,并在设置中配好 apiUrl 与 secret 后在新会话中直接自然语言调用。

  • 目录页:https://www.skillhub.cn/plugins/miller-owo/dsh-image-gen-plugin
  • GitHub:https://github.com/miller-owo/dsh-image-gen-plugin
羽毛球分组比赛记分
小程序二维码

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

小夜