dsh-image-gen 0.9.0 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,442 +1,452 @@
1
- <div align="center">
2
-
3
- <img src="docs/assets/readme/hero-zh.webp" alt="dsh-image-gen 中文功能概览" width="100%" />
4
-
5
- <br />
6
-
7
- <p><strong>简体中文</strong> · <a href="README.en.md">English</a></p>
8
-
9
- # 🎨 dsh-image-gen
10
-
11
- ### DeepSeek Harness 的原生 AI 图像创作套件
12
-
13
- <p><b>AI 创作画布 · 对话生图与编辑 · Studio 批量创作 · 多模型对比 · 500+ Prompt 灵感 · 图库管理 · 本地 ComfyUI · 订阅免 Key</b></p>
14
-
15
- <p>
16
- <a href="https://www.npmjs.com/package/dsh-image-gen"><img src="https://img.shields.io/npm/v/dsh-image-gen?style=flat-square&color=4f6ef7" alt="npm version" /></a>
17
- <a href="https://www.npmjs.com/package/dsh-image-gen"><img src="https://img.shields.io/npm/dm/dsh-image-gen?style=flat-square&color=10b981" alt="npm downloads" /></a>
18
- <a href="https://github.com/shanliuling/dsh-image-gen/actions/workflows/ci.yml"><img src="https://github.com/shanliuling/dsh-image-gen/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
19
- <a href="https://dsh-insights.com/p/shanliuling/dsh-image-gen"><img src="https://dsh-insights.com/badge/shanliuling/dsh-image-gen.svg" alt="DSH Insights health" /></a>
20
- <a href="https://github.com/shanliuling/dsh-image-gen/stargazers"><img src="https://img.shields.io/github/stars/shanliuling/dsh-image-gen?style=flat-square" alt="GitHub stars" /></a>
21
- <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-f5c542?style=flat-square" alt="License: Apache-2.0" /></a>
22
- <a href="https://linux.do/"><img src="https://img.shields.io/badge/LINUX%20DO-社区友链-555?style=flat-square" alt="LINUX DO" /></a>
23
- </p>
24
-
25
- <p>
26
- <a href="https://atomgit.com/shanliuling/dsh-image-gen"><img src="https://atomgit.com/shanliuling/dsh-image-gen/star/new_badge.svg" alt="AtomGit" height="55" /></a>
27
- </p>
28
-
29
- <p>
30
- <a href="#快速开始">快速开始</a> ·
31
- <a href="#核心能力">核心能力</a> ·
32
- <a href="#provider-支持情况">Provider 支持</a> ·
33
- <a href="#常见问题">常见问题</a>
34
- </p>
35
-
36
- <br />
37
-
38
- <img src="docs/assets/readme/canvas-generate.webp" alt="在无限画布中绘制草稿,并通过对话生成成图" width="46%" />
39
- <img src="docs/assets/readme/canvas-edit.webp" alt="基于已有结果继续对话修改,在画布中持续迭代创作" width="46%" />
40
- <br />
41
- <sub>左:在画布中绘制草稿、摆放参考图,并通过对话生成成图。 · 右:基于已有结果继续对话修改,在画布中持续迭代创作。</sub>
42
-
43
- <br />
44
-
45
- <img src="docs/assets/readme/chat-generate.webp" alt="在对话中直接描述并生成图片" width="46%" />
46
- <img src="docs/assets/readme/other-features.webp" alt="工作台批量创作、灵感库与图库等更多功能" width="46%" />
47
- <br />
48
- <sub>左:在对话中直接描述并生成图片。 · 右:工作台批量创作、灵感库与图库等更多功能。</sub>
49
-
50
- </div>
51
-
52
- **为 DeepSeek Harness 带来完整的 AI 图像创作工作流。**
53
-
54
- `dsh-image-gen` 不只是简单的对话生图,而是为 DSH 补齐从 **对话生成与连续修图**、**AI 创作画布**、**Studio 批量创作**、**多模型横向对比**,到 **Prompt 灵感库** 与 **本地 ComfyUI** 的完整图像创作能力。
55
-
56
- 支持主流云端图像模型与本地私有化工作流,既可使用 BYOK(自带 Key),也支持通过订阅账号直接使用,生成结果支持按工作区隔离存储。
57
-
58
- > **已有 ChatGPT、Grok 或 Google 订阅?直接登录即可生图,无需额外购买 API Key。**
59
-
60
- 支持:Gemini · OpenAI / Compatible · Seedream · DashScope · Grok Imagine · GLM-Image · 本地 ComfyUI
61
-
62
- ```bash
63
- pnpm dsh plugin --profile web add dsh-image-gen@latest
64
- ```
65
-
66
- > **版本更新提示:** 本次版本变化较大,老用户请更新至最新版本。
67
-
68
- <img src="docs/assets/readme/workflow-overview.webp" alt="dsh-image-gen 完整 AI 图像创作工作流" width="100%" />
69
-
70
- ---
71
-
72
- ## 一个插件,覆盖完整 AI 图像创作流程
73
-
74
- | 入口 | 最适合 | 你可以做什么 |
75
- | :------------ | :--------------- | :--------------------------------------- |
76
- | 💬 **对话** | 快速表达想法 | 文生图、图生图、连续编辑、版本迭代 |
77
- | ✏️ **画布** | 表达视觉创意 | 草稿生成、参考图组合、空间创作、持续修改 |
78
- | 🎛️ **工作台** | 精细控制创作参数 | 批量生成、多图参考、高级参数调整 |
79
- | ✨ **灵感** | 寻找创作方向 | Prompt 案例、风格探索、一键复用 |
80
- | 🖼️ **图库** | 管理生成结果 | 搜索、收藏、下载、重新使用 |
81
-
82
- ---
83
-
84
- ## 快速开始
85
-
86
- ### 1. 安装插件
87
-
88
- 环境要求:DeepSeek Harness 稳定版本,Node.js `^22.19.0` 或 `>= 24.0.0`。
89
-
90
- 在你的 DeepSeek Harness 项目根目录下运行:
91
-
92
- ```bash
93
- pnpm dsh plugin --profile web add dsh-image-gen@latest
94
- ```
95
-
96
- > 💬 **极客提示**:你也可以直接把这句话发送给 DSH 对话中的 Agent:<br />
97
- > `帮我安装生图插件,在终端执行:pnpm dsh plugin --profile web add dsh-image-gen@latest`
98
-
99
- <details>
100
- <summary><strong>其他安装方式(全局 / GitHub 直装 / 本地调试)</strong></summary>
101
-
102
- ```bash
103
- # 若已将 dsh 安装为系统全局命令:
104
- dsh plugin --profile web add dsh-image-gen@latest
105
-
106
- # 从 GitHub 仓库直接安装最新代码:
107
- pnpm dsh plugin --profile web add git+https://github.com/shanliuling/dsh-image-gen.git
108
-
109
- # 本地克隆源码开发安装:
110
- git clone https://github.com/shanliuling/dsh-image-gen.git
111
- pnpm dsh plugin --profile web add ./dsh-image-gen
112
- ```
113
-
114
- </details>
115
-
116
- ### 2. 配置 Provider
117
-
118
- 重启 DSH 后,点击左侧边栏的 **「插件」** 图标打开插件面板,在 **「已安装」** 分区点击 **dsh-image-gen**,进入插件详情页即可看到「图像生成」配置表单:
119
-
120
- **插件面板 → 已安装 → dsh-image-gen**
121
-
122
- <div align="center">
123
- <img src="docs/assets/readme/plugins-entry.webp" alt="在左侧边栏点击「插件」,于「已安装」分区点击 dsh-image-gen 进入详情页" width="100%" />
124
- <br />
125
- <sub>点击左侧边栏「插件」图标,在「已安装」分区点击 dsh-image-gen 进入插件详情页。</sub>
126
- </div>
127
-
128
- > DSH 0.1.5 及更早版本没有插件面板,入口仍为「设置 → 插件 → 插件配置 → 图像生成」;插件已同时兼容两种入口。
129
-
130
- 选择 Provider,填写自己的 API Key,并按需调整模型、Endpoint / Base URL 与工作区保存选项。填好 Key 后可点击**「测试连接」**验证可用性,或点击**「拉取模型」**一键获取该厂商支持的全部生图模型,无需手动查文档。使用 ComfyUI 时,请填写 DSH Host 可访问的服务地址,并导入 **API Format Workflow JSON**。
131
-
132
- 已有 ChatGPT、Grok 或 Google 订阅?无需填写 API Key:展开对应的订阅 Provider 行,点击**「登录」**并在浏览器完成授权,即可直接开始文生图与图生图。
133
-
134
- ### 3. 开始创作
135
-
136
- 在聊天框中直接描述你想要的图片:
137
-
138
- ```text
139
- 画一张雨夜霓虹街头的赛博朋克猫咪,电影感光线,16:9。
140
- ```
141
-
142
- 也可以直接上传参考图,让 Agent 进行风格重构或局部编辑:
143
-
144
- ```text
145
- 保持角色与构图不变,给猫咪戴上一副黑色墨镜。
146
- ```
147
-
148
- <br />
149
-
150
- <div align="center">
151
- <img src="docs/assets/readme/plugin-detail.webp" alt="dsh-image-gen 插件详情页中的 Provider 配置表单" width="46%" />
152
- <img src="docs/assets/readme/chat-example.webp" alt="对话生图与风格重构效果" width="46%" />
153
- <br />
154
- <sub>左:插件详情页中的 Provider 配置 · 右:在 DSH 对话中直接生图、图生图与连续编辑。</sub>
155
- </div>
156
-
157
- <br />
158
-
159
- 需要更细的参数控制时,点击会话顶部的 **画廊** 入口,进入 **图库 / 工作台 / 灵感 / 收藏**。
160
-
161
- ---
162
-
163
- ## 核心能力
164
-
165
- ### 💬 对话生图、编辑与版本切换
166
-
167
- - 用自然语言完成文生图、图生图、多图参考和风格迁移。
168
- - 直接修改原图 Prompt 重新生成,并在同一卡片中切换历史版本。
169
-
170
- <br />
171
-
172
- <div align="center">
173
- <img src="docs/assets/readme/regenerating.webp" alt="图片正在重新生成" width="46%" />
174
- <img src="docs/assets/readme/revision-switcher.webp" alt="在同一图片卡片中切换生成版本" width="46%" />
175
- <br />
176
- <sub>修改 Prompt 后原位重新生成,并在同一张图片卡片中切换历史版本。</sub>
177
- </div>
178
-
179
- <br />
180
-
181
- ### ✏️ 从草稿到成图:AI 创作画布
182
-
183
- 在无限画布中表达你的创意,通过对话将草稿、构图和想法转化为真实图片。
184
-
185
- - 在画布中自由绘制草稿、添加参考素材并组织创意。
186
- - 通过自然语言与 AI 对话,让草稿快速变成完整作品。
187
- - 基于已有结果持续编辑、修改和生成新的方向,保留创作过程,让每一次探索都可以继续迭代。
188
-
189
- <br />
190
-
191
- <div align="center">
192
- <img src="docs/assets/readme/canvas-generate.webp" alt="在无限画布中绘制草稿,并通过对话生成成图" width="46%" />
193
- <img src="docs/assets/readme/canvas-edit.webp" alt="基于已有结果继续对话修改,在画布中持续迭代创作" width="46%" />
194
- <br />
195
- <sub>左:在画布中绘制草稿、摆放参考图,并通过对话生成成图。 · 右:基于已有结果继续对话修改,在画布中持续迭代创作。</sub>
196
- </div>
197
-
198
- <br />
199
-
200
- ### 🎛️ Studio 批量创作
201
-
202
- - 支持多张参考图,一次生成多张候选图。
203
- - 自由控制 Provider、模型、比例和清晰度,只保存满意的结果。
204
-
205
- <br />
206
-
207
- <div align="center">
208
- <img src="docs/assets/readme/studio-workbench.webp" alt="dsh-image-gen Studio 工作台" width="100%" />
209
- <br />
210
- <sub>在同一个 Studio 中完成参考图导入、参数控制、批量生成、结果筛选与保存。</sub>
211
- </div>
212
-
213
- <br />
214
-
215
- ### ⚖️ 多模型横向对比
216
-
217
- 使用同一组 Prompt 和参考图并发调用多个模型,在一张画布中比较并保存结果。
218
-
219
- <br />
220
-
221
- <div align="center">
222
- <img src="docs/assets/readme/multi-model-compare.webp" alt="同一 Prompt 的多模型生成对比" width="100%" />
223
- <br />
224
- <sub>在同一画布中比较不同模型结果,再批量保存满意的图片。</sub>
225
- </div>
226
-
227
- <br />
228
-
229
- ### ✨ 500+ Prompt 灵感案例
230
-
231
- - 浏览和筛选 **500+ Prompt 案例**,支持收藏、复制及一键带入 Studio。
232
- - 图片缓存在本地,浏览和学习不消耗 Token 或生成额度。
233
-
234
- <br />
235
-
236
- <div align="center">
237
- <img src="docs/assets/readme/inspiration-library.webp" alt="Prompt 灵感素材库" width="100%" />
238
- <br />
239
- <sub>先找灵感,再把 Prompt 带入工作台;全本地缓存,浏览或复制不消耗生成额度。</sub>
240
- </div>
241
-
242
- <br />
243
-
244
- ### 🖼️ 图库、收藏与批量管理
245
-
246
- - 统一管理对话和 Studio 中保存的图片,并按工作区隔离。
247
- - 支持搜索、筛选、收藏、下载、继续编辑、重新生成和批量管理。
248
-
249
- <br />
250
-
251
- <div align="center">
252
- <img src="docs/assets/readme/gallery-management.webp" alt="图库筛选、收藏与批量管理" width="100%" />
253
- <br />
254
- <sub>图库支持多维度筛选、收藏、批量管理与工作区数据隔离。</sub>
255
- </div>
256
-
257
- <br />
258
-
259
- ### 🧩 本地 ComfyUI 多工作流
260
-
261
- 灵活调用本地 GPU 算力,让私有化绘图无缝融入 Agent 对话。
262
-
263
- - 导入并管理多个命名工作流,支持预设 Prompt 和常用占位符。
264
- - Agent 可按名称选择工作流,在对话中完成文生图和图生图。
265
-
266
- > ComfyUI 暂未接入 Studio 和多模型对比。
267
-
268
- <br />
269
-
270
- <div align="center">
271
- <img src="docs/assets/readme/comfyui-workflows.webp" alt="ComfyUI 多工作流配置" width="58%" />
272
- <br />
273
- <sub>为不同用途维护独立工作流,并通过名称让 Agent 精确选择。</sub>
274
- </div>
275
-
276
- <br />
277
-
278
- ---
279
-
280
- ## Provider 支持情况
281
-
282
- | Provider | 对话生图 | 对话编辑 | Studio | 多模型对比 |
283
- | :-------------------------------- | :------: | :------: | :----: | :--------: |
284
- | **Google Gemini** | ✅ | ✅ 多图 | ✅ | ✅ |
285
- | **OpenAI Images** | ✅ | ✅ 多图 | ✅ | ✅ |
286
- | **OpenAI Compatible(中转站)** | ✅ | ✅ 多图 | ✅ | ✅ |
287
- | **ByteDance Seedream / 火山方舟** | ✅ | ✅ 多图 | ✅ | ✅ |
288
- | **Aliyun DashScope / Qwen Image** | ✅ | ✅ 多图 | ✅ | ✅ |
289
- | **xAI Grok Imagine** | ✅ | ⚠️ 有限 | ✅ | ✅ |
290
- | **智谱 GLM-Image** | ✅ | — | ✅ | ✅ |
291
- | **Local ComfyUI** | ✅ | ✅ 单图 | — | — |
292
- | **ChatGPT 订阅(免 Key)** | ✅ | ✅ 多图 | ✅ | ✅ |
293
- | **Grok 订阅(免 Key)** | ✅ | ✅ 多图 | ✅ | ✅ |
294
- | **Google 订阅(免 Key)** | ✅ | ✅ 多图 | ✅ | ✅ |
295
-
296
- > Studio 与多模型对比目前只支持云端 Provider(含订阅通道);多模型对比调用的是各 Provider 在设置中已配置的模型。
297
- > 智谱 GLM-Image 上游本身不支持图生图;xAI 图生图走 OpenAI 兼容协议(multipart),部分网关可能需等待后续适配。
298
- > 订阅通道通过账号登录使用(免 API Key),支持对话文生图 / 图生图、Studio 批量生成与多模型对比;图生图走各订阅渠道的编辑接口(最多 5 张参考图),比例与清晰度可在 Studio 中直接选择。
299
-
300
- <details>
301
- <summary><strong>当前默认模型与 Endpoint(均可修改)</strong></summary>
302
-
303
- | Provider | 默认模型 | 默认 Endpoint / Base URL |
304
- | :----------------- | :--------------------------- | :-------------------------------------------------------------- |
305
- | Google Gemini | `gemini-3.1-flash-image` | `https://generativelanguage.googleapis.com/v1beta/interactions` |
306
- | OpenAI Images | `gpt-image-2` | `https://api.openai.com/v1` |
307
- | OpenAI Compatible | 自定义 | 自定义 Base URL |
308
- | ByteDance Seedream | `doubao-seedream-5-0-260128` | `https://ark.cn-beijing.volces.com/api/v3` |
309
- | Aliyun DashScope | `qwen-image-3.0` | `https://dashscope.aliyuncs.com/api/v1` |
310
- | xAI Grok Imagine | `grok-imagine-image` | `https://api.x.ai/v1` |
311
- | 智谱 GLM-Image | `glm-image` | `https://open.bigmodel.cn/api/paas/v4` |
312
- | Local ComfyUI | 用户导入的 API Workflow | `http://127.0.0.1:8188` |
313
- | ChatGPT 订阅 | `gpt-image-2.5-flare`(通道固定) | 账号登录,无需配置 |
314
- | Grok 订阅 | `grok-imagine-image-2.0`(通道固定) | 账号登录,无需配置 |
315
- | Google 订阅 | `gemini-3.1-flash-image`(通道固定) | 账号登录,无需配置 |
316
-
317
- </details>
318
-
319
- <details>
320
- <summary><strong>各 Provider 可选比例与清晰度</strong></summary>
321
-
322
- | Provider | 比例 | 清晰度 |
323
- | :----------------- | :---------------------------------------------------------------- | :-------------------------------------- |
324
- | Google Gemini | 1:1 · 3:2 · 2:3 · 4:3 · 3:4 · 4:5 · 5:4 · 16:9 · 9:16 · 21:9 | 1K / 2K / 4K |
325
- | OpenAI Images | gpt-image-2 系列支持 1:1 · 3:2 · 2:3 · 4:3 · 3:4 · 16:9 · 9:16 | 分辨率 1K / 2K(宽屏、竖屏另有 4K);生成质量独立选择 auto / low / medium / high |
326
- | OpenAI Compatible | 由 `openaiCompatSizes` 配置决定(默认 1:1 · 3:2 · 2:3) | 分辨率由尺寸表决定;生成质量独立配置,默认不发送 |
327
- | ByteDance Seedream | 自动 · 1:1 · 3:2 · 2:3 · 4:3 · 3:4 · 16:9 · 9:16 · 21:9 | 2K / 3K / 4K |
328
- | Aliyun DashScope | 1:1 · 3:2 · 2:3 · 4:3 · 3:4 · 16:9 · 9:16 | 标准 |
329
- | xAI Grok Imagine | 自动 · 1:1 · 3:2 · 2:3 · 4:3 · 3:4 · 16:9 · 9:16 · 21:9 | 1K / 2K |
330
- | 智谱 GLM-Image | 1:1 · 3:2 · 2:3 · 4:3 · 3:4 · 16:9 · 9:16 | 高清 |
331
- | ChatGPT 订阅 | 自动 · 1:1 · 3:2 · 2:3 · 4:3 · 3:4 · 16:9 · 9:16 | 自动 / low / medium / high / xhigh / max |
332
- | Grok 订阅 | 自动 · 1:1 · 3:2 · 2:3 · 4:3 · 3:4 · 16:9 · 9:16 · 21:9 | 1K / 2K |
333
- | Google 订阅 | 自动 · 1:1 · 3:2 · 2:3 · 4:3 · 3:4 · 4:5 · 5:4 · 16:9 · 9:16 · 21:9 | 标准 / 高清(4K) |
334
-
335
- > 「自动」比例表示由模型按 Prompt 自行决定构图;上游已移除的档位(如 Seedream 5.0 的 1K)插件不会暴露。
336
- > Google 订阅会使用有效的平台枚举发现账号项目,并提供普通 daily 入口作为兼容回退。未返回项目时保留旧兼容项目尝试,但不会把它缓存成账号真实项目;若生图仍失败,错误会保留项目发现、账号资格及各生图入口的脱敏响应,避免只显示最后一个 429。设置中的订阅「测试连接」只检查登录记录,实际生图成功才验证该账号的生图链路;`UNSUPPORTED_CLIENT` 的 Code Assist 提示也不单独判定生图不可用。
337
- > OpenAI 与兼容渠道的 Studio 控件分别显示「比例 / 分辨率 / 生成质量」,分辨率选项会显示实际像素。多模型对比及再次生成也保留这两类参数。
338
- > OpenAI 官方可通过设置中的 `openaiSizes` 自定义尺寸表,格式为「比例 → 档位 → 像素」,例如 `{ "16:9": { "2K": "2048x1152", "4K": "3840x2160" } }`。gpt-image-2 系列按官方限制校验:边长为 16 的倍数、最大 3840、比例在 1:3 到 3:1、总像素 655360–8294400;超过 3686400 像素的输出属于上游实验支持。[官方说明](https://developers.openai.com/api/reference/resources/images/methods/generate)。旧版 GPT Image 模型仍只使用三种标准尺寸。
339
- > OpenAI Compatible 的尺寸表为 `openaiCompatSizes`,格式相同;留空时保持原来的标准尺寸。`openaiCompatQuality` 设置默认生成质量(留空不发送),`openaiCompatQualityOptions` 设置 Studio 可选值。选择「渠道默认(不发送)」可在单次请求中省略 quality;对话工具也支持独立的 `size` 和 `quality` 参数。
340
- > 兼容渠道的「文生图额外字段」对应 `openaiCompatExtraBody`,例如 `{ "watermark": false }`。它仅用于文生图,在常规字段之后合并,可覆盖同名参数;`false` 和嵌套对象都会保留。图生图继续使用 `openaiCompatEditExtra`;JSON 图片 URL 数组格式的 `openaiCompatEditSizeMode` 默认 `auto`,改为 `selected` 才发送所选尺寸,EditExtra 仍可覆盖该尺寸。
341
- > 工作台在比例、分辨率旁提供「可见水印:渠道默认 / 关闭 / 开启」,分别判断文生图和图生图支持情况。Seedream、通义原生 Qwen Image,以及已确认的商汤和通义官方兼容接口自动启用;官方兼容接口同时自动使用对应的 JSON 编辑格式。商汤匹配 `https://token.sensenova.cn/v1` 与 `sensenova-u1.5-lite`;通义匹配官方工作空间域名的 `/compatible-mode/v1` 与 Qwen Image 3.0/3.0 Pro、2.1 Pro/Turbo。其他兼容渠道可通过对应操作的额外字段绑定布尔值 `watermark`、`watermark_enabled` 或 `parameters.watermark`;图生图绑定仅用于 JSON 编辑格式。未知渠道和智谱显示禁用的「支持未确认」,无已确认开关的接口也显示说明。不会仅凭模型名识别未知中转。渠道默认保留原配置或省略参数,单次选择只覆盖水印字段;批量生成、支持该操作的对比模型及再次生成会保留选择。
342
-
343
- </details>
344
-
345
- ---
346
-
347
- ## 数据与隐私
348
-
349
- - **BYOK**:API Key 通过 DSH Credentials 服务保存,设置页不会回显 Key 明文。
350
- - **订阅登录**:订阅账号令牌经你授权登录后保存于 DSH Credentials,与 API Key 完全隔离,浏览器侧不接触令牌。
351
- - **云端请求**:Prompt 与本次使用的参考图会发送给所选 Provider,请遵守对应服务条款。
352
- - **本地 ComfyUI**:请求发送到用户配置的 ComfyUI 地址。
353
- - **工作区文件**:开启工作区保存后,对话结果会落盘;Studio 仅保存用户选中的候选图。
354
- - **图库与收藏**:图库元数据和收藏状态保存在当前浏览器本地存储中。
355
- - **灵感缓存**:案例元数据随插件提供,图片按需加载并缓存在本机,可随时清理。
356
-
357
- ## 常见问题
358
-
359
- <details>
360
- <summary><strong>安装后找不到“图像生成”设置怎么办?</strong></summary>
361
-
362
- 设置入口随 DSH 版本不同:0.1.6 及以上位于插件详情页(点击左侧边栏「插件」图标,在「已安装」分区进入 dsh-image-gen),0.1.5 及更早位于「设置 → 插件 → 插件配置 → 图像生成」。
363
-
364
- 若两处都没有,先完全重启当前 DSH Profile,再检查插件配置:
365
-
366
- ```bash
367
- dsh --profile web --dump-config
368
- ```
369
-
370
- 如果输出中没有 `dsh-image-gen`,请重新执行安装命令。提交 Issue 时请附 DSH 版本、插件版本和错误日志,不要上传 API Key。
371
-
372
- </details>
373
-
374
- <details>
375
- <summary><strong>生成图片保存在哪里?</strong></summary>
376
-
377
- 开启“保存到工作区”后,对话生成结果默认保存在当前工作区的 `dsh-image-gen/` 子目录,也可以在设置中修改。Studio 候选图先留在临时画布,只有用户选中的结果才会进入图库并保存。
378
-
379
- </details>
380
-
381
- <details>
382
- <summary><strong>为什么 ComfyUI 没有出现在 Studio 中?</strong></summary>
383
-
384
- 当前 Studio 与多模型对比仅支持云端 Provider,暂未接入 ComfyUI。ComfyUI 已支持在 Agent 对话中进行文生图、单图编辑以及多个命名工作流。
385
-
386
- </details>
387
-
388
- <details>
389
- <summary><strong>从图库删除会删除聊天记录吗?</strong></summary>
390
-
391
- 不会。删除图库记录不会修改原聊天消息。你可以额外选择是否清理工作区中的本地图片文件;文件删除通常无法恢复,请确认后操作。
392
-
393
- </details>
394
-
395
- <details>
396
- <summary><strong>如何升级?</strong></summary>
397
-
398
- ```bash
399
- pnpm dsh plugin --profile web add dsh-image-gen@latest
400
- ```
401
-
402
- 升级后重启对应的 DSH Profile。
403
-
404
- </details>
405
-
406
- ---
407
-
408
- ## 本地开发
409
-
410
- ```bash
411
- git clone https://github.com/shanliuling/dsh-image-gen.git
412
- cd dsh-image-gen
413
-
414
- pnpm install
415
- pnpm run typecheck
416
- pnpm test
417
- pnpm run build
418
- pnpm run pack:check
419
- pnpm run test:package
420
- ```
421
-
422
- 新 DSH 的设置保存需要实际加载的 `@deepseek-ai/schemastery >=3.18.4 <4`。设置卡会区分加载中、宿主未提供设置、远程连接不可保存及依赖不兼容;旧 DSH 的设置接口仍保留。更新依赖时应检查插件所在 profile 的实际依赖,而不只检查源码目录。
423
-
424
- `test:package` 需要网络,会在临时目录安装当前构建的插件 tarball 和指定版本的 DSH 0.2 设置服务,通过真实 React 渲染验证卡片状态和保存处理、配置文件写入、重新打开表单和宿主重启后的读取,并验证旧 schemastery 的明确拒绝提示。图片 API、浏览器 DOM 和 RPC 传输不属于此测试;CI 同时在 Windows 和 Linux 执行。
425
-
426
- 欢迎通过 [Issues](https://github.com/shanliuling/dsh-image-gen/issues) 反馈问题,或阅读 [CONTRIBUTING.md](CONTRIBUTING.md) 后提交 Pull Request。
427
-
428
- ## 鸣谢
429
-
430
- - [AtomGit](https://atomgit.com/shanliuling/dsh-image-gen):为本项目提供国内代码托管,方便国内用户访问与获取源码。
431
-
432
- ## License
433
-
434
- 本项目基于 [Apache License 2.0](LICENSE) 开源。
435
-
436
- <div align="center">
437
-
438
- 如果 `dsh-image-gen` 对你的工作流有所帮助,欢迎在 GitHub 点亮一颗 ⭐ **Star** 支持持续维护。
439
-
440
- **[查看 Releases](https://github.com/shanliuling/dsh-image-gen/releases) · [提交 Issue](https://github.com/shanliuling/dsh-image-gen/issues) · [参与贡献](CONTRIBUTING.md)**
441
-
442
- </div>
1
+ <div align="center">
2
+
3
+ <img src="docs/assets/readme/hero-zh.webp" alt="dsh-image-gen 中文功能概览" width="100%" />
4
+
5
+ <br />
6
+
7
+ <p><strong>简体中文</strong> · <a href="README.en.md">English</a></p>
8
+
9
+ # 🎨 dsh-image-gen
10
+
11
+ ### DeepSeek Harness 的原生 AI 图像创作套件
12
+
13
+ <p><b>AI 创作画布 · 对话生图与编辑 · Studio 批量创作 · 多模型对比 · 500+ Prompt 灵感 · 图库管理 · 本地 ComfyUI · 订阅免 Key</b></p>
14
+
15
+ <p>
16
+ <a href="https://www.npmjs.com/package/dsh-image-gen"><img src="https://img.shields.io/npm/v/dsh-image-gen?style=flat-square&color=4f6ef7" alt="npm version" /></a>
17
+ <a href="https://www.npmjs.com/package/dsh-image-gen"><img src="https://img.shields.io/npm/dm/dsh-image-gen?style=flat-square&color=10b981" alt="npm downloads" /></a>
18
+ <a href="https://github.com/shanliuling/dsh-image-gen/actions/workflows/ci.yml"><img src="https://github.com/shanliuling/dsh-image-gen/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
19
+ <a href="https://dsh-insights.com/p/shanliuling/dsh-image-gen"><img src="https://dsh-insights.com/badge/shanliuling/dsh-image-gen.svg" alt="DSH Insights health" /></a>
20
+ <a href="https://github.com/shanliuling/dsh-image-gen/stargazers"><img src="https://img.shields.io/github/stars/shanliuling/dsh-image-gen?style=flat-square" alt="GitHub stars" /></a>
21
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-f5c542?style=flat-square" alt="License: Apache-2.0" /></a>
22
+ <a href="https://linux.do/"><img src="https://img.shields.io/badge/LINUX%20DO-社区友链-555?style=flat-square" alt="LINUX DO" /></a>
23
+ </p>
24
+
25
+ <p>
26
+ <a href="https://atomgit.com/shanliuling/dsh-image-gen"><img src="https://atomgit.com/shanliuling/dsh-image-gen/star/new_badge.svg" alt="AtomGit" height="55" /></a>
27
+ </p>
28
+
29
+ <p>
30
+ <a href="#快速开始">快速开始</a> ·
31
+ <a href="#核心能力">核心能力</a> ·
32
+ <a href="#provider-支持情况">Provider 支持</a> ·
33
+ <a href="#常见问题">常见问题</a>
34
+ </p>
35
+
36
+ <br />
37
+
38
+ <img src="docs/assets/readme/canvas-generate.webp" alt="在无限画布中绘制草稿,并通过对话生成成图" width="46%" />
39
+ <img src="docs/assets/readme/canvas-edit.webp" alt="基于已有结果继续对话修改,在画布中持续迭代创作" width="46%" />
40
+ <br />
41
+ <sub>左:在画布中绘制草稿、摆放参考图,并通过对话生成成图。 · 右:基于已有结果继续对话修改,在画布中持续迭代创作。</sub>
42
+
43
+ <br />
44
+
45
+ <img src="docs/assets/readme/chat-generate.webp" alt="在对话中直接描述并生成图片" width="46%" />
46
+ <img src="docs/assets/readme/other-features.webp" alt="工作台批量创作、灵感库与图库等更多功能" width="46%" />
47
+ <br />
48
+ <sub>左:在对话中直接描述并生成图片。 · 右:工作台批量创作、灵感库与图库等更多功能。</sub>
49
+
50
+ </div>
51
+
52
+ **为 DeepSeek Harness 带来完整的 AI 图像创作工作流。**
53
+
54
+ `dsh-image-gen` 不只是简单的对话生图,而是为 DSH 补齐从 **对话生成与连续修图**、**AI 创作画布**、**Studio 批量创作**、**多模型横向对比**,到 **Prompt 灵感库** 与 **本地 ComfyUI** 的完整图像创作能力。
55
+
56
+ 支持主流云端图像模型与本地私有化工作流,既可使用 BYOK(自带 Key),也支持通过订阅账号直接使用,生成结果支持按工作区隔离存储。
57
+
58
+ > **已有 ChatGPT、Grok 或 Google 订阅?直接登录即可生图,无需额外购买 API Key。**
59
+
60
+ 支持:Gemini · OpenAI / Compatible · Seedream · DashScope · Grok Imagine · GLM-Image · 本地 ComfyUI
61
+
62
+ ```bash
63
+ pnpm dsh plugin --profile web add dsh-image-gen@latest
64
+ ```
65
+
66
+ > **版本更新提示:** 本次版本变化较大,老用户请更新至最新版本。
67
+
68
+ <img src="docs/assets/readme/workflow-overview.webp" alt="dsh-image-gen 完整 AI 图像创作工作流" width="100%" />
69
+
70
+ ---
71
+
72
+ ## 一个插件,覆盖完整 AI 图像创作流程
73
+
74
+ | 入口 | 最适合 | 你可以做什么 |
75
+ | :------------ | :--------------- | :--------------------------------------- |
76
+ | 💬 **对话** | 快速表达想法 | 文生图、图生图、连续编辑、版本迭代 |
77
+ | ✏️ **画布** | 表达视觉创意 | 草稿生成、参考图组合、空间创作、持续修改 |
78
+ | 🎛️ **工作台** | 精细控制创作参数 | 批量生成、多图参考、高级参数调整 |
79
+ | ✨ **灵感** | 寻找创作方向 | Prompt 案例、风格探索、一键复用 |
80
+ | 🖼️ **图库** | 管理生成结果 | 搜索、收藏、下载、重新使用 |
81
+
82
+ ---
83
+
84
+ ## 快速开始
85
+
86
+ ### 1. 安装插件
87
+
88
+ 环境要求:DeepSeek Harness 稳定版本,Node.js `^22.19.0` 或 `>= 24.0.0`。
89
+
90
+ 在你的 DeepSeek Harness 项目根目录下运行:
91
+
92
+ ```bash
93
+ pnpm dsh plugin --profile web add dsh-image-gen@latest
94
+ ```
95
+
96
+ > 💬 **极客提示**:你也可以直接把这句话发送给 DSH 对话中的 Agent:<br />
97
+ > `帮我安装生图插件,在终端执行:pnpm dsh plugin --profile web add dsh-image-gen@latest`
98
+
99
+ <details>
100
+ <summary><strong>其他安装方式(全局 / GitHub 直装 / 本地调试)</strong></summary>
101
+
102
+ ```bash
103
+ # 若已将 dsh 安装为系统全局命令:
104
+ dsh plugin --profile web add dsh-image-gen@latest
105
+
106
+ # 从 GitHub 仓库直接安装最新代码:
107
+ pnpm dsh plugin --profile web add git+https://github.com/shanliuling/dsh-image-gen.git
108
+
109
+ # 本地克隆源码开发安装:
110
+ git clone https://github.com/shanliuling/dsh-image-gen.git
111
+ pnpm dsh plugin --profile web add ./dsh-image-gen
112
+ ```
113
+
114
+ </details>
115
+
116
+ ### 2. 配置 Provider
117
+
118
+ 重启 DSH 后,点击左侧边栏的 **「插件」** 图标打开插件面板,在 **「已安装」** 分区点击 **dsh-image-gen**,进入插件详情页即可看到「图像生成」配置表单:
119
+
120
+ **插件面板 → 已安装 → dsh-image-gen**
121
+
122
+ <div align="center">
123
+ <img src="docs/assets/readme/plugins-entry.webp" alt="在左侧边栏点击「插件」,于「已安装」分区点击 dsh-image-gen 进入详情页" width="100%" />
124
+ <br />
125
+ <sub>点击左侧边栏「插件」图标,在「已安装」分区点击 dsh-image-gen 进入插件详情页。</sub>
126
+ </div>
127
+
128
+ > DSH 0.1.5 及更早版本没有插件面板,入口仍为「设置 → 插件 → 插件配置 → 图像生成」;插件已同时兼容两种入口。
129
+
130
+ 选择 Provider,填写自己的 API Key,并按需调整模型、Endpoint / Base URL 与工作区保存选项。填好 Key 后可点击**「测试连接」**验证可用性,或点击**「拉取模型」**一键获取该厂商支持的全部生图模型,无需手动查文档。使用 ComfyUI 时,请填写 DSH Host 可访问的服务地址,并导入 **API Format Workflow JSON**。
131
+
132
+ 已有 ChatGPT、Grok 或 Google 订阅?无需填写 API Key:展开对应的订阅 Provider 行,点击**「登录」**并在浏览器完成授权,即可直接开始文生图与图生图。
133
+
134
+ ### 3. 开始创作
135
+
136
+ 在聊天框中直接描述你想要的图片:
137
+
138
+ ```text
139
+ 画一张雨夜霓虹街头的赛博朋克猫咪,电影感光线,16:9。
140
+ ```
141
+
142
+ 也可以直接上传参考图,让 Agent 进行风格重构或局部编辑:
143
+
144
+ ```text
145
+ 保持角色与构图不变,给猫咪戴上一副黑色墨镜。
146
+ ```
147
+
148
+ <br />
149
+
150
+ <div align="center">
151
+ <img src="docs/assets/readme/plugin-detail.webp" alt="dsh-image-gen 插件详情页中的 Provider 配置表单" width="46%" />
152
+ <img src="docs/assets/readme/chat-example.webp" alt="对话生图与风格重构效果" width="46%" />
153
+ <br />
154
+ <sub>左:插件详情页中的 Provider 配置 · 右:在 DSH 对话中直接生图、图生图与连续编辑。</sub>
155
+ </div>
156
+
157
+ <br />
158
+
159
+ 需要更细的参数控制时,点击会话顶部的 **画廊** 入口,进入 **图库 / 工作台 / 灵感 / 收藏**。
160
+
161
+ ---
162
+
163
+ ## 核心能力
164
+
165
+ ### 💬 对话生图、编辑与版本切换
166
+
167
+ - 用自然语言完成文生图、图生图、多图参考和风格迁移。
168
+ - 直接修改原图 Prompt 重新生成,并在同一卡片中切换历史版本。
169
+
170
+ <br />
171
+
172
+ <div align="center">
173
+ <img src="docs/assets/readme/regenerating.webp" alt="图片正在重新生成" width="46%" />
174
+ <img src="docs/assets/readme/revision-switcher.webp" alt="在同一图片卡片中切换生成版本" width="46%" />
175
+ <br />
176
+ <sub>修改 Prompt 后原位重新生成,并在同一张图片卡片中切换历史版本。</sub>
177
+ </div>
178
+
179
+ <br />
180
+
181
+ ### ✏️ 从草稿到成图:AI 创作画布
182
+
183
+ 在无限画布中表达你的创意,通过对话将草稿、构图和想法转化为真实图片。
184
+
185
+ - 在画布中自由绘制草稿、添加参考素材并组织创意。
186
+ - 将「最近生成」或图库中的图片拖入画布,或点击缩略图上的「发送到画布」。请先打开无限画布并等待图片加载完成;同一张历史图片重复导入会自动去重。
187
+ - 通过自然语言与 AI 对话,让草稿快速变成完整作品。
188
+ - 基于已有结果持续编辑、修改和生成新的方向,保留创作过程,让每一次探索都可以继续迭代。
189
+
190
+ <br />
191
+
192
+ <div align="center">
193
+ <img src="docs/assets/readme/canvas-generate.webp" alt="在无限画布中绘制草稿,并通过对话生成成图" width="46%" />
194
+ <img src="docs/assets/readme/canvas-edit.webp" alt="基于已有结果继续对话修改,在画布中持续迭代创作" width="46%" />
195
+ <br />
196
+ <sub>左:在画布中绘制草稿、摆放参考图,并通过对话生成成图。 · 右:基于已有结果继续对话修改,在画布中持续迭代创作。</sub>
197
+ </div>
198
+
199
+ <br />
200
+
201
+ ### 🎛️ Studio 批量创作
202
+
203
+ - 支持多张参考图,一次生成多张候选图。
204
+ - 自由控制 Provider、模型、比例和清晰度,只保存满意的结果。
205
+
206
+ <br />
207
+
208
+ <div align="center">
209
+ <img src="docs/assets/readme/studio-workbench.webp" alt="dsh-image-gen Studio 工作台" width="100%" />
210
+ <br />
211
+ <sub>在同一个 Studio 中完成参考图导入、参数控制、批量生成、结果筛选与保存。</sub>
212
+ </div>
213
+
214
+ <br />
215
+
216
+ ### ⚖️ 多模型横向对比
217
+
218
+ 使用同一组 Prompt 和参考图并发调用多个模型,在一张画布中比较并保存结果。
219
+
220
+ <br />
221
+
222
+ <div align="center">
223
+ <img src="docs/assets/readme/multi-model-compare.webp" alt="同一 Prompt 的多模型生成对比" width="100%" />
224
+ <br />
225
+ <sub>在同一画布中比较不同模型结果,再批量保存满意的图片。</sub>
226
+ </div>
227
+
228
+ <br />
229
+
230
+ ### ✨ 500+ Prompt 灵感案例
231
+
232
+ - 浏览和筛选 **500+ Prompt 案例**,支持收藏、复制及一键带入 Studio。
233
+ - 图片缓存在本地,浏览和学习不消耗 Token 或生成额度。
234
+
235
+ <br />
236
+
237
+ <div align="center">
238
+ <img src="docs/assets/readme/inspiration-library.webp" alt="Prompt 灵感素材库" width="100%" />
239
+ <br />
240
+ <sub>先找灵感,再把 Prompt 带入工作台;全本地缓存,浏览或复制不消耗生成额度。</sub>
241
+ </div>
242
+
243
+ <br />
244
+
245
+ ### 🖼️ 图库、收藏与批量管理
246
+
247
+ - 统一管理对话和 Studio 中保存的图片,并按工作区隔离。
248
+ - 支持搜索、筛选、收藏、下载、继续编辑、重新生成和批量管理。
249
+
250
+ <br />
251
+
252
+ <div align="center">
253
+ <img src="docs/assets/readme/gallery-management.webp" alt="图库筛选、收藏与批量管理" width="100%" />
254
+ <br />
255
+ <sub>图库支持多维度筛选、收藏、批量管理与工作区数据隔离。</sub>
256
+ </div>
257
+
258
+ <br />
259
+
260
+ ### 🧩 本地 ComfyUI 多工作流
261
+
262
+ 灵活调用本地 GPU 算力,让私有化绘图无缝融入 Agent 对话。
263
+
264
+ - 导入并管理多个命名工作流,支持预设 Prompt 和常用占位符。
265
+ - Agent 可按名称选择工作流,在对话中完成文生图和图生图。
266
+
267
+ > ComfyUI 暂未接入 Studio 和多模型对比。
268
+
269
+ <br />
270
+
271
+ <div align="center">
272
+ <img src="docs/assets/readme/comfyui-workflows.webp" alt="ComfyUI 多工作流配置" width="58%" />
273
+ <br />
274
+ <sub>为不同用途维护独立工作流,并通过名称让 Agent 精确选择。</sub>
275
+ </div>
276
+
277
+ <br />
278
+
279
+ ---
280
+
281
+ ## Provider 支持情况
282
+
283
+ | Provider | 对话生图 | 对话编辑 | Studio | 多模型对比 |
284
+ | :-------------------------------- | :------: | :------: | :----: | :--------: |
285
+ | **Google Gemini** | ✅ | ✅ 多图 | ✅ | ✅ |
286
+ | **OpenAI Images** | ✅ | ✅ 多图 | ✅ | ✅ |
287
+ | **OpenAI Compatible(中转站)** | ✅ | ✅ 多图 | ✅ | ✅ |
288
+ | **ByteDance Seedream / 火山方舟** | ✅ | ✅ 多图 | ✅ | ✅ |
289
+ | **Aliyun DashScope / Qwen Image** | ✅ | ✅ 多图 | ✅ | ✅ |
290
+ | **xAI Grok Imagine** | ✅ | ⚠️ 有限 | ✅ | ✅ |
291
+ | **智谱 GLM-Image** | ✅ | — | ✅ | ✅ |
292
+ | **Local ComfyUI** | ✅ | ✅ 单图 | — | — |
293
+ | **ChatGPT 订阅(免 Key)** | ✅ | ✅ 多图 | ✅ | ✅ |
294
+ | **Grok 订阅(免 Key)** | ✅ | ✅ 多图 | ✅ | ✅ |
295
+ | **Google 订阅(免 Key)** | ✅ | ✅ 多图 | ✅ | ✅ |
296
+
297
+ > Studio 与多模型对比目前只支持云端 Provider(含订阅通道);多模型对比调用的是各 Provider 在设置中已配置的模型。
298
+ > 智谱 GLM-Image 上游本身不支持图生图;xAI 图生图走 OpenAI 兼容协议(multipart),部分网关可能需等待后续适配。
299
+ > 订阅通道通过账号登录使用(免 API Key),支持对话文生图 / 图生图、Studio 批量生成与多模型对比;图生图走各订阅渠道的编辑接口(最多 5 张参考图),比例与清晰度可在 Studio 中直接选择。
300
+
301
+ <details>
302
+ <summary><strong>当前默认模型与 Endpoint(均可修改)</strong></summary>
303
+
304
+ | Provider | 默认模型 | 默认 Endpoint / Base URL |
305
+ | :----------------- | :--------------------------- | :-------------------------------------------------------------- |
306
+ | Google Gemini | `gemini-3.1-flash-image` | `https://generativelanguage.googleapis.com/v1beta/interactions` |
307
+ | OpenAI Images | `gpt-image-2` | `https://api.openai.com/v1` |
308
+ | OpenAI Compatible | 自定义 | 自定义 Base URL |
309
+ | ByteDance Seedream | `doubao-seedream-5-0-260128` | `https://ark.cn-beijing.volces.com/api/v3` |
310
+ | Aliyun DashScope | `qwen-image-3.0` | `https://dashscope.aliyuncs.com/api/v1` |
311
+ | xAI Grok Imagine | `grok-imagine-image` | `https://api.x.ai/v1` |
312
+ | 智谱 GLM-Image | `glm-image` | `https://open.bigmodel.cn/api/paas/v4` |
313
+ | Local ComfyUI | 用户导入的 API Workflow | `http://127.0.0.1:8188` |
314
+ | ChatGPT 订阅 | `gpt-image-2.5-flare`(通道固定) | 账号登录,无需配置 |
315
+ | Grok 订阅 | `grok-imagine-image-2.0`(通道固定) | 账号登录,无需配置 |
316
+ | Google 订阅 | `gemini-3.1-flash-image`(通道固定) | 账号登录,无需配置 |
317
+
318
+ </details>
319
+
320
+ <details>
321
+ <summary><strong>各 Provider 可选比例与清晰度</strong></summary>
322
+
323
+ | Provider | 比例 | 清晰度 |
324
+ | :----------------- | :---------------------------------------------------------------- | :-------------------------------------- |
325
+ | Google Gemini | 1:1 · 3:2 · 2:3 · 4:3 · 3:4 · 4:5 · 5:4 · 16:9 · 9:16 · 21:9 | 1K / 2K / 4K |
326
+ | OpenAI Images | gpt-image-2 系列支持 1:1 · 3:2 · 2:3 · 4:3 · 3:4 · 16:9 · 9:16 | 分辨率 1K / 2K(宽屏、竖屏另有 4K);生成质量独立选择 auto / low / medium / high |
327
+ | OpenAI Compatible | 由 `openaiCompatSizes` 配置决定(默认 1:1 · 3:2 · 2:3) | 分辨率由尺寸表决定;生成质量独立配置,默认不发送 |
328
+ | ByteDance Seedream | 自动 · 1:1 · 3:2 · 2:3 · 4:3 · 3:4 · 16:9 · 9:16 · 21:9 | 2K / 3K / 4K |
329
+ | Aliyun DashScope | 1:1 · 3:2 · 2:3 · 4:3 · 3:4 · 16:9 · 9:16 | 标准 |
330
+ | xAI Grok Imagine | 自动 · 1:1 · 3:2 · 2:3 · 4:3 · 3:4 · 16:9 · 9:16 · 21:9 | 1K / 2K |
331
+ | 智谱 GLM-Image | 1:1 · 3:2 · 2:3 · 4:3 · 3:4 · 16:9 · 9:16 | 高清 |
332
+ | ChatGPT 订阅 | 自动 · 1:1 · 3:2 · 2:3 · 4:3 · 3:4 · 16:9 · 9:16 | 自动 / low / medium / high / xhigh / max |
333
+ | Grok 订阅 | 自动 · 1:1 · 3:2 · 2:3 · 4:3 · 3:4 · 16:9 · 9:16 · 21:9 | 1K / 2K |
334
+ | Google 订阅 | 自动 · 1:1 · 3:2 · 2:3 · 4:3 · 3:4 · 4:5 · 5:4 · 16:9 · 9:16 · 21:9 | 标准 / 高清(4K) |
335
+
336
+ > 「自动」比例表示由模型按 Prompt 自行决定构图;上游已移除的档位(如 Seedream 5.0 的 1K)插件不会暴露。
337
+ > Google 订阅会使用有效的平台枚举发现账号项目,并提供普通 daily 入口作为兼容回退。项目发现未返回项目且提示 `UNSUPPORTED_CLIENT` 时,会再用 Antigravity 客户端身份重试;该过程不自动开户。仍未返回项目时保留旧兼容项目尝试,但不会把它缓存成账号真实项目;若生图仍失败,错误会保留项目发现、账号资格及各生图入口的脱敏响应,避免只显示最后一个 429。设置中的订阅「测试连接」只检查登录记录,实际生图成功才验证该账号的生图链路;`UNSUPPORTED_CLIENT` 的 Code Assist 提示也不单独判定生图不可用。
338
+ > OpenAI 与兼容渠道的 Studio 控件分别显示「比例 / 分辨率 / 生成质量」,分辨率选项会显示实际像素。多模型对比及再次生成也保留这两类参数。
339
+ > OpenAI 官方可通过设置中的 `openaiSizes` 自定义尺寸表,格式为「比例 → 档位 → 像素」,例如 `{ "16:9": { "2K": "2048x1152", "4K": "3840x2160" } }`。gpt-image-2 系列按官方限制校验:边长为 16 的倍数、最大 3840、比例在 1:3 到 3:1、总像素 655360–8294400;超过 3686400 像素的输出属于上游实验支持。[官方说明](https://developers.openai.com/api/reference/resources/images/methods/generate)。旧版 GPT Image 模型仍只使用三种标准尺寸。
340
+ > OpenAI Compatible 的尺寸表为 `openaiCompatSizes`,格式相同;留空时保持原来的标准尺寸。`openaiCompatQuality` 设置默认生成质量(留空不发送),`openaiCompatQualityOptions` 设置 Studio 可选值。选择「渠道默认(不发送)」可在单次请求中省略 quality;对话工具也支持独立的 `size` 和 `quality` 参数。
341
+ > 兼容渠道的「文生图额外字段」对应 `openaiCompatExtraBody`,例如 `{ "watermark": false }`。它仅用于文生图,在常规字段之后合并,可覆盖同名参数;`false` 和嵌套对象都会保留。图生图继续使用 `openaiCompatEditExtra`;JSON 图片 URL 数组格式的 `openaiCompatEditSizeMode` 默认 `auto`,改为 `selected` 才发送所选尺寸,EditExtra 仍可覆盖该尺寸。
342
+ > 工作台在比例、分辨率旁提供「可见水印:渠道默认 / 关闭 / 开启」,分别判断文生图和图生图支持情况。Seedream、通义原生 Qwen Image,以及已确认的商汤和通义官方兼容接口自动启用;官方兼容接口同时自动使用对应的 JSON 编辑格式。商汤匹配 `https://token.sensenova.cn/v1` 与 `sensenova-u1.5-lite`;通义匹配官方工作空间域名的 `/compatible-mode/v1` 与 Qwen Image 3.0/3.0 Pro、2.1 Pro/Turbo。其他兼容渠道可通过对应操作的额外字段绑定布尔值 `watermark`、`watermark_enabled` 或 `parameters.watermark`;图生图绑定仅用于 JSON 编辑格式。未知渠道和智谱显示禁用的「支持未确认」,无已确认开关的接口也显示说明。不会仅凭模型名识别未知中转。渠道默认保留原配置或省略参数,单次选择只覆盖水印字段;批量生成、支持该操作的对比模型及再次生成会保留选择。
343
+
344
+ </details>
345
+
346
+ ---
347
+
348
+ ## 数据与隐私
349
+
350
+ - **BYOK**:API Key 通过 DSH Credentials 服务保存,设置页不会回显 Key 明文。
351
+ - **订阅登录**:订阅账号令牌经你授权登录后保存于 DSH Credentials,与 API Key 完全隔离,浏览器侧不接触令牌。
352
+ - **云端请求**:Prompt 与本次使用的参考图会发送给所选 Provider,请遵守对应服务条款。
353
+ - **本地 ComfyUI**:请求发送到用户配置的 ComfyUI 地址。
354
+ - **工作区文件**:开启工作区保存后,对话结果会落盘;Studio 仅保存用户选中的候选图。
355
+ - **图库与收藏**:图库元数据和收藏状态保存在当前浏览器本地存储中。
356
+ - **灵感缓存**:案例元数据随插件提供,图片按需加载并缓存在本机,可随时清理。
357
+
358
+ ## 常见问题
359
+
360
+ <details>
361
+ <summary><strong>安装后找不到“图像生成”设置怎么办?</strong></summary>
362
+
363
+ 设置入口随 DSH 版本不同:0.1.6 及以上位于插件详情页(点击左侧边栏「插件」图标,在「已安装」分区进入 dsh-image-gen),0.1.5 及更早位于「设置 → 插件 → 插件配置 → 图像生成」。
364
+
365
+ 若两处都没有,先完全重启当前 DSH Profile,再检查插件配置:
366
+
367
+ ```bash
368
+ dsh --profile web --dump-config
369
+ ```
370
+
371
+ 如果输出中没有 `dsh-image-gen`,请重新执行安装命令。提交 Issue 时请附 DSH 版本、插件版本和错误日志,不要上传 API Key。
372
+
373
+ </details>
374
+
375
+ <details>
376
+ <summary><strong>生成图片保存在哪里?</strong></summary>
377
+
378
+ 开启“保存到工作区”后,对话生成结果默认保存在当前工作区的 `dsh-image-gen/` 子目录,也可以在设置中修改。Studio 候选图先留在临时画布,只有用户选中的结果才会进入图库并保存。
379
+
380
+ </details>
381
+
382
+ <details>
383
+ <summary><strong>Gemini 中转只支持 generateContent,如何配置?</strong></summary>
384
+
385
+ 在 Google Gemini 设置中,将“请求协议”改为“原生 generateContent”,接口地址填写中转的 API 基础地址,例如 `https://your-relay.example/v1beta`,保存后即可用于对话生图、图生图和 Studio。已有的 Interactions 完整地址也可以沿用,插件会按所选模型构建原生请求地址。
386
+
387
+ 配置文件对应 `googleNative: true`;默认值为 `false`,现有用户仍使用 Interactions 协议。
388
+
389
+ </details>
390
+
391
+ <details>
392
+ <summary><strong>为什么 ComfyUI 没有出现在 Studio 中?</strong></summary>
393
+
394
+ 当前 Studio 与多模型对比仅支持云端 Provider,暂未接入 ComfyUI。ComfyUI 已支持在 Agent 对话中进行文生图、单图编辑以及多个命名工作流。
395
+
396
+ </details>
397
+
398
+ <details>
399
+ <summary><strong>从图库删除会删除聊天记录吗?</strong></summary>
400
+
401
+ 不会。删除图库记录不会修改原聊天消息。你可以额外选择是否清理工作区中的本地图片文件;文件删除通常无法恢复,请确认后操作。
402
+
403
+ </details>
404
+
405
+ <details>
406
+ <summary><strong>如何升级?</strong></summary>
407
+
408
+ ```bash
409
+ pnpm dsh plugin --profile web add dsh-image-gen@latest
410
+ ```
411
+
412
+ 升级后重启对应的 DSH Profile。
413
+
414
+ </details>
415
+
416
+ ---
417
+
418
+ ## 本地开发
419
+
420
+ ```bash
421
+ git clone https://github.com/shanliuling/dsh-image-gen.git
422
+ cd dsh-image-gen
423
+
424
+ pnpm install
425
+ pnpm run typecheck
426
+ pnpm test
427
+ pnpm run build
428
+ pnpm run pack:check
429
+ pnpm run test:package
430
+ ```
431
+
432
+ 新 DSH 的设置保存需要实际加载的 `@deepseek-ai/schemastery >=3.18.4 <4`。设置卡会区分加载中、宿主未提供设置、远程连接不可保存及依赖不兼容;旧 DSH 的设置接口仍保留。更新依赖时应检查插件所在 profile 的实际依赖,而不只检查源码目录。
433
+
434
+ `test:package` 需要网络,会在临时目录安装当前构建的插件 tarball 和指定版本的 DSH 0.2 设置服务,通过真实 React 渲染验证卡片状态和保存处理、配置文件写入、重新打开表单和宿主重启后的读取,并验证旧 schemastery 的明确拒绝提示。图片 API、浏览器 DOM 和 RPC 传输不属于此测试;CI 同时在 Windows 和 Linux 执行。
435
+
436
+ 欢迎通过 [Issues](https://github.com/shanliuling/dsh-image-gen/issues) 反馈问题,或阅读 [CONTRIBUTING.md](CONTRIBUTING.md) 后提交 Pull Request。
437
+
438
+ ## 鸣谢
439
+
440
+ - [AtomGit](https://atomgit.com/shanliuling/dsh-image-gen):为本项目提供国内代码托管,方便国内用户访问与获取源码。
441
+
442
+ ## License
443
+
444
+ 本项目基于 [Apache License 2.0](LICENSE) 开源。
445
+
446
+ <div align="center">
447
+
448
+ 如果 `dsh-image-gen` 对你的工作流有所帮助,欢迎在 GitHub 点亮一颗 ⭐ **Star** 支持持续维护。
449
+
450
+ **[查看 Releases](https://github.com/shanliuling/dsh-image-gen/releases) · [提交 Issue](https://github.com/shanliuling/dsh-image-gen/issues) · [参与贡献](CONTRIBUTING.md)**
451
+
452
+ </div>