dsh-image-generation
Đã xác minhdsh-image-generation · v0.1.3 · MIT · Giao diện web
DSH 生图插件:在设置中配置多个生图供应商/模型,并在对话中通过 image_generate 调用当前选中的模型。
Cài đặt
dsh plugin add dsh-image-generation Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.
Mã nguồn
Thẻ
Tác giả
Readme
dsh-image-generation
DeepSeek Harness 生图插件:在设置里配置多个生图供应商 / 模型,对话里通过 image_generate 调用当前选中的那一个模型。
结合了官方 @deepseek-ai/dsh-tool-image-generation(对话生图工具)和 dsh-plugin-subscriptions(设置页可配置)的思路,面向 API Key + Base URL 的网关,而不是订阅登录。
功能
- 设置 → 生图配置(左侧导航):添加多个供应商。每个供应商有名称、Base URL、API 格式、API Key,以及一组生图模型。配置存在 profile 的
image-gen插件条目里(DSH ≥ 0.1.6 为 volatile 字段、保存即热生效;≤ 0.1.5 写入settings.yaml的image-gen段),密钥走凭据服务,不进设置文件。 - 设置 → 插件 → 本插件详情 → 图形生成(≤ 0.1.5 为 设置 → 插件 → 插件配置):从上面配置过的模型里只选一个作为对话生图模型,可开关工具、设置默认尺寸 / 质量。
- 对话工具
image_generate:Agent 需要出图时调用当前选中的模型;图片写到工作区generate/image/,并在对话里内联显示(240px 缩略图 + Lightbox 全屏预览)。 - 图像编辑:4 种 API 格式全部支持
referenceImages(1–5 张参考图)。OpenAI / xAI 格式自动切换到/images/edits端点;Gemini / chat 格式把参考图一并放进请求。 - 中英双语界面,无构建步骤,要求 Node >= 22.19。
API 格式
按模型 / 网关选择,不要用聊天用的 Anthropic Messages:
| 格式 | 适用 | 请求 |
|---|---|---|
OpenAI Images (/v1/images/generations) |
gpt-image-2、gpt-image-1、DALL·E,以及兼容 OpenAI Images 的网关 |
POST {base}/images/generations(编辑走 /images/edits),response_format: b64_json;网关拒绝该参数时自动去掉重试一次 |
xAI Images (/v1/images/generations) |
grok-imagine-image-2.0 |
同上路径,但用 aspect_ratio;quality 按 xAI 能力映射(high→medium,auto 不下发) |
| Gemini / Imagen | gemini-*-image、imagen-* |
按模型名自动分流:imagen-* 走 :predict,其余走 :generateContent;官方 host 自动换 x-goog-api-key 头 |
| OpenAI Chat Completions | 在 chat 响应里返回图片的聚合网关 | POST {base}/chat/completions |
Base URL 填到 /v1(或 Gemini 的 /v1beta)这一层,插件会补上后面的路径。例如:
- OpenAI:
https://api.openai.com/v1 - xAI:
https://api.x.ai/v1 - Gemini 官方:
https://generativelanguage.googleapis.com/v1beta - 本地网关:
http://127.0.0.1:8317/v1
API Key 通过凭据服务存储,环境变量名按 IMAGE_GEN_<供应商ID大写>_API_KEY 规则引用,不会写进设置文件。
安装
npm:
dsh plugin --profile <name> add dsh-image-generation
[!WARNING]
0.1.0的__ModuleLoader__id 仍是dsh-image-gen,DSH 会按包名dsh-image-generation校验并拒绝启动。请安装0.1.1或更新版本(当前0.1.2)。已装0.1.0的 profile:dsh plugin --profile <name> add [email protected]然后完全退出并重新打开 DSH。
GitHub:
dsh plugin --profile <name> add github:whiteS18/dsh-image-generation
本地检出:
dsh plugin --profile <name> add /绝对路径/dsh-image-generation
[!IMPORTANT] DSH 在进程启动时组合插件。先启动再安装时,必须完全退出并重新打开 DSH(不是刷新页面)。
装完后可用:
dsh --profile <name> --dump-config | grep image-gen
使用
- 打开 设置 → 生图配置,添加供应商和模型,填 Base URL / API 格式 / API Key,点保存。
- 打开 设置 → 插件 → 插件配置,展开 图形生成,选择刚才配置的某一个模型并保存。
- 在对话里让 Agent 生图,它会调用
image_generate。
可选参数:prompt(必填)、size(1024x1024 / 1024x1536 / 1536x1024 / auto)、quality(low / medium / high / auto)、referenceImages(1–5 张已有图片引用,用于编辑;本地文件先 read_image)。
配置项默认值
| 配置项 | 默认值 | 说明 |
|---|---|---|
enabled |
true |
是否启用 image_generate 工具(关闭时工具仍注册,调用会被拒绝) |
providerId / modelId |
空 | 当前选中的生图供应商与模型 |
defaultSize |
1024x1024 |
工具未显式传 size 时的默认尺寸 |
defaultQuality |
auto |
工具未显式传 quality 时的默认质量 |
apiFormat(供应商级) |
openai-images |
新建供应商时的默认 API 格式 |
与现有插件的关系
- 官方
@deepseek-ai/dsh-tool-image-generation只有工具、没有设置页;本插件自带设置页,一般不必再装官方包。 - npm 上另有同名风格的
dsh-image-gen(其他作者)。本包发布名为dsh-image-generation,避免抢名。 dsh-plugin-subscriptions走的是 ChatGPT / Grok 订阅登录,也会注册名为image_generate的工具。两边同时安装可能抢同一个工具名。需要 API 网关生图时用本插件;需要订阅生图时用 subscriptions。
卸载
dsh plugin --profile <name> remove dsh-image-generation
English
Image-generation plugin for DeepSeek Harness. Configure providers and models under Settings → Image generation, pick exactly one model on the plugin detail page (Settings → Plugins → this plugin → Image generation; on DSH ≤ 0.1.5: Settings → Plugins → Plugin configuration), then conversations call image_generate with that model.
All four API formats (OpenAI Images, xAI Images, Gemini/Imagen, OpenAI chat-completions gateways) support image editing via referenceImages (1–5 images). API keys are stored through the credentials service. Generated files land in generate/image/ of the session workspace and are shown inline in the conversation. Chinese and English UI. Requires Node >= 22.19.
Install:
dsh plugin --profile <name> add dsh-image-generation
0.1.0 registered the client as dsh-image-gen and DSH refused to boot. Use 0.1.1 or later (dsh plugin --profile <name> add [email protected]), then fully quit and reopen DSH.