DSH Image2 生图插件
你是否在 DeepSeek Harness 中遇到无法生成图片的问题?本插件为 DeepSeek Harness 增加 Image2 生图能力,可以通过第三方中转提供的 OpenAI Images 兼容接口调用 gpt-image-2。配置很简单,只需填写 baseURL 和 API Key,即可在对话中使用 文生图和图生图工具。
> 第三方服务推荐(含邀请链接) > > 如果你正在寻找支持 OpenAI 兼容接口的 API 中转服务,可以了解一下 > WPIronman API 中转站。这是我的邀请 > 链接;通过该链接注册可能会为我带来邀请奖励,具体活动规则和优惠以服务商页面 > 为准。本插件与该服务相互独立,不要求使用任何指定中转站,请根据价格、稳定性 > 和隐私政策自行选择。 > > 新用户可使用兑换码 99F509ABC6C38F77 兑换赠送额度。
其他项目
需要为 DeepSeek Harness 的第三方模型配置独立的推理强度?可以查看我的另一个插件: DSH 推理强度设置插件。它支持为 自定义 Provider 和模型设置推理档位、默认强度及实际发送给 API 的参数值。
功能
- 在“设置 > 插件 > 插件配置”中提供独立的 Image2 生图配置卡片。
- 只需配置
baseURL和API Key;默认模型为gpt-image-2。 baseURL可填写https://example.com/v1这样的简写,插件会自动补全
/images/generations。
- 图生图端点默认由
baseURL推导为/images/edits,也可以单独配置editURL。 - 提供
image2-generate文生图工具,支持一次顺序生成 1~8 张图片。 - 提供
image2-edit图生图工具,支持 1~8 张 PNG、JPEG 或 WebP 参考图。 - 支持自适应横版、竖版和方图,也支持传入符合约束的自定义尺寸。
- 生成图片会直接显示在聊天界面;专用工具卡片支持缩略图、点击放大和另存为。
- 图片附件由客户端卡片解析,不会注入不支持图片输入的 DeepSeek 模型上下文。
- 图片同时保存到当前会话工作目录的
outputs/image2/,遇到重名时自动编号,不会
覆盖已有文件。
- API Key 只写入 DSH credentials,不进入普通设置文档,也不会由插件状态接口返回。
- 对配置写入、响应大小、超时和参考图文件实施校验;524 和超时不会自动重试,避免
上游已经生成图片时产生重复计费。
效果展示
聊天内生成结果

插件设置页面

安装
安装前准备
- 安装 Node.js。DSH 当前支持 Node.js 22.19.x 或 24 及以上
版本;建议使用 Node.js 24 LTS。Node.js 自带 npm 和 npx。
- 安装 Git,用于从 GitHub 仓库获取插件。
- 安装 pnpm。两种方法都需要 pnpm,因为
dsh plugin会在 profile 目录中调用
pnpm 安装或移除插件。
- 网络需要能够访问
registry.npmjs.org和github.com。如果当前网络无法稳定访问
npm 或 GitHub,需要先配置可用的网络代理。
- 方法一不需要 DeepSeek Harness 源码;方法二还需要准备好该源码仓库。
可先检查环境:
node --version
npx --version
git --version
corepack enable
pnpm --version如果 corepack enable 因权限不足失败,请用管理员身份打开 PowerShell 后再执行一次。 也可以根据 pnpm 官方安装说明选择其他安装方式。
如果下载一直停在旋转符号、出现 ECONNRESET、ETIMEDOUT 或 GitHub 连接失败, 可在当前 PowerShell 窗口临时设置代理。下面的 7890 只是示例,请改成你自己的代理 端口:
$proxy = "http://127.0.0.1:7890"
$env:HTTP_PROXY = $proxy
$env:HTTPS_PROXY = $proxy
$env:npm_config_proxy = $proxy
$env:npm_config_https_proxy = $proxy这些环境变量只对当前 PowerShell 窗口有效,关闭窗口后不会继续生效。
方法一:使用 npx(普通用户推荐)
不需要克隆 DeepSeek Harness 源码,也不需要全局安装 dsh,但仍需先准备好 Git 和 pnpm。首次运行时,npx 会下载 @deepseek-ai/dsh 及其依赖,因此可能需要几分钟:
npx --yes -p @deepseek-ai/dsh dsh plugin --profile web add github:JuneLearn/dsh-image2-draw安装完成后,用同一种方式启动 Web:
npx --yes -p @deepseek-ai/dsh dsh web方法二:使用 pnpm 和 Harness 源码(开发者推荐)
这种方法适合已经克隆 deepseek-harness、希望直接运行源码的人。先确认 pnpm 可用:
pnpm --version进入 DeepSeek Harness 源码根目录。第一次使用源码时先安装依赖,然后安装插件:
cd D:\deepseek-harness
pnpm install
pnpm dsh plugin --profile web add github:JuneLearn/dsh-image2-draw以后从该源码目录启动 Web:
cd D:\deepseek-harness
pnpm dsh web包内的 dsh.bundle 声明会让 DSH 自动把插件加入 Web profile;两种安装方式都不需要 手动编辑 cordis.patch.yml。Web 默认使用 http://127.0.0.1:3080;只有该端口已被 占用或显式传入其他端口时,才会使用不同端口。
升级
再次执行对应的安装命令即可升级,无需先卸载,也无需手动维护 profile patch。
npx 方式:
npx --yes -p @deepseek-ai/dsh dsh plugin --profile web add github:JuneLearn/dsh-image2-drawpnpm 源码方式:
cd D:\deepseek-harness
pnpm dsh plugin --profile web add github:JuneLearn/dsh-image2-draw卸载
npx 方式:
npx --yes -p @deepseek-ai/dsh dsh plugin --profile web remove dsh-image2-drawpnpm 源码方式:
cd D:\deepseek-harness
pnpm dsh plugin --profile web remove dsh-image2-drawDSH 会同时移除依赖和 bundle 层。重启 dsh web 后,“插件配置”中的 Image2 生图卡片及生图工具即被移除。
使用
1. 打开“设置 > 插件 > 插件配置 > Image2 生图”。 2. 在 API Key 输入框中填写第三方中转提供的密钥。 3. 在“接口地址”中填写中转地址,例如 https://example.com/v1。 4. 按需修改模型、图生图端点和超时时间;通常保留默认值即可。 5. 点击“保存”,等待界面显示“已保存”。 6. 新建会话,让模型调用 image2-generate 生成图片,或提供参考图路径并调用 image2-edit。
示例请求:
调用 image2-generate,生成一张竖版的未来城市电影海报,质量设为 high。调用 image2-edit,参考图为 D:\images\room.png,把房间改成日式原木风,保持原有布局。中转服务是否支持 gpt-image-2、图生图、自定义尺寸和不同质量档位,取决于服务商 实际实现。如果接口返回 HTTP 400 或 404,请核对服务商文档中的模型名和 Images 端点格式。
图片与请求限制
- 文生图每次可请求 1~8 张,插件按顺序逐张生成,不并发调用上游。
- 图生图支持 1~8 张参考图,单张不超过 4MB,总计不超过 32MB。
- 参考图只接受 PNG、JPEG 和 WebP,并根据文件魔数识别实际格式,而不是信任扩展名。
- 相对参考图路径以当前会话工作目录为基准。
- 默认超时为 180 秒,可配置范围为 1~3600 秒。
- 生成结果只接受 PNG、JPEG 或 WebP,远程图片下载上限为 32MB。
开发
npm install
npm test兼容性
基于 DeepSeek Harness 0.1.0-rc.6 的公开双端插件、设置命名空间、credentials、 工具注册、客户端 slot 和 WebServer 生命周期接口开发。Harness 仍处于 Developer Preview;升级后若插件不再加载,请先检查这些接口及 dsh.client.inject 声明是否发生 变化。
致谢
聊天内图片附件和专用工具卡片的部分实现参考并改编自采用 MIT 许可证的 dsh-multimodal。完整的第三方版权和 许可证声明见 [THIRD_PARTY_NOTICES.md](./THIRD_PARTY_NOTICES.md)。
License
[MIT](./LICENSE)