dsh-image2-draw

9Star1Fork0Issue0Watching

通过第三方 OpenAI 兼容中转为 DeepSeek Harness 增加 gpt-image-2 文生图与图生图能力,配置仅需接口地址与 API Key。

机审证据安装命令仓库已核验dsh-plugin Topic许可证READMEAI 百科
语言
JavaScript
License
MIT
分支
main
deepseek-harnessdsh-plugingpt-image-2image-generationimage-to-imageopenai-imagestext-to-image

安装

$ dsh plugin --profile web add github:JuneLearn/dsh-image2-draw

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

对话式安装

帮我安装 DeepSeek Harness 插件 JuneLearn/dsh-image2-draw:先查看仓库 https://github.com/JuneLearn/dsh-image2-draw.git 确认安全性,然后执行安装命令并验证插件加载成功。

把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。

一句话定位

在 DeepSeek Harness 中接入第三方 OpenAI Images 兼容中转服务,调用 gpt-image-2 完成文生图和图生图。配置只需 API Key 与接口地址两个字段,结果直接在聊天内显示并保存到本地。

核心能力

  • 在 设置 > 插件 > 插件配置 中提供独立的「Image2 生图」配置卡片,集中管理 API Key、接口地址、模型、图生图端点与超时
  • 提供 image2-generate 工具,支持一次按顺序生成 1~8 张图片,提示词含「竖版/横版/方图」等方向词时自动选择尺寸
  • 提供 image2-edit 工具,基于 1~8 张 PNG/JPEG/WebP 参考图进行修改或重绘
  • 生成图片以内置工具卡片显示,支持缩略图、点击放大、另存为,文件同时落到会话工作目录 outputs/image2/ 并自动编号不覆盖
  • API Key 仅写入凭据存储(不回显),并对配置写入、响应大小、超时、参考图大小进行校验,避免上游 524/超时造成的重复计费

技术实现

  • 语言: JavaScript(Node ESM 模块;宿主 lib/index.js 与客户端 lib/client.js 均为 JS,无 TypeScript)
  • 关键依赖: @deepseek-ai/dsh-tools@deepseek-ai/dsh-settings@deepseek-ai/dsh-credentials@deepseek-ai/dsh-attachment@deepseek-ai/schemastery
  • 架构模式: 双端插件。宿主半通过 installSettingsSection 注册命名空间 image2-draw 并用 ctx.tools.register 注册两个生图工具;客户端半通过 settings.plugin.item 槽位挂载配置卡片,通过 tool.call.toolview 槽位注入结果卡片。配置读写走插件自有 /image2-draw/{state,mutate,attachment} HTTP 路由,密钥走官方 credentials RPC
  • 入口文件: lib/index.js(宿主)+ lib/client.js(客户端),由 cordis.patch.yml 通过 dsh.bundle.patch 自动注入 Web profile

适用场景

希望用 DeepSeek Harness 配合第三方中转服务生成图片的用户,特别是日常需要做海报、封面、参考图重绘,但官方默认未提供文生图/图生图能力时。配置只需要一个接口地址和一个密钥,不要求绑定特定服务商,也不需要复杂的环境变量。

前置依赖与兼容性

依赖最低版本说明
DeepSeek Harness0.1.0-rc.6基于该版本的公开双端插件、设置命名空间、credentials、工具注册、客户端 slot、WebServer 生命周期接口开发,升级后若不加载需检查这些接口与 dsh.client.inject
Node.js>=20(package.json 声明);README 推荐 22.19.x 或 24 LTS同时需要 npm/npxgitpnpm 用于下载和安装
平台跨平台(macOS / Windows / Linux)仅使用 Node 内置模块(node:fsnode:pathFormDatafetch),无原生依赖
原生模块不包含 node-ptynode:sqlite 等需要编译的模块
第三方中转OpenAI Images 兼容至少暴露 /images/generations(自动补全)与可选 /images/edits 端点,支持 gpt-image-2 模型;自定义尺寸/质量档位取决于中转实现

安装方式

dsh plugin --profile web add github:JuneLearn/dsh-image2-draw

配置项

配置类型说明默认值
API Key密码第三方中转提供的密钥,保存后写入凭据存储(默认引用名 IMAGE2_API_KEY),不在表单回显,也不通过状态接口返回未配置
接口地址字符串中转入口,例如 https://example.com/v1;未以 /images/generations 结尾会自动补全,留空则无法生图
模型字符串调用的生图模型,留空使用默认gpt-image-2
图生图端点(可选)字符串留空时由接口地址自动推导为 /images/edits,可单独覆盖自动派生
超时(秒)整数请求超时时间,1~3600 整数180

常见问题

Q: 安装后需要做什么配置?

A: 打开「设置 > 插件 > 插件配置 > Image2 生图」卡片,填入第三方中转的 API Key 与接口地址(形如 https://example.com/v1),点击保存并等待界面显示「已保存」后即可在对话中使用。

Q: 生成图片保存在哪里?

A: 同时保存两处:聊天内的专用工具卡片(支持点击放大和另存为)以及当前会话工作目录的 outputs/image2/。文件命名为 image2-时间戳[-序号].png,重名会自动加序号,不会覆盖已有文件。

Q: 为什么 HTTP 524 或超时直接失败而不自动重试?

A: 插件故意不对 524 和超时做自动重试,因为上游中转可能已经生成了图片并完成计费,自动重试会产生重复费用。遇到这类错误请确认后再决定是否手动重试。

Q: 支持 macOS、Windows 和 Linux 吗?

A: 支持。本插件没有原生模块依赖,也没有操作系统限制,只要 Node.js 能跑起来就能用。

Q: API Key 是否安全?

A: API Key 只写入 DSH 的凭据存储(默认引用名为 IMAGE2_API_KEY),不在表单回显,也不会被插件状态接口返回;普通设置文档不会包含密钥。

Q: 与官方原生生图能力的关系是什么?

A: 互不影响。本插件基于通用 OpenAI Images 兼容协议工作,不绑定特定中转服务商;模型名、图生图端点、自定义尺寸与质量档位的支持程度取决于所选服务商。

Q: 如何升级和卸载?

A: 升级直接重新执行安装命令即可,DSH 会自动覆盖。卸载执行 dsh plugin --profile web remove dsh-image2-draw 并重启 dsh web,配置卡片与生图工具会一并移除。

Q: 大图或超时会自动缩放吗?

A: 不会。图生图单张参考图超过 4MB 或总计超过 32MB 会直接拒绝;参考图仅接受 PNG、JPEG、WebP(按文件魔数识别,不信任扩展名);远程下载返回图上限 32MB。请在调用前自行压缩图片。

上手难度

入门 — 配置仅需一个 API Key 与一个接口地址,其余使用默认即可;首次安装后只需进入「设置 > 插件 > 插件配置」完成保存即可在对话中调用。

已知问题与限制

  • 对 524 与超时不做自动重试,原因是上游可能已经生成了图片,重试会导致重复计费
  • 文生图按 count 顺序逐张请求(每次 n=1),不并发;批量生成较慢
  • 图生图 Node 端不自动缩放参考图,单张超过 4MB 或总计超过 32MB 直接报错
  • 远程图片下载上限 32MB,超过会中断
  • API 响应 JSON 上限 48MB,错误响应上限 64KB,超出会被拒绝
  • 仅接受 PNG、JPEG、WebP 三种格式(用魔数识别),其他格式直接报错
  • 工具结果不会把图片附件注入到 DeepSeek 模型上下文,避免不支持视觉输入的模型读到原始图片
  • 模型名、图生图端点、自定义尺寸、质量档位的支持取决于中转服务商实现,遇到 HTTP 400/404 需要核对服务商文档

收录徽章

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/JuneLearn/dsh-image2-draw)

把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

返回插件目录