dsh-image-gen 0.4.1 → 0.5.0
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.en.md +344 -338
- package/README.md +344 -338
- package/README.zh-CN.md +3 -3
- package/lib/client.js +1514 -388
- package/lib/client.js.map +1 -1
- package/lib/index.js +761 -214
- package/lib/types/client/conversation-image-revisions.d.ts +1 -1
- package/lib/types/client/gallery-view.d.ts +8 -2
- package/lib/types/client/index.d.ts +17 -1
- package/lib/types/client/inspiration-api.d.ts +10 -0
- package/lib/types/client/inspiration-detail.d.ts +14 -0
- package/lib/types/client/provider-pill.d.ts +49 -0
- package/lib/types/config.d.ts +39 -10
- package/lib/types/credentials.d.ts +15 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/types/inspiration/cache.d.ts +20 -0
- package/lib/types/inspiration/downloader.d.ts +27 -0
- package/lib/types/inspiration/routes.d.ts +13 -0
- package/lib/types/inspiration/sources.d.ts +33 -0
- package/lib/types/inspiration/types.d.ts +65 -0
- package/lib/types/inspiration/updater.d.ts +7 -0
- package/lib/types/openai-compatible.d.ts +1 -1
- package/lib/types/redact.d.ts +2 -0
- package/lib/types/shared.d.ts +37 -2
- package/lib/types/test-route.d.ts +73 -0
- package/package.json +1 -1
- package/skills/install-dsh-image-gen/SKILL.md +22 -22
package/README.en.md
CHANGED
|
@@ -1,338 +1,344 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
|
|
3
|
-
<img src="docs/assets/readme/hero-en.webp" alt="dsh-image-gen feature overview" width="100%" />
|
|
4
|
-
|
|
5
|
-
<br />
|
|
6
|
-
|
|
7
|
-
<p><a href="README.md">简体中文</a> · <strong>English</strong></p>
|
|
8
|
-
|
|
9
|
-
# 🎨 dsh-image-gen
|
|
10
|
-
|
|
11
|
-
### Native AI image creation suite for DeepSeek Harness
|
|
12
|
-
|
|
13
|
-
<p><b>In-chat generation and editing · Studio batch creation · Multi-model comparison · 500+ prompt inspirations · Gallery management · Local ComfyUI</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://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>
|
|
20
|
-
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-f5c542?style=flat-square" alt="License: MIT" /></a>
|
|
21
|
-
<a href="https://linux.do/"><img src="https://img.shields.io/badge/LINUX%20DO-Community-555?style=flat-square" alt="LINUX DO" /></a>
|
|
22
|
-
</p>
|
|
23
|
-
|
|
24
|
-
<p>
|
|
25
|
-
<a href="#quick-start">Quick Start</a> ·
|
|
26
|
-
<a href="#core-capabilities">Core Capabilities</a> ·
|
|
27
|
-
<a href="#provider-support">Provider Support</a> ·
|
|
28
|
-
<a href="#faq">FAQ</a>
|
|
29
|
-
</p>
|
|
30
|
-
|
|
31
|
-
<br />
|
|
32
|
-
|
|
33
|
-
</div>
|
|
34
|
-
|
|
35
|
-
**A complete AI image creation workflow for DeepSeek Harness.**
|
|
36
|
-
|
|
37
|
-
`dsh-image-gen` goes far beyond basic in-chat image generation. It brings **continuous natural-language editing**, **Studio batch creation**, **side-by-side multi-model comparison**, a **500+ prompt inspiration library**, and **local ComfyUI** workflows into DSH. It supports **Google Gemini, OpenAI Images / Compatible, ByteDance Seedream, Aliyun DashScope**, and private local workflows. It uses a BYOK model and can isolate generated assets by workspace.
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
pnpm dsh plugin --profile web add dsh-image-gen@latest
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
> **Update notice:** This release includes major changes. Existing users should update to the latest version.
|
|
44
|
-
|
|
45
|
-
<img src="docs/assets/readme/workflow-overview.webp" alt="dsh-image-gen complete AI image creation workflow" width="100%" />
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
## One plugin, four creative workflows
|
|
50
|
-
|
|
51
|
-
| Entry | Best for | What you can do |
|
|
52
|
-
| :--- | :--- | :--- |
|
|
53
|
-
| 💬 **Chat** | Letting the Agent understand natural-language requests | Text-to-image, image-to-image, multi-image reference, continuous editing, and in-place regeneration |
|
|
54
|
-
| 🎛️ **Studio** | Precise control over creation parameters | Batch generation, multiple reference images, and advanced canvas |
|
|
55
|
-
| ✨ **Inspiration** | Finding compositions, styles, and prompts | Browse 500+ examples, search and filter, favorite, copy, or send a prompt to Studio |
|
|
56
|
-
| 🖼️ **Gallery** | Organizing and reusing generated results | Search, filter, favorite, regenerate, download, batch-manage, and isolate by workspace |
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
## Quick Start
|
|
61
|
-
|
|
62
|
-
### 1. Install the plugin
|
|
63
|
-
|
|
64
|
-
Requirements: DeepSeek Harness stable version, Node.js `^22.19.0` or `>= 24.0.0`.
|
|
65
|
-
|
|
66
|
-
Run this command from your DeepSeek Harness project root:
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
pnpm dsh plugin --profile web add dsh-image-gen@latest
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
> 💬 **Power-user tip:** You can also send this directly to the Agent in a DSH chat:<br />
|
|
73
|
-
> `Install the image generation plugin by running this command in the terminal: pnpm dsh plugin --profile web add dsh-image-gen@latest`
|
|
74
|
-
|
|
75
|
-
<details>
|
|
76
|
-
<summary><strong>Alternative installation methods (global / GitHub / local development)</strong></summary>
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
# If dsh is installed globally:
|
|
80
|
-
dsh plugin --profile web add dsh-image-gen@latest
|
|
81
|
-
|
|
82
|
-
# Install the latest source directly from GitHub:
|
|
83
|
-
pnpm dsh plugin --profile web add git+https://github.com/shanliuling/dsh-image-gen.git
|
|
84
|
-
|
|
85
|
-
# Clone the repository and install it for local development:
|
|
86
|
-
git clone https://github.com/shanliuling/dsh-image-gen.git
|
|
87
|
-
pnpm dsh plugin --profile web add ./dsh-image-gen
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
</details>
|
|
91
|
-
|
|
92
|
-
### 2. Configure a Provider
|
|
93
|
-
|
|
94
|
-
After restarting DSH, open:
|
|
95
|
-
|
|
96
|
-
**Settings → Plugins → Plugin Configuration → Image Generation**
|
|
97
|
-
|
|
98
|
-
Choose a Provider, enter your API key, and adjust the model, Endpoint / Base URL, and workspace-save options as needed. For ComfyUI, enter an address reachable by the DSH Host and import an **API Format Workflow JSON** file.
|
|
99
|
-
|
|
100
|
-
### 3. Start creating
|
|
101
|
-
|
|
102
|
-
Describe the image you want directly in chat:
|
|
103
|
-
|
|
104
|
-
```text
|
|
105
|
-
Create a cinematic cyberpunk cat on a neon street at night, 16:9.
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
You can also upload a reference image directly for style transfer or editing:
|
|
109
|
-
|
|
110
|
-
```text
|
|
111
|
-
Keep the character and composition unchanged, then add black sunglasses to the cat.
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
<br />
|
|
115
|
-
|
|
116
|
-
<div align="center">
|
|
117
|
-
<img src="docs/assets/readme/provider-settings.webp" alt="DSH Plugin Settings" width="46%" />
|
|
118
|
-
<img src="docs/assets/readme/chat-example.webp" alt="Chat generation and editing example" width="46%" />
|
|
119
|
-
<br />
|
|
120
|
-
<sub>Left: Provider Settings · Right: In-chat generation, editing, and continuous refinement.</sub>
|
|
121
|
-
</div>
|
|
122
|
-
|
|
123
|
-
<br />
|
|
124
|
-
|
|
125
|
-
For more precise parameter control, open **Gallery** from the conversation header, then switch between **Gallery / Studio / Inspiration / Favorites**.
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
## Core Capabilities
|
|
130
|
-
|
|
131
|
-
### 💬 In-chat generation, editing, and revision switching
|
|
132
|
-
|
|
133
|
-
- Use natural language for text-to-image, image-to-image, multi-image reference, and style transfer.
|
|
134
|
-
- Edit the original prompt to regenerate, then switch between revisions on the same image card.
|
|
135
|
-
|
|
136
|
-
<br />
|
|
137
|
-
|
|
138
|
-
<div align="center">
|
|
139
|
-
<img src="docs/assets/readme/regenerating.webp" alt="Image regeneration in progress" width="46%" />
|
|
140
|
-
<img src="docs/assets/readme/revision-switcher.webp" alt="Switching between generated revisions on the same image card" width="46%" />
|
|
141
|
-
<br />
|
|
142
|
-
<sub>Regenerate in place after editing the prompt, then switch between previous results on the same image card.</sub>
|
|
143
|
-
</div>
|
|
144
|
-
|
|
145
|
-
<br />
|
|
146
|
-
|
|
147
|
-
### 🎛️ Studio batch creation
|
|
148
|
-
|
|
149
|
-
- Support multiple reference images, and generate multiple candidates at a time.
|
|
150
|
-
- Control the Provider, model, aspect ratio, and quality, then save only the results you want.
|
|
151
|
-
|
|
152
|
-
<br />
|
|
153
|
-
|
|
154
|
-
<div align="center">
|
|
155
|
-
<img src="docs/assets/readme/studio-workbench.webp" alt="dsh-image-gen Studio workbench" width="100%" />
|
|
156
|
-
<br />
|
|
157
|
-
<sub>Import references, control parameters, generate batches, select results, and save—all within one Studio.</sub>
|
|
158
|
-
</div>
|
|
159
|
-
|
|
160
|
-
<br />
|
|
161
|
-
|
|
162
|
-
### ⚖️ Side-by-side multi-model comparison
|
|
163
|
-
|
|
164
|
-
Run the same prompt and reference images across multiple models, then compare and save the results on one canvas.
|
|
165
|
-
|
|
166
|
-
<br />
|
|
167
|
-
|
|
168
|
-
<div align="center">
|
|
169
|
-
<img src="docs/assets/readme/multi-model-compare.webp" alt="Comparing the same prompt across multiple image models" width="100%" />
|
|
170
|
-
<br />
|
|
171
|
-
<sub>Compare results from different models on one canvas, then save the images you prefer in a batch.</sub>
|
|
172
|
-
</div>
|
|
173
|
-
|
|
174
|
-
<br />
|
|
175
|
-
|
|
176
|
-
### ✨ 500+ prompt inspiration examples
|
|
177
|
-
|
|
178
|
-
- Browse and filter **500+ prompt examples**, then favorite, copy, or send them directly to Studio.
|
|
179
|
-
- Images are cached locally, so browsing and learning consume no tokens or generation quota.
|
|
180
|
-
|
|
181
|
-
<br />
|
|
182
|
-
|
|
183
|
-
<div align="center">
|
|
184
|
-
<img src="docs/assets/readme/inspiration-library.webp" alt="Prompt inspiration library" width="100%" />
|
|
185
|
-
<br />
|
|
186
|
-
<sub>Find inspiration first, then send a prompt to Studio. Browsing and copying from the local cache consume no generation quota.</sub>
|
|
187
|
-
</div>
|
|
188
|
-
|
|
189
|
-
<br />
|
|
190
|
-
|
|
191
|
-
### 🖼️ Gallery, favorites, and batch management
|
|
192
|
-
|
|
193
|
-
- Manage images saved from chat and Studio in one place, isolated by workspace.
|
|
194
|
-
- Search, filter, favorite, download, continue editing, regenerate, and batch-manage results.
|
|
195
|
-
|
|
196
|
-
<br />
|
|
197
|
-
|
|
198
|
-
<div align="center">
|
|
199
|
-
<img src="docs/assets/readme/gallery-management.webp" alt="Gallery filtering, favorites, and batch management" width="100%" />
|
|
200
|
-
<br />
|
|
201
|
-
<sub>Filter, favorite, and batch-manage gallery items while keeping data isolated by workspace.</sub>
|
|
202
|
-
</div>
|
|
203
|
-
|
|
204
|
-
<br />
|
|
205
|
-
|
|
206
|
-
### 🧩 Multiple local ComfyUI workflows
|
|
207
|
-
|
|
208
|
-
Bring private image generation on your local GPU directly into Agent conversations.
|
|
209
|
-
|
|
210
|
-
- Import and manage multiple named workflows with prompt presets and common placeholders.
|
|
211
|
-
- Let the Agent select a workflow by name for text-to-image or image-to-image generation in chat.
|
|
212
|
-
|
|
213
|
-
> ComfyUI is not yet integrated into Studio or multi-model comparison.
|
|
214
|
-
|
|
215
|
-
<br />
|
|
216
|
-
|
|
217
|
-
<div align="center">
|
|
218
|
-
<img src="docs/assets/readme/comfyui-workflows.webp" alt="Multiple named ComfyUI workflow settings" width="58%" />
|
|
219
|
-
<br />
|
|
220
|
-
<sub>Maintain independent workflows for different tasks and let the Agent select them precisely by name.</sub>
|
|
221
|
-
</div>
|
|
222
|
-
|
|
223
|
-
<br />
|
|
224
|
-
|
|
225
|
-
---
|
|
226
|
-
|
|
227
|
-
## Provider Support
|
|
228
|
-
|
|
229
|
-
| Provider | Chat generation | Chat editing | Studio | Multi-model comparison |
|
|
230
|
-
| :--- | :---: | :---: | :---: | :---: |
|
|
231
|
-
| **Google Gemini** | ✅ | ✅ Multiple | ✅ | ✅ |
|
|
232
|
-
| **OpenAI Images
|
|
233
|
-
| **
|
|
234
|
-
| **
|
|
235
|
-
| **
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
|
247
|
-
|
|
|
248
|
-
|
|
|
249
|
-
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
<
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
<
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
<
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
<img src="docs/assets/readme/hero-en.webp" alt="dsh-image-gen feature overview" width="100%" />
|
|
4
|
+
|
|
5
|
+
<br />
|
|
6
|
+
|
|
7
|
+
<p><a href="README.md">简体中文</a> · <strong>English</strong></p>
|
|
8
|
+
|
|
9
|
+
# 🎨 dsh-image-gen
|
|
10
|
+
|
|
11
|
+
### Native AI image creation suite for DeepSeek Harness
|
|
12
|
+
|
|
13
|
+
<p><b>In-chat generation and editing · Studio batch creation · Multi-model comparison · 500+ prompt inspirations · Gallery management · Local ComfyUI</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://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>
|
|
20
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-f5c542?style=flat-square" alt="License: MIT" /></a>
|
|
21
|
+
<a href="https://linux.do/"><img src="https://img.shields.io/badge/LINUX%20DO-Community-555?style=flat-square" alt="LINUX DO" /></a>
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
<p>
|
|
25
|
+
<a href="#quick-start">Quick Start</a> ·
|
|
26
|
+
<a href="#core-capabilities">Core Capabilities</a> ·
|
|
27
|
+
<a href="#provider-support">Provider Support</a> ·
|
|
28
|
+
<a href="#faq">FAQ</a>
|
|
29
|
+
</p>
|
|
30
|
+
|
|
31
|
+
<br />
|
|
32
|
+
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
**A complete AI image creation workflow for DeepSeek Harness.**
|
|
36
|
+
|
|
37
|
+
`dsh-image-gen` goes far beyond basic in-chat image generation. It brings **continuous natural-language editing**, **Studio batch creation**, **side-by-side multi-model comparison**, a **500+ prompt inspiration library**, and **local ComfyUI** workflows into DSH. It supports **Google Gemini, OpenAI Images / Compatible, ByteDance Seedream, Aliyun DashScope, xAI Grok Imagine, Zhipu GLM-Image**, and private local workflows. It uses a BYOK model and can isolate generated assets by workspace.
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
pnpm dsh plugin --profile web add dsh-image-gen@latest
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
> **Update notice:** This release includes major changes. Existing users should update to the latest version.
|
|
44
|
+
|
|
45
|
+
<img src="docs/assets/readme/workflow-overview.webp" alt="dsh-image-gen complete AI image creation workflow" width="100%" />
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## One plugin, four creative workflows
|
|
50
|
+
|
|
51
|
+
| Entry | Best for | What you can do |
|
|
52
|
+
| :--- | :--- | :--- |
|
|
53
|
+
| 💬 **Chat** | Letting the Agent understand natural-language requests | Text-to-image, image-to-image, multi-image reference, continuous editing, and in-place regeneration |
|
|
54
|
+
| 🎛️ **Studio** | Precise control over creation parameters | Batch generation, multiple reference images, and advanced canvas |
|
|
55
|
+
| ✨ **Inspiration** | Finding compositions, styles, and prompts | Browse 500+ examples, search and filter, favorite, copy, or send a prompt to Studio |
|
|
56
|
+
| 🖼️ **Gallery** | Organizing and reusing generated results | Search, filter, favorite, regenerate, download, batch-manage, and isolate by workspace |
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Quick Start
|
|
61
|
+
|
|
62
|
+
### 1. Install the plugin
|
|
63
|
+
|
|
64
|
+
Requirements: DeepSeek Harness stable version, Node.js `^22.19.0` or `>= 24.0.0`.
|
|
65
|
+
|
|
66
|
+
Run this command from your DeepSeek Harness project root:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
pnpm dsh plugin --profile web add dsh-image-gen@latest
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
> 💬 **Power-user tip:** You can also send this directly to the Agent in a DSH chat:<br />
|
|
73
|
+
> `Install the image generation plugin by running this command in the terminal: pnpm dsh plugin --profile web add dsh-image-gen@latest`
|
|
74
|
+
|
|
75
|
+
<details>
|
|
76
|
+
<summary><strong>Alternative installation methods (global / GitHub / local development)</strong></summary>
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
# If dsh is installed globally:
|
|
80
|
+
dsh plugin --profile web add dsh-image-gen@latest
|
|
81
|
+
|
|
82
|
+
# Install the latest source directly from GitHub:
|
|
83
|
+
pnpm dsh plugin --profile web add git+https://github.com/shanliuling/dsh-image-gen.git
|
|
84
|
+
|
|
85
|
+
# Clone the repository and install it for local development:
|
|
86
|
+
git clone https://github.com/shanliuling/dsh-image-gen.git
|
|
87
|
+
pnpm dsh plugin --profile web add ./dsh-image-gen
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
</details>
|
|
91
|
+
|
|
92
|
+
### 2. Configure a Provider
|
|
93
|
+
|
|
94
|
+
After restarting DSH, open:
|
|
95
|
+
|
|
96
|
+
**Settings → Plugins → Plugin Configuration → Image Generation**
|
|
97
|
+
|
|
98
|
+
Choose a Provider, enter your API key, and adjust the model, Endpoint / Base URL, and workspace-save options as needed. Once the key is stored, click **Test connection** to verify it, or **Fetch models** to pull every image-capable model the provider offers—no manual lookups needed. For ComfyUI, enter an address reachable by the DSH Host and import an **API Format Workflow JSON** file.
|
|
99
|
+
|
|
100
|
+
### 3. Start creating
|
|
101
|
+
|
|
102
|
+
Describe the image you want directly in chat:
|
|
103
|
+
|
|
104
|
+
```text
|
|
105
|
+
Create a cinematic cyberpunk cat on a neon street at night, 16:9.
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
You can also upload a reference image directly for style transfer or editing:
|
|
109
|
+
|
|
110
|
+
```text
|
|
111
|
+
Keep the character and composition unchanged, then add black sunglasses to the cat.
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
<br />
|
|
115
|
+
|
|
116
|
+
<div align="center">
|
|
117
|
+
<img src="docs/assets/readme/provider-settings.webp" alt="DSH Plugin Settings" width="46%" />
|
|
118
|
+
<img src="docs/assets/readme/chat-example.webp" alt="Chat generation and editing example" width="46%" />
|
|
119
|
+
<br />
|
|
120
|
+
<sub>Left: Provider Settings · Right: In-chat generation, editing, and continuous refinement.</sub>
|
|
121
|
+
</div>
|
|
122
|
+
|
|
123
|
+
<br />
|
|
124
|
+
|
|
125
|
+
For more precise parameter control, open **Gallery** from the conversation header, then switch between **Gallery / Studio / Inspiration / Favorites**.
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Core Capabilities
|
|
130
|
+
|
|
131
|
+
### 💬 In-chat generation, editing, and revision switching
|
|
132
|
+
|
|
133
|
+
- Use natural language for text-to-image, image-to-image, multi-image reference, and style transfer.
|
|
134
|
+
- Edit the original prompt to regenerate, then switch between revisions on the same image card.
|
|
135
|
+
|
|
136
|
+
<br />
|
|
137
|
+
|
|
138
|
+
<div align="center">
|
|
139
|
+
<img src="docs/assets/readme/regenerating.webp" alt="Image regeneration in progress" width="46%" />
|
|
140
|
+
<img src="docs/assets/readme/revision-switcher.webp" alt="Switching between generated revisions on the same image card" width="46%" />
|
|
141
|
+
<br />
|
|
142
|
+
<sub>Regenerate in place after editing the prompt, then switch between previous results on the same image card.</sub>
|
|
143
|
+
</div>
|
|
144
|
+
|
|
145
|
+
<br />
|
|
146
|
+
|
|
147
|
+
### 🎛️ Studio batch creation
|
|
148
|
+
|
|
149
|
+
- Support multiple reference images, and generate multiple candidates at a time.
|
|
150
|
+
- Control the Provider, model, aspect ratio, and quality, then save only the results you want.
|
|
151
|
+
|
|
152
|
+
<br />
|
|
153
|
+
|
|
154
|
+
<div align="center">
|
|
155
|
+
<img src="docs/assets/readme/studio-workbench.webp" alt="dsh-image-gen Studio workbench" width="100%" />
|
|
156
|
+
<br />
|
|
157
|
+
<sub>Import references, control parameters, generate batches, select results, and save—all within one Studio.</sub>
|
|
158
|
+
</div>
|
|
159
|
+
|
|
160
|
+
<br />
|
|
161
|
+
|
|
162
|
+
### ⚖️ Side-by-side multi-model comparison
|
|
163
|
+
|
|
164
|
+
Run the same prompt and reference images across multiple models, then compare and save the results on one canvas.
|
|
165
|
+
|
|
166
|
+
<br />
|
|
167
|
+
|
|
168
|
+
<div align="center">
|
|
169
|
+
<img src="docs/assets/readme/multi-model-compare.webp" alt="Comparing the same prompt across multiple image models" width="100%" />
|
|
170
|
+
<br />
|
|
171
|
+
<sub>Compare results from different models on one canvas, then save the images you prefer in a batch.</sub>
|
|
172
|
+
</div>
|
|
173
|
+
|
|
174
|
+
<br />
|
|
175
|
+
|
|
176
|
+
### ✨ 500+ prompt inspiration examples
|
|
177
|
+
|
|
178
|
+
- Browse and filter **500+ prompt examples**, then favorite, copy, or send them directly to Studio.
|
|
179
|
+
- Images are cached locally, so browsing and learning consume no tokens or generation quota.
|
|
180
|
+
|
|
181
|
+
<br />
|
|
182
|
+
|
|
183
|
+
<div align="center">
|
|
184
|
+
<img src="docs/assets/readme/inspiration-library.webp" alt="Prompt inspiration library" width="100%" />
|
|
185
|
+
<br />
|
|
186
|
+
<sub>Find inspiration first, then send a prompt to Studio. Browsing and copying from the local cache consume no generation quota.</sub>
|
|
187
|
+
</div>
|
|
188
|
+
|
|
189
|
+
<br />
|
|
190
|
+
|
|
191
|
+
### 🖼️ Gallery, favorites, and batch management
|
|
192
|
+
|
|
193
|
+
- Manage images saved from chat and Studio in one place, isolated by workspace.
|
|
194
|
+
- Search, filter, favorite, download, continue editing, regenerate, and batch-manage results.
|
|
195
|
+
|
|
196
|
+
<br />
|
|
197
|
+
|
|
198
|
+
<div align="center">
|
|
199
|
+
<img src="docs/assets/readme/gallery-management.webp" alt="Gallery filtering, favorites, and batch management" width="100%" />
|
|
200
|
+
<br />
|
|
201
|
+
<sub>Filter, favorite, and batch-manage gallery items while keeping data isolated by workspace.</sub>
|
|
202
|
+
</div>
|
|
203
|
+
|
|
204
|
+
<br />
|
|
205
|
+
|
|
206
|
+
### 🧩 Multiple local ComfyUI workflows
|
|
207
|
+
|
|
208
|
+
Bring private image generation on your local GPU directly into Agent conversations.
|
|
209
|
+
|
|
210
|
+
- Import and manage multiple named workflows with prompt presets and common placeholders.
|
|
211
|
+
- Let the Agent select a workflow by name for text-to-image or image-to-image generation in chat.
|
|
212
|
+
|
|
213
|
+
> ComfyUI is not yet integrated into Studio or multi-model comparison.
|
|
214
|
+
|
|
215
|
+
<br />
|
|
216
|
+
|
|
217
|
+
<div align="center">
|
|
218
|
+
<img src="docs/assets/readme/comfyui-workflows.webp" alt="Multiple named ComfyUI workflow settings" width="58%" />
|
|
219
|
+
<br />
|
|
220
|
+
<sub>Maintain independent workflows for different tasks and let the Agent select them precisely by name.</sub>
|
|
221
|
+
</div>
|
|
222
|
+
|
|
223
|
+
<br />
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## Provider Support
|
|
228
|
+
|
|
229
|
+
| Provider | Chat generation | Chat editing | Studio | Multi-model comparison |
|
|
230
|
+
| :--- | :---: | :---: | :---: | :---: |
|
|
231
|
+
| **Google Gemini** | ✅ | ✅ Multiple | ✅ | ✅ |
|
|
232
|
+
| **OpenAI Images** | ✅ | ✅ Multiple | ✅ | ✅ |
|
|
233
|
+
| **OpenAI Compatible (relay)** | ✅ | ✅ Multiple | ✅ | ✅ |
|
|
234
|
+
| **ByteDance Seedream / Volcengine Ark** | ✅ | ✅ Multiple | ✅ | ✅ |
|
|
235
|
+
| **Aliyun DashScope / Qwen Image** | ✅ | ✅ Multiple | ✅ | ✅ |
|
|
236
|
+
| **xAI Grok Imagine** | ✅ | ⚠️ Limited | ✅ | ✅ |
|
|
237
|
+
| **Zhipu GLM-Image** | ✅ | — | ✅ | ✅ |
|
|
238
|
+
| **Local ComfyUI** | ✅ | ✅ Single | — | — |
|
|
239
|
+
|
|
240
|
+
> Studio and multi-model comparison currently support cloud Providers only. Multi-model comparison uses the model configured for each Provider in Settings.
|
|
241
|
+
> Zhipu GLM-Image does not support image-to-image upstream. xAI image editing goes through the OpenAI-compatible protocol (multipart); some gateways may need further adaptation.
|
|
242
|
+
|
|
243
|
+
<details>
|
|
244
|
+
<summary><strong>Current default models and endpoints (all configurable)</strong></summary>
|
|
245
|
+
|
|
246
|
+
| Provider | Default model | Default Endpoint / Base URL |
|
|
247
|
+
| :--- | :--- | :--- |
|
|
248
|
+
| Google Gemini | `gemini-3.1-flash-image` | `https://generativelanguage.googleapis.com/v1beta/interactions` |
|
|
249
|
+
| OpenAI Images | `gpt-image-2` | `https://api.openai.com/v1` |
|
|
250
|
+
| OpenAI Compatible | Custom | Custom Base URL |
|
|
251
|
+
| ByteDance Seedream | `doubao-seedream-5-0-260128` | `https://ark.cn-beijing.volces.com/api/v3` |
|
|
252
|
+
| Aliyun DashScope | `qwen-image-3.0` | `https://dashscope.aliyuncs.com/api/v1` |
|
|
253
|
+
| xAI Grok Imagine | `grok-imagine-image` | `https://api.x.ai/v1` |
|
|
254
|
+
| Zhipu GLM-Image | `glm-image` | `https://open.bigmodel.cn/api/paas/v4` |
|
|
255
|
+
| Local ComfyUI | Imported API Workflow | `http://127.0.0.1:8188` |
|
|
256
|
+
|
|
257
|
+
</details>
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## Data and Privacy
|
|
262
|
+
|
|
263
|
+
- **BYOK:** API keys are stored through the DSH Credentials service and are never displayed in plaintext on the settings page.
|
|
264
|
+
- **Cloud requests:** The prompt and reference images used for a request are sent to the selected Provider. Follow that Provider's terms of service.
|
|
265
|
+
- **Local ComfyUI:** Requests are sent to the configured ComfyUI address.
|
|
266
|
+
- **Workspace files:** When workspace saving is enabled, chat results are written to disk; Studio saves only the candidates you select.
|
|
267
|
+
- **Gallery and favorites:** Gallery metadata and favorite state are stored in the current browser's local storage.
|
|
268
|
+
- **Inspiration cache:** Example metadata ships with the plugin. Images load on demand and are cached locally, and the cache can be cleared at any time.
|
|
269
|
+
|
|
270
|
+
## FAQ
|
|
271
|
+
|
|
272
|
+
<details>
|
|
273
|
+
<summary><strong>What should I do if “Image Generation” is missing after installation?</strong></summary>
|
|
274
|
+
|
|
275
|
+
Fully restart the current DSH Profile, then inspect the plugin configuration:
|
|
276
|
+
|
|
277
|
+
```bash
|
|
278
|
+
dsh --profile web --dump-config
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
If `dsh-image-gen` is absent from the output, run the installation command again. When filing an issue, include the DSH version, plugin version, and relevant error logs, but never include your API key.
|
|
282
|
+
|
|
283
|
+
</details>
|
|
284
|
+
|
|
285
|
+
<details>
|
|
286
|
+
<summary><strong>Where are generated images saved?</strong></summary>
|
|
287
|
+
|
|
288
|
+
When “Save to workspace” is enabled, chat results are saved to the `dsh-image-gen/` subdirectory of the current workspace by default. You can change this directory in Settings. Studio candidates remain on the temporary canvas until you select which results should enter the gallery and be saved.
|
|
289
|
+
|
|
290
|
+
</details>
|
|
291
|
+
|
|
292
|
+
<details>
|
|
293
|
+
<summary><strong>Why is ComfyUI not available in Studio?</strong></summary>
|
|
294
|
+
|
|
295
|
+
Studio and multi-model comparison currently support cloud Providers only; ComfyUI is not yet integrated. ComfyUI supports text-to-image, single-image editing, and multiple named workflows through Agent chat.
|
|
296
|
+
|
|
297
|
+
</details>
|
|
298
|
+
|
|
299
|
+
<details>
|
|
300
|
+
<summary><strong>Does deleting an item from the gallery remove its chat message?</strong></summary>
|
|
301
|
+
|
|
302
|
+
No. Deleting a gallery record does not modify the original chat message. You may separately choose to remove the corresponding local image file from the workspace. File deletion is normally irreversible, so confirm carefully.
|
|
303
|
+
|
|
304
|
+
</details>
|
|
305
|
+
|
|
306
|
+
<details>
|
|
307
|
+
<summary><strong>How do I upgrade?</strong></summary>
|
|
308
|
+
|
|
309
|
+
```bash
|
|
310
|
+
pnpm dsh plugin --profile web add dsh-image-gen@latest
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
Restart the corresponding DSH Profile after upgrading.
|
|
314
|
+
|
|
315
|
+
</details>
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
## Local Development
|
|
320
|
+
|
|
321
|
+
```bash
|
|
322
|
+
git clone https://github.com/shanliuling/dsh-image-gen.git
|
|
323
|
+
cd dsh-image-gen
|
|
324
|
+
|
|
325
|
+
pnpm install
|
|
326
|
+
pnpm run typecheck
|
|
327
|
+
pnpm test
|
|
328
|
+
pnpm run build
|
|
329
|
+
pnpm run pack:check
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
Feedback is welcome through [Issues](https://github.com/shanliuling/dsh-image-gen/issues). Read [CONTRIBUTING.md](CONTRIBUTING.md) before opening a Pull Request.
|
|
333
|
+
|
|
334
|
+
## License
|
|
335
|
+
|
|
336
|
+
This project is open source under the [MIT License](LICENSE).
|
|
337
|
+
|
|
338
|
+
<div align="center">
|
|
339
|
+
|
|
340
|
+
If `dsh-image-gen` improves your workflow, consider giving the project a ⭐ **Star** to support continued maintenance.
|
|
341
|
+
|
|
342
|
+
**[View Releases](https://github.com/shanliuling/dsh-image-gen/releases) · [Open an Issue](https://github.com/shanliuling/dsh-image-gen/issues) · [Contribute](CONTRIBUTING.md)**
|
|
343
|
+
|
|
344
|
+
</div>
|