dsh-image-gen 0.4.0 → 0.4.1

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,182 +1,338 @@
1
- <div align="center">
2
-
3
- <img src="docs/assets/hero-poster.webp" alt="dsh-image-gen 宣传海报" width="100%" style="max-width: 860px; border-radius: 12px;" />
4
-
5
- <br /><br />
6
-
7
- # 🎨 dsh-image-gen
8
-
9
- **为 DeepSeek Harness 提供完整的对话图像能力:文生图、图生图、多图参考、连续编辑、本地 ComfyUI 与画廊管理。**
10
-
11
- [![npm version](https://img.shields.io/npm/v/dsh-image-gen.svg?style=flat-square&color=blue)](https://www.npmjs.com/package/dsh-image-gen)
12
- [![DSH Plugin](https://img.shields.io/badge/Plugin%20For-DeepSeek%20Harness-6366f1?style=flat-square)](https://github.com/deepseek-ai)
13
- [![npm downloads](https://img.shields.io/npm/dm/dsh-image-gen.svg?style=flat-square&color=emerald)](https://www.npmjs.com/package/dsh-image-gen)
14
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](LICENSE)
15
- [![LINUX DO](https://img.shields.io/badge/LINUX%20DO-社区友链-555?style=flat-square)](https://linux.do/)
16
-
17
- [English](README.en.md) | **简体中文**
18
-
19
- <br />
20
-
21
- <p align="center">💬 <b>直接对你的 DeepSeek Harness Agent 发送以下提示词:</b></p>
22
-
23
- ```text
24
- 帮我安装生图插件,执行命令:pnpm dsh plugin --profile web add dsh-image-gen@latest
25
- ```
26
-
27
- <p align="center"><sub>(也可以手动在终端执行:<code>pnpm dsh plugin --profile web add dsh-image-gen@latest</code>)</sub></p>
28
-
29
- <br />
30
-
31
- <p align="center">安装完成后,在 DSH 设置中填入自己的 API Key 或配置本地 ComfyUI,就可以直接对 Agent 说:</p>
32
-
33
- ```text
34
- 帮我画一张雨夜霓虹街头的赛博朋克猫咪。
35
- ```
36
-
37
- <p align="center">Agent 会自动完成图片生成,也可以直接基于上一张图片继续修改。</p>
38
-
39
- <br />
40
-
41
- <div align="center">
42
- <img src="docs/assets/generate-example.png" alt="首次生成图片的对话截图" width="48%" style="vertical-align: top;" />
43
- <img src="docs/assets/edit-example.png" alt="基于上一张图片继续编辑的对话截图" width="48%" style="vertical-align: top;" />
44
- </div>
45
-
46
- </div>
47
-
48
- ---
49
-
50
- ## 💡 它解决什么问题?
51
-
52
- **`dsh-image-gen` 是专为 DeepSeek Harness (DSH) 打造的开源图像生成与编辑插件。**
53
-
54
- DeepSeek Harness 已经可以让 Agent 调用不同工具完成任务,本项目为它补上了原生的**图像生成与编辑能力**:
55
-
56
- ```mermaid
57
- graph LR
58
- A[用户 Prompt] --> B[DeepSeek Harness Agent]
59
- B --> C[generate_image / edit_image]
60
- C --> D[Gemini / OpenAI / Seedream / DashScope / ComfyUI]
61
- D --> E[图片数据]
62
- E --> F[当前 Conversation 对话流]
63
- ```
64
-
65
- ---
66
-
67
- ## 🚀 快速安装与使用
68
-
69
- ### 1. 安装插件
70
-
71
- 在你的 DeepSeek Harness 项目根目录下运行:
72
-
73
- ```bash
74
- # 推荐方式:安装或升级到最新版本
75
- pnpm dsh plugin --profile web add dsh-image-gen@latest
76
-
77
- # 若已将 dsh 安装为系统全局命令:
78
- dsh plugin --profile web add dsh-image-gen@latest
79
- ```
80
-
81
- <details>
82
- <summary><b>🛠️ 其他安装方式(Git 仓库直装 / 本地调试)</b></summary>
83
-
84
- ```bash
85
- # 方式 B:从 GitHub 仓库直接安装最新代码
86
- pnpm dsh plugin --profile web add git+https://github.com/shanliuling/dsh-image-gen.git
87
-
88
- # 方式 C:本地克隆源码开发安装
89
- git clone https://github.com/shanliuling/dsh-image-gen.git
90
- pnpm dsh plugin --profile web add ./dsh-image-gen
91
- ```
92
-
93
- </details>
94
-
95
- ### 2. 配置 Provider 与工作区设置
96
-
97
- 打开 DSH Web 页面(默认 `http://localhost:3080`):
98
-
99
- 1. 进入 **Settings → Plugins → Image generation**。
100
- 2. 选择 Provider;云端 Provider 填写 API Key,本地 ComfyUI 填写地址并导入 API Format Workflow JSON(提示词位置使用 `{{prompt}}`,种子可选用 `{{seed}}`;图生图工作流在 LoadImage 的 `image` 输入中使用 `{{image}}`,调用时插件会自动上传源图并回填文件名,仅允许出现一次)。ComfyUI 支持导入多个命名工作流并选择当前使用的一个,Agent 也可以在调用时通过 `workflow` 参数按名称指定。
101
- 3. 可按需开启 **保存到工作区**(默认开启)并自定义子目录,点击 **保存** 即可。
102
-
103
- <div align="center">
104
- <img src="docs/assets/settings-preview.png?v=0.1.7" alt="设置面板预览" width="720" />
105
- </div>
106
-
107
- ### 3. 开始对话生图
108
-
109
- 现在直接在聊天框输入:
110
-
111
- ```text
112
- 生成一张极简主义的现代建筑客厅插画。
113
- ```
114
-
115
- 当前 Agent 就会自动调用 `generate_image` 工具并在对话流中返回图片。
116
-
117
- 也可以继续基于上一张图进行编辑:
118
-
119
- ```text
120
- 给刚才那张图加上落地窗,并把窗外改成雪山。
121
- ```
122
-
123
- Agent 会调用 `edit_image`,复用当前会话中的图片继续修改。
124
-
125
- ### 4. 查看原生生图画廊
126
-
127
- 点击会话顶栏的 **`[画廊]`** Tab,即可集中查看和搜索所有对话生成的历史图片:
128
-
129
- <div align="center">
130
- <img src="docs/assets/gallery-preview.png" alt="原生生图画廊预览" width="820" />
131
- </div>
132
-
133
- ---
134
-
135
- ## ✨ 主要能力
136
-
137
- - 💬 **原生对话生图与编辑**:直接在 DeepSeek Harness 对话中生成图片,也可以基于已有图片继续修改。
138
- - 🔁 **连续多轮编辑**:支持复用当前会话中的上传图片、历史生成图和上一轮编辑结果继续迭代。
139
- - 🖼️ **画廊与图片工具**:自动汇总历史图片,支持搜索、筛选、全屏预览、复制、下载与删除。
140
- - 🎨 **多 Provider 支持**:兼容 Google Gemini、OpenAI Images / Compatible、Seedream、DashScope Qwen Image,以及用户本地的 ComfyUI 工作流。
141
- - 🔑 **BYOK + 原生设置**:API Key、Provider、模型和 Endpoint 都可以直接在 DSH 设置中配置。
142
- - 💾 **会话与工作区保存**:图片接入 DSH Attachment / Conversation,并可自动保存到当前工作区。
143
-
144
- ---
145
-
146
- ## 📦 支持的 Provider
147
-
148
- | Provider | 默认模型 | 默认 Endpoint / Base URL |
149
- | :--- | :--- | :--- |
150
- | **Google Gemini** | `gemini-3.1-flash-image` | `https://generativelanguage.googleapis.com/v1beta/interactions` |
151
- | **OpenAI Images** | `gpt-image-2` | `https://api.openai.com/v1` |
152
- | **OpenAI Compatible** | 自定义 | 自定义 Base URL |
153
- | **ByteDance Seedream / 火山方舟** | `doubao-seedream-5-0-260128` | `https://ark.cn-beijing.volces.com/api/v3` |
154
- | **Aliyun DashScope / Qwen Image** | `qwen-image-3.0` | `https://dashscope.aliyuncs.com/api/v1` |
155
- | **Local ComfyUI(文生图 + 图生图)** | 用户导入的 API Format Workflow | `http://127.0.0.1:8188` |
156
-
157
- ---
158
-
159
- ## 🛠️ 本地开发 (Development)
160
-
161
- ```bash
162
- # 克隆仓库
163
- git clone https://github.com/shanliuling/dsh-image-gen.git
164
- cd dsh-image-gen
165
-
166
- # 安装依赖与构建
167
- pnpm install
168
- pnpm run typecheck
169
- pnpm run test
170
- pnpm run build
171
-
172
- # 检查 npm 打包内容
173
- pnpm run pack:check
174
- ```
175
-
176
- ---
177
-
178
- ## 📄 开源协议 (License)
179
-
180
- 本项目基于 [MIT License](LICENSE) 开源。
181
-
182
- 如果这个插件对你有用,欢迎点一个 ⭐️ **Star** 支持!
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>对话生图与编辑 · Studio 批量创作 · 多模型对比 · 500+ Prompt 灵感 · 图库管理 · 本地 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-社区友链-555?style=flat-square" alt="LINUX DO" /></a>
22
+ </p>
23
+
24
+ <p>
25
+ <a href="#快速开始">快速开始</a> ·
26
+ <a href="#核心能力">核心能力</a> ·
27
+ <a href="#provider-支持情况">Provider 支持</a> ·
28
+ <a href="#常见问题">常见问题</a>
29
+ </p>
30
+
31
+ <br />
32
+
33
+ </div>
34
+
35
+ **为 DeepSeek Harness 带来完整的 AI 图像创作工作流。**
36
+
37
+ `dsh-image-gen` 不只是简单的对话生图,而是为 DSH 补齐了从**自然语言连续修图**、**Studio 批量创作**、**多模型横向对比**,到 **500+ Prompt 灵感库**与**本地 ComfyUI** 的全流程能力。支持 **Google Gemini、OpenAI Images / Compatible、ByteDance Seedream、Aliyun DashScope** 及本地私有化工作流,采用 BYOK(自带 Key)模式,生成结果支持按工作区隔离存储。
38
+
39
+ ```bash
40
+ pnpm dsh plugin --profile web add dsh-image-gen@latest
41
+ ```
42
+
43
+ > **版本更新提示:** 本次版本变化较大,老用户请更新至最新版本。
44
+
45
+ <img src="docs/assets/readme/workflow-overview.webp" alt="dsh-image-gen 完整 AI 图像创作工作流" width="100%" />
46
+
47
+ ---
48
+
49
+ ## 一个插件,四种创作方式
50
+
51
+ | 入口 | 最适合 | 你可以做什么 |
52
+ | :------------ | :------------------------ | :----------------------------------------------------- |
53
+ | 💬 **对话** | 让 Agent 理解自然语言需求 | 文生图、图生图、多图参考、连续编辑、原位重新生成 |
54
+ | 🎛️ **工作台** | 精确控制创作参数 | 批量生成、多张参考图、高级画布 |
55
+ | ✨ **灵感** | 找构图、风格与 Prompt | 500+ 案例、搜索筛选、收藏、复制、一键带入工作台 |
56
+ | 🖼️ **图库** | 整理与复用生成结果 | 搜索、筛选、收藏、重新生成、下载、批量管理、工作区隔离 |
57
+
58
+ ---
59
+
60
+ ## 快速开始
61
+
62
+ ### 1. 安装插件
63
+
64
+ 环境要求:DeepSeek Harness 稳定版本,Node.js `^22.19.0` 或 `>= 24.0.0`。
65
+
66
+ 在你的 DeepSeek Harness 项目根目录下运行:
67
+
68
+ ```bash
69
+ pnpm dsh plugin --profile web add dsh-image-gen@latest
70
+ ```
71
+
72
+ > 💬 **极客提示**:你也可以直接把这句话发送给 DSH 对话中的 Agent:<br />
73
+ > `帮我安装生图插件,在终端执行:pnpm dsh plugin --profile web add dsh-image-gen@latest`
74
+
75
+ <details>
76
+ <summary><strong>其他安装方式(全局 / GitHub 直装 / 本地调试)</strong></summary>
77
+
78
+ ```bash
79
+ # 若已将 dsh 安装为系统全局命令:
80
+ dsh plugin --profile web add dsh-image-gen@latest
81
+
82
+ # 从 GitHub 仓库直接安装最新代码:
83
+ pnpm dsh plugin --profile web add git+https://github.com/shanliuling/dsh-image-gen.git
84
+
85
+ # 本地克隆源码开发安装:
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. 配置 Provider
93
+
94
+ 重启 DSH 后进入:
95
+
96
+ **设置 → 插件 → 插件配置 → 图像生成**
97
+
98
+ 选择 Provider,填写自己的 API Key,并按需调整模型、Endpoint / Base URL 与工作区保存选项。使用 ComfyUI 时,请填写 DSH Host 可访问的服务地址,并导入 **API Format Workflow JSON**。
99
+
100
+ ### 3. 开始创作
101
+
102
+ 在聊天框中直接描述你想要的图片:
103
+
104
+ ```text
105
+ 画一张雨夜霓虹街头的赛博朋克猫咪,电影感光线,16:9。
106
+ ```
107
+
108
+ 也可以直接上传参考图,让 Agent 进行风格重构或局部编辑:
109
+
110
+ ```text
111
+ 保持角色与构图不变,给猫咪戴上一副黑色墨镜。
112
+ ```
113
+
114
+ <br />
115
+
116
+ <div align="center">
117
+ <img src="docs/assets/readme/provider-settings.webp" alt="DSH 插件配置界面" width="46%" />
118
+ <img src="docs/assets/readme/chat-example.webp" alt="对话生图与风格重构效果" width="46%" />
119
+ <br />
120
+ <sub>左:Provider 配置 · 右:在 DSH 对话中直接生图、图生图与连续编辑。</sub>
121
+ </div>
122
+
123
+ <br />
124
+
125
+ 需要更细的参数控制时,点击会话顶部的 **画廊** 入口,进入 **图库 / 工作台 / 灵感 / 收藏**。
126
+
127
+ ---
128
+
129
+ ## 核心能力
130
+
131
+ ### 💬 对话生图、编辑与版本切换
132
+
133
+ - 用自然语言完成文生图、图生图、多图参考和风格迁移。
134
+ - 直接修改原图 Prompt 重新生成,并在同一卡片中切换历史版本。
135
+
136
+ <br />
137
+
138
+ <div align="center">
139
+ <img src="docs/assets/readme/regenerating.webp" alt="图片正在重新生成" width="46%" />
140
+ <img src="docs/assets/readme/revision-switcher.webp" alt="在同一图片卡片中切换生成版本" width="46%" />
141
+ <br />
142
+ <sub>修改 Prompt 后原位重新生成,并在同一张图片卡片中切换历史版本。</sub>
143
+ </div>
144
+
145
+ <br />
146
+
147
+ ### 🎛️ Studio 批量创作
148
+
149
+ - 支持多张参考图,一次生成多张候选图。
150
+ - 自由控制 Provider、模型、比例和清晰度,只保存满意的结果。
151
+
152
+ <br />
153
+
154
+ <div align="center">
155
+ <img src="docs/assets/readme/studio-workbench.webp" alt="dsh-image-gen Studio 工作台" width="100%" />
156
+ <br />
157
+ <sub>在同一个 Studio 中完成参考图导入、参数控制、批量生成、结果筛选与保存。</sub>
158
+ </div>
159
+
160
+ <br />
161
+
162
+ ### ⚖️ 多模型横向对比
163
+
164
+ 使用同一组 Prompt 和参考图并发调用多个模型,在一张画布中比较并保存结果。
165
+
166
+ <br />
167
+
168
+ <div align="center">
169
+ <img src="docs/assets/readme/multi-model-compare.webp" alt="同一 Prompt 的多模型生成对比" width="100%" />
170
+ <br />
171
+ <sub>在同一画布中比较不同模型结果,再批量保存满意的图片。</sub>
172
+ </div>
173
+
174
+ <br />
175
+
176
+ ### ✨ 500+ Prompt 灵感案例
177
+
178
+ - 浏览和筛选 **500+ Prompt 案例**,支持收藏、复制及一键带入 Studio。
179
+ - 图片缓存在本地,浏览和学习不消耗 Token 或生成额度。
180
+
181
+ <br />
182
+
183
+ <div align="center">
184
+ <img src="docs/assets/readme/inspiration-library.webp" alt="Prompt 灵感素材库" width="100%" />
185
+ <br />
186
+ <sub>先找灵感,再把 Prompt 带入工作台;全本地缓存,浏览或复制不消耗生成额度。</sub>
187
+ </div>
188
+
189
+ <br />
190
+
191
+ ### 🖼️ 图库、收藏与批量管理
192
+
193
+ - 统一管理对话和 Studio 中保存的图片,并按工作区隔离。
194
+ - 支持搜索、筛选、收藏、下载、继续编辑、重新生成和批量管理。
195
+
196
+ <br />
197
+
198
+ <div align="center">
199
+ <img src="docs/assets/readme/gallery-management.webp" alt="图库筛选、收藏与批量管理" width="100%" />
200
+ <br />
201
+ <sub>图库支持多维度筛选、收藏、批量管理与工作区数据隔离。</sub>
202
+ </div>
203
+
204
+ <br />
205
+
206
+ ### 🧩 本地 ComfyUI 多工作流
207
+
208
+ 灵活调用本地 GPU 算力,让私有化绘图无缝融入 Agent 对话。
209
+
210
+ - 导入并管理多个命名工作流,支持预设 Prompt 和常用占位符。
211
+ - Agent 可按名称选择工作流,在对话中完成文生图和图生图。
212
+
213
+ > ComfyUI 暂未接入 Studio 和多模型对比。
214
+
215
+ <br />
216
+
217
+ <div align="center">
218
+ <img src="docs/assets/readme/comfyui-workflows.webp" alt="ComfyUI 多工作流配置" width="58%" />
219
+ <br />
220
+ <sub>为不同用途维护独立工作流,并通过名称让 Agent 精确选择。</sub>
221
+ </div>
222
+
223
+ <br />
224
+
225
+ ---
226
+
227
+ ## Provider 支持情况
228
+
229
+ | Provider | 对话生图 | 对话编辑 | Studio | 多模型对比 |
230
+ | :-------------------------------- | :------: | :------: | :----: | :--------: |
231
+ | **Google Gemini** | ✅ | ✅ 多图 | ✅ | ✅ |
232
+ | **OpenAI Images / Compatible** | ✅ | ✅ 多图 | ✅ | ✅ |
233
+ | **ByteDance Seedream / 火山方舟** | ✅ | ✅ 多图 | ✅ | ✅ |
234
+ | **Aliyun DashScope / Qwen Image** | ✅ | ✅ 多图 | ✅ | ✅ |
235
+ | **Local ComfyUI** | ✅ | ✅ 单图 | — | — |
236
+
237
+ > Studio 与多模型对比目前只支持云端 Provider;多模型对比调用的是各 Provider 在设置中已配置的模型。
238
+
239
+ <details>
240
+ <summary><strong>当前默认模型与 Endpoint(均可修改)</strong></summary>
241
+
242
+ | Provider | 默认模型 | 默认 Endpoint / Base URL |
243
+ | :----------------- | :--------------------------- | :-------------------------------------------------------------- |
244
+ | Google Gemini | `gemini-3.1-flash-image` | `https://generativelanguage.googleapis.com/v1beta/interactions` |
245
+ | OpenAI Images | `gpt-image-2` | `https://api.openai.com/v1` |
246
+ | OpenAI Compatible | 自定义 | 自定义 Base URL |
247
+ | ByteDance Seedream | `doubao-seedream-5-0-260128` | `https://ark.cn-beijing.volces.com/api/v3` |
248
+ | Aliyun DashScope | `qwen-image-3.0` | `https://dashscope.aliyuncs.com/api/v1` |
249
+ | Local ComfyUI | 用户导入的 API Workflow | `http://127.0.0.1:8188` |
250
+
251
+ </details>
252
+
253
+ ---
254
+
255
+ ## 数据与隐私
256
+
257
+ - **BYOK**:API Key 通过 DSH Credentials 服务保存,设置页不会回显 Key 明文。
258
+ - **云端请求**:Prompt 与本次使用的参考图会发送给所选 Provider,请遵守对应服务条款。
259
+ - **本地 ComfyUI**:请求发送到用户配置的 ComfyUI 地址。
260
+ - **工作区文件**:开启工作区保存后,对话结果会落盘;Studio 仅保存用户选中的候选图。
261
+ - **图库与收藏**:图库元数据和收藏状态保存在当前浏览器本地存储中。
262
+ - **灵感缓存**:案例元数据随插件提供,图片按需加载并缓存在本机,可随时清理。
263
+
264
+ ## 常见问题
265
+
266
+ <details>
267
+ <summary><strong>安装后找不到“图像生成”设置怎么办?</strong></summary>
268
+
269
+ 先完全重启当前 DSH Profile,再检查插件配置:
270
+
271
+ ```bash
272
+ dsh --profile web --dump-config
273
+ ```
274
+
275
+ 如果输出中没有 `dsh-image-gen`,请重新执行安装命令。提交 Issue 时请附 DSH 版本、插件版本和错误日志,不要上传 API Key。
276
+
277
+ </details>
278
+
279
+ <details>
280
+ <summary><strong>生成图片保存在哪里?</strong></summary>
281
+
282
+ 开启“保存到工作区”后,对话生成结果默认保存在当前工作区的 `dsh-image-gen/` 子目录,也可以在设置中修改。Studio 候选图先留在临时画布,只有用户选中的结果才会进入图库并保存。
283
+
284
+ </details>
285
+
286
+ <details>
287
+ <summary><strong>为什么 ComfyUI 没有出现在 Studio 中?</strong></summary>
288
+
289
+ 当前 Studio 与多模型对比只支持四类云端 Provider。ComfyUI 已支持在 Agent 对话中进行文生图、单图编辑以及多个命名工作流。
290
+
291
+ </details>
292
+
293
+ <details>
294
+ <summary><strong>从图库删除会删除聊天记录吗?</strong></summary>
295
+
296
+ 不会。删除图库记录不会修改原聊天消息。你可以额外选择是否清理工作区中的本地图片文件;文件删除通常无法恢复,请确认后操作。
297
+
298
+ </details>
299
+
300
+ <details>
301
+ <summary><strong>如何升级?</strong></summary>
302
+
303
+ ```bash
304
+ pnpm dsh plugin --profile web add dsh-image-gen@latest
305
+ ```
306
+
307
+ 升级后重启对应的 DSH Profile。
308
+
309
+ </details>
310
+
311
+ ---
312
+
313
+ ## 本地开发
314
+
315
+ ```bash
316
+ git clone https://github.com/shanliuling/dsh-image-gen.git
317
+ cd dsh-image-gen
318
+
319
+ pnpm install
320
+ pnpm run typecheck
321
+ pnpm test
322
+ pnpm run build
323
+ pnpm run pack:check
324
+ ```
325
+
326
+ 欢迎通过 [Issues](https://github.com/shanliuling/dsh-image-gen/issues) 反馈问题,或阅读 [CONTRIBUTING.md](CONTRIBUTING.md) 后提交 Pull Request。
327
+
328
+ ## License
329
+
330
+ 本项目基于 [MIT License](LICENSE) 开源。
331
+
332
+ <div align="center">
333
+
334
+ 如果 `dsh-image-gen` 对你的工作流有所帮助,欢迎在 GitHub 点亮一颗 ⭐ **Star** 支持持续维护。
335
+
336
+ **[查看 Releases](https://github.com/shanliuling/dsh-image-gen/releases) · [提交 Issue](https://github.com/shanliuling/dsh-image-gen/issues) · [参与贡献](CONTRIBUTING.md)**
337
+
338
+ </div>