dsh-imagegen:在 DSH 里接入 OpenAI 风格生图接口

前言

在 DeepSeek Harness(DSH)里做智能体时,若要在对话中直接出图,常见做法是手写 HTTP 调用、自己处理异步任务轮询和结果落盘。不同平台的协议差异(同步 /images/generations 与任务式 ?async=true + /tasks/{id})和图生图传参方式(URL 数组 vs multipart edits)也容易踩坑。下面介绍社区插件 dsh-imagegen(维护者 say007go,GitHub say007go/dsh-imagegen):把文生图、图生图封装为 image_generate 工具,默认适配多米 API,也可按兼容表切换到标准 OpenAI 或其它任务式站点。

这是什么

dsh-imagegen 是 DSH 分类「模型推理」下的文生图 / 图生图插件(当前仓库版本 0.7.7,许可证 MIT)。它对接任意 OpenAI 兼容的生图接口:Base URL、API Key、模型 ID 可在插件详情页配置。文生图和使用 已有图片 URL 作参考的图生图 无需 配置对象存储;若要用 本地文件 作参考图,需配置 腾讯云 COS(先自动压缩再上传,同一张图重复用不会二次上传)。还支持可开关的提示词后缀,以及表单里的默认分辨率等预设。

插件以当前 DSH 进程权限运行;安装前建议自行查看源码与许可证。社区目录页:skillhub.cn/plugins/say007go/dsh-imagegen(独立社区站点,与 DeepSeek / 幻方无官方从属关系)。

核心功能

文生图与图生图

  • 文生图:自然语言描述 → 生成图片,返回本地副本路径与原图链接。
  • 图生图:参考图可为 URL(透传)、本地路径(相对路径按会话工作目录解析,绝对路径亦可)、或对话附件 ID(形如 sha256:…)。本地路径场景走 COS 托管供上游读取;edits-multipart 模式下参考图以文件字节直传,可不经过 COS(见兼容表)。
  • 断点续等:生成超时或被中断时,可凭 任务 ID 继续等待同一张图,不重复提交、不重复计费。
  • 提交前确认:真正生成前通过 ask_user_question 确认提示词全文、尺寸/模型、参考图来源和可选 save_path;选「确认生成」才执行。确认走会话,不经过 DSH 审批,因此 approval: never 的会话也能用。
  • 交付方式:结果含 local_path;默认保存到会话目录 images/,指定 save_path 时若文件已存在会报错以免覆盖。回复用本地链接/文件卡片,不内联 4K markdown 图片。

工具描述里还约定:一次只出一张、等待期间不重复提交、超时不重开新任务。

协议与站点兼容

换 API 站时除 Base URL / Key / 模型外,还需核对 协议、图生图模式 和模型支持的尺寸:

站点类型 protocol 图生图模式 备注
duomi / 任务式 auto 或 async-task image-array 默认;首查约 30s
标准 OpenAI 同步 openai-sync edits-multipart 单次长请求,不轮询
其它任务式 async-task + taskPath 按站点 默认 taskPath 为 /tasks/{id}

auto 会优先按 duomi 探测;标准 OpenAI 同步站建议强制 openai-sync,避免先发 ?async=true 被慢同步站拖到超时。探测结果按站点缓存。

提示词后缀与尺寸

  • 可在设置中启用一段 后缀文本,每次生图请求自动追加(不出现在 Agent 填写的 prompt 参数里);单次可传 enhance: false 跳过。
  • 表单 默认分辨率 作兜底(默认 4K);单次可临时指定尺寸。结果里 size 为请求尺寸,actual_size 为读图头得到的实际尺寸。

配置与安全

详情页表单修改即时生效。API Key、COS 的 SecretId / SecretKey 为 只写输入,界面仅显示「已设置 / 未设置」,不在对话中回显。COS 与数据万象为腾讯云付费服务,使用前请查阅官方计费说明。

安装与启用

方式一:DSH 界面(推荐)

  1. 打开 DSH 左侧栏 插件 → 右上角 添加插件。
  2. 输入仓库地址:
https://github.com/say007go/dsh-imagegen
  1. 按网络情况选择安装源,点击 安装,启用 dsh-imagegen 后 重启 DSH。

方式二:命令行

将 <你的profile名> 换成实际 profile:

dsh plugin --profile <你的profile名> add github:say007go/dsh-imagegen

安装完成后同样需要 重启 DSH。运行环境要求 Node >= 18.0.0(见 package.json 的 engines)。

配置项概览

重启后进入 插件 → dsh-imagegen 详情页 填写:

分组 字段 说明
生图接口 Base URL 默认可用多米 API,可更换平台
API Key 生图接口密钥
Model 默认 gpt-image-2.5-flare,可改其它模型 ID
默认分辨率 默认 4K
兼容性(高级) 协议 / 图生图模式 默认 auto / image-array
腾讯云 COS 启用 / Region / Bucket / SecretId / SecretKey 仅本地参考图场景需要
提示词后缀 启用 / 后缀文本 启用后每次提交自动追加

不确定时保持默认(多米 API)。taskPath 与轮询等高级项的代码默认值如需改动,可编辑安装包内的 cordis.patch.yml(见 README)。

典型用法

重启后在对话中直接说明意图即可,例如:

  • 「生成一张雨后的上海外滩夜景」—— 文生图。
  • 「参考这张图的风格,画一张同系列的……」(附上图片)—— 图生图。
  • 「生成 1024x1024 的方形图标」—— 临时指定尺寸。
  • 「生成一张封面图并存到 artifacts/cover.png」—— 指定保存路径。

续等已有任务时只需提供 task_id,属于查询,不再弹确认卡片。

适用场景与注意

适合需要在 DSH Agent 对话里 统一出图流程、又不想每次手写协议适配的开发者。默认面向 duomi 类任务式接口;接标准 OpenAI 或其它异步站时务必改 protocol / 图生图模式,并确认模型尺寸支持。

本地参考图依赖可选依赖 sharp 做压缩(不可用时保留原图并按实际类型标记);COS 建议使用子账号最小权限密钥。插件逻辑与密钥处理以仓库 README 与源码为准,安装前请自行审阅。

结尾

dsh-imagegen 把 OpenAI 风格生图、异步续等、图生图多来源与提交前确认收进一个 DSH 工具,配置集中在详情页,文生图与 URL 参考图可零 COS 起步。更多信息见 GitHub 仓库 与 SkillHub 目录页。

羽毛球分组比赛记分
小程序二维码

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

小夜