AI image generation for the DSH Web GUI: text-to-image and image-to-image through a configurable OpenAI-compatible endpoint (gpt-image-2 / gpt-image-1 / dall-e-3), with an api_url/api_key settings card and a sidebar split-pane generation studio.
Install
# from npm (prebuilt)
dsh plugin --profile web add @dickpy/dsh-imagegen
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:dickpy/dsh-imagegen
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
This plugin publishes its README in Chinese only.
快速开始
需要已安装 DeepSeek Harness 和 Node.js 20+。
dsh plugin --profile web add @dickpy/dsh-imagegen
安装后重启 dsh web,侧边栏会出现「生图」入口。到「设置 → 生图配置」添加提供方、填写 API 地址与密钥、检测并选择生图模型,保存后即可开始创作。Windows 若遇 PowerShell 脚本策略限制,请使用 dsh.cmd。
- **让 Agent 安装:**把上面的安装命令发给 DSH、Codex 或其他 coding agent。
- **指定版本:**使用
@dickpy/dsh-imagegen@<版本号>,或从 GitHub Releases 下载 tgz 后安装。 - **Web / CLI 升级:**重复执行
add命令;插件也会在面板中提示新版本。更新后重启dsh web。 - **桌面端升级:**从插件1.8.2起,检测到宿主插件安装接口时,可直接在插件面板点击「在线更新」,由DSH内置插件管理器安装新版,完成后重启DSH。1.8.0/1.8.1的按钮已被旧逻辑禁用,首次需通过宿主支持的方式安装修复包。宿主未提供安装接口时需先升级DSH。详见 v1.8.2 更新说明。
- 渠道配置、历史记录和画廊数据保存在 DSH 宿主侧,正常升级不会清空。
核心功能
| 能力 | 用途 |
|---|---|
| 无限画布 | 把提示词、参考图和生成节点连成可迭代的创作流程。 |
| 提示词反推 | 上传或选一张图,反推一段可直接生图的提示词,一键填回生图框。 |
| 电商套图 | 从商品参考图生成主图、卖点图、场景图等成套素材。 |
| 文生图 / 图生图 | 使用兼容的生图渠道生成、编辑并比较图片。 |
| 对话与 Agent | 在 DSH 对话中生成图片、继续编辑,并把结果带回会话。 |
| 画廊与历史 | 管理创作结果、模板与标签;在不同设备上接续创作。 |
把文字、图片和生成配置连起来;从历史或画廊加入素材,再继续生成和迭代。
- 支持图片、文本、生成配置和文件节点;图片节点可标注、移除背景或拆分图层。
- 单个文件最大 50MB;可在画布内预览常见文档、表格、PDF、图片与音视频。
- 生图结果可右键选择「复制图片」,也可通过结果或放大预览中的按钮复制;剪贴板不可用时会提示,图片仍可下载。
- 顶部「隐藏图片」或
Alt+Shift+H可暂时遮住工作室图片预览,再次操作恢复;该功能不会隐藏 DSH 原生对话中的图片,也不会删除文件或清空剪贴板。 - 内置文本润色、图片描述、内容抽取和提示词反推等技能。反推会把图里的镜头、光线、材质、配色和风格写成可直接生图的具体提示词,而不是「高清 8K」这类空词。
- 也可安装和管理外部技能。重任务技能会启动具有本机文件读写与命令执行能力的无头 Agent;运行前请检查技能来源和权限。
- 技能配置格式与安全边界见
docs/skill-config.md。
从商品主体和可选风格参考出发,先预览套图计划、逐张调整提示词,再批量生成;主图可作为其他用途图片的一致性参考。
输入提示词即可生成,也可上传参考图进行编辑;支持多张结果、比例与清晰度设置、任务队列、历史恢复和全屏预览。
生成完成后,结果图片右下角常驻显示「耗时 X分Y秒」。多模型对比按每个任务分别计时;历史恢复及加入素材库后仍保留耗时。计时覆盖生成与结果下载,不包含排队和历史保存时间;旧记录与本地上传图片没有计时数据时不显示。
GPT Image 2 及以上版本会按「比例 + 清晰度」发送实际像素尺寸,例如 16:9 的 2K 为 2560×1440、4K 为 3840×2160;方图 4K 受总像素上限约束,为 2880×2880。1K 与自动档沿用原行为;比例选「自动」时由上游决定尺寸。超过 2K 的输出为上游实验能力,最终支持情况取决于所用渠道。
图生图参考图支持多选上传、拖放、Ctrl/Cmd+V 和「粘贴图片」按钮;清空参考图会取消尚未完成的粘贴。「清空提示词」只清除文字,保留参考图与生成参数。
提示词框右下角是放大按钮:点开后是全窗口编辑器,长提示词可以整段查看和修改,字数、增强、清空都在编辑器里可用,改动实时同步回面板(文生图与图生图共用)。
生成参数会自动记住:模型与渠道、尺寸、清晰度、生成数量、细节和多模型对比选择在下次打开时沿用。在历史记录里点选一次生成,会把当次的提示词、模式和全部参数一起载入,点「开始生成」即可复现;多模型对比记录会连对比模型一起恢复。历史里只有当前载入的那一条会高亮,对比记录用左侧色条区分。
在 DSH 对话里可让 Agent 调用生图;用 /edit_image 描述修改内容,也可从工作台或画廊把图片加入当前会话继续编辑。
多模型对比
同一提示词可提交给多个模型并列查看结果,便于快速挑选风格与质量。
每张结果卡片提供「重新生成」,失败或取消后提供「重试」:只重做该卡片,位置不变,其他结果保留。重新生成使用原任务的渠道、模型、提示词、参考图与遮罩,不会误用后来修改的输入框内容。「追加模型」沿用这组任务的输入和参数,在当前结果区继续加入新卡片。对比顺序与左侧渠道 / 模型目录一致,卡片显示渠道、模型、实际图片像素和耗时。
文生图与图生图分别保留自己的结果和失败卡片;同一浏览器标签页内切换工作区、刷新或宿主替换面板后可恢复任务视图。浏览器只保存任务标识与状态,参考图和遮罩不会写入浏览器存储。DSH 宿主重启后,已结束的内存任务可能失效,此时会显示失效提示;已生成图片仍可从历史记录打开。
遮罩局部编辑
图生图参考图下方、无限画布图片节点工具栏提供「遮罩编辑」。使用画笔涂抹需要修改的区域,可调节笔刷大小、擦除、撤销和清空。普通图生图应用遮罩后填写修改要求并生成;画布应用遮罩后会直接打开该图片的生成输入框,也可以把它连接到配置节点再生成。
遮罩按原始图片像素导出透明 PNG,并发送给支持原生遮罩的 OpenAI 兼容 images/edits API(例如支持该字段的 GPT Image 渠道)。不支持遮罩的原生模型协议、Chat Completions 与订阅渠道会明确报错,不会悄悄忽略遮罩。画布会把生成结果按遮罩合成回原图,保留遮罩外像素;普通图生图的修改范围取决于上游模型实现。
提示词模板库内置精选案例、沧河、手绘、Prompt/Signal 与 GPT Image 2 五个来源,可搜索、筛选、收藏并直接带入生图。生成结果可在画廊中用标签和收藏继续整理。
可编辑海报:文字与 Logo
在无限画布的图片工具栏或右键菜单选择 「海报编辑:文字 / Logo」,即可叠加可编辑标题、价格和品牌 Logo。支持多行文字、自动换行、字体类别、字号、颜色、对齐、Logo 等比缩放、拖动定位、图层顺序及撤销重做。
- 保存到画布:生成新图片节点并保存可编辑图层,原图保持原样;再次打开新节点可继续编辑。请等待画布保存完成再关闭页面。
- 导出 PNG:下载与预览一致的合成图;PNG 本身不保存可编辑工程。
- 合成过程在本地完成,不调用模型;底图已有文字不会自动移除。最长边上限 4096 像素。
模型配置
在「设置 → 生图配置」添加渠道,填写 API 地址与密钥,检测并选择生图模型。可配置多个提供方,并设置默认生图模型和可选的提示词增强聊天模型。
支持 OpenAI 兼容的 Images API / Chat Completions,以及 xAI Grok、Google Nano Banana、Seedream、Qwen-Image、GLM-Image、MiniMax 等预置渠道;也可手动添加兼容模型。
- 通用渠道默认自动判断 Images API 与 Chat Completions;也可在设置中手动指定。
- One-API、New API、LiteLLM 等只暴露
/chat/completions的网关,可填写完整接口地址并选择对应模型。 - API 密钥保存在 DSH 宿主设置中;未被自动识别的兼容模型可手动添加。
- 不同服务商的图生图、尺寸与返回格式可能不同,请确认所选模型实际支持的能力。
- Seedream 与 SenseNova U 系列支持渠道水印开关,按模型能力发送
watermark: false(包括兼容中转渠道),其他模型不发送该扩展字段。SenseNova 还支持「上游自动优化提示词」开关,关闭时发送prompt_extend: false;图生图按官方 JSONimages: [{ image_url }]协议发送。
可信远程 WebUI
默认情况下,远程浏览器只能查看经脱敏的设置,不能管理渠道或使用生图接口。管理员可在运行 DSH 的 profile 的 cordis.patch.yml 中添加顶层覆盖,然后重启 DSH:
- id: imagegen
config:
remoteAccess: trusted-host
同时必须通过 DSH 的 --trusted-host <你的域名>(或 Connection 的 trustedHosts 配置)信任访问域名,并使用有效的 DSH 浏览器认证。--public-url 本身不授予信任。此开关只由宿主 profile 配置决定,不能通过远程设置接口修改。
- 远程请求由官方 Connection 的
admit()执行 Host、Origin、Sec-Fetch-Site 和浏览器凭证验证;仅当前宿主的浏览器 owner Peer 可管理。API Peer 不获得同等权限。 - 反向代理应保留真实的 Host、Origin 和认证 Cookie,不要改写成 localhost,也不要清除 Origin 来规避校验。HTTPS 反向代理到本地 HTTP 端口可以正常使用。
- 缺少所需 Connection 认证接口的旧宿主会拒绝远程访问,不会静默降级为无认证模式。
- 开启远程管理会向受信任浏览器开放整个生图工作台,包括配置密钥、生成、上传、技能运行和插件更新等能力;请只授权可信用户,保留反向代理认证。
- 这是源码级功能;如使用自行维护的修复版,升级到未包含此功能的上游版本会失去它,应通过审查后的版本化构建维护,而非修改安装目录里的 JS。
数据与安全
- API 请求经 DSH 宿主转发;密钥保存在本机设置中,不直接暴露给浏览器。
- 历史、画廊、画布和图片保存在 DSH 数据目录
~/.dsh/dsh-imagegen/,由你控制。 - 生图与图生图会把提示词或参考图发送给所配置的上游服务;请按服务商政策处理敏感内容。
- 内置轻量技能会把所选内容发送给配置的聊天模型(提示词反推会把图片发给它)。反推结果和可编辑程度都需人工检查。
- 外部重任务技能可能读写本机文件并执行命令;运行前请确认技能可信、输入内容可共享。
- 生图会消耗上游 API 额度;请人工检查生成结果。不要把 API 密钥贴到 Issue、日志或截图中。
QQ 交流群与支持
欢迎加入 QQ 群,一起交流 DSH、AI 生图与插件使用,也欢迎分享提示词、工作流和改进建议。
- Bug 报告 · 功能建议
- 查看所有 Issues · GitHub Releases
- 如果这个插件对你有帮助,欢迎给项目点个 Star。
pnpm run typecheck
pnpm run build
pnpm run watch
node scripts/smoke.mjs
冒烟测试会把数据根目录重定向到临时目录,不会写入你的 ~/.dsh/dsh-imagegen。
本地打包并安装到 DSH 验收:
pnpm pack --pack-destination .
dsh plugin --profile web add ./dickpy-dsh-imagegen-<版本>.tgz
许可证
内置模板所引用的第三方项目与许可见 THIRD_PARTY_NOTICES.md。
提示词反推
看到一张想复用的图(自己的生成结果、画廊里的收藏、网上的参考图),点「反推提示词」,让它把这张图翻译成一段可以直接生图的提示词。
- 写具体的东西:镜头与景别(如 85mm 定焦、f/1.8、浅景深)、光线方向与质感、材质与配色、媒介与风格,而不是「高清、8K、杰作」这类堆砌。
- 图上文字照抄:海报、封面、界面截图里的文字会原样抄进提示词并说明位置;不编造品牌与作者。
- 三档长度:精简 / 标准 / 详尽;三种语言:跟随界面 / 中文 / English。
- 可加要求:例如「只保留风格与配色,主体换成猫」,反推会照做。
- 结果可一键「填入提示词」继续生成,也可以复制走。
入口:图生图参考图区和配置列底部固定操作栏的「反推提示词」:上传或粘贴后点击一次,自动反推并填入提示词,多图时可明确选择反推对象,无需先生成图片。模板库、素材库和生成入口也集中在底部,使用统一按钮样式。仍保留生图结果卡片、多模型对比卡片、放大预览里的「反推提示词」;无限画布上任意图片节点的右键菜单 → 技能 → 提示词反推(会生成一个文本节点)。需要一个能读图的聊天模型(在「提示词增强」里配置,与图片描述共用)。
图片转可编辑 PPT 已从界面移除:它依赖外部 skill 与视觉模型,实测还原质量不足以默认展示。宿主接口仍然保留,需要时用设置里的
pptModeEnabled重新开启。
Links
More in this category
liustack/modlens★ 4961
Vision bridge for text-only models: paste an image, get structured JSON evidence (OCR, layout, semantics).
ysr666/dsh-vision-router★ 1268
Free vision for text-only agents: built-in keyless vision chain plus pixel tools (Q&A, grounding, crop, pixel diff, colors, OCR, SVG trace, cutout, screenshots); paste an image to use it.
Anionex/dsh-vision-toolkit★ 945
Vision for text-only models: paste an image and the model switches to a Vision Toolkit variant for image Q&A, multi-image comparison, long-screenshot OCR, screenshot-to-UI reproduction, element grounding, and pixel diff. No API key by default — images are processed by the author-hosted free service, 100 per machine per day; configurable to your own provider.
SAOS-3624/dsh-see-now★ 630
Lets a text-only agent watch a live screen or camera feed: every frame is scored by how much the picture changed, only the ones that matter are packed into one numbered sheet with an audio envelope, so the model looks at what actually changed instead of a screenshot every few seconds.
SAOS-3624/dsh-video-storyboard★ 536
Turns a video (a local file, or a Bilibili/yt-dlp link) into one addressable storyboard grid — numbered cells with exact timestamps, per-cell transcript and an audio envelope on the same timeline — and video_zoom re-reads any window at higher resolution, so a text-only model can look at the video instead of reading a summary.
fandc520/dsh-comfyui★ 186
Drive a local or remote ComfyUI server from DeepSeek Harness: comfyui_run / comfyui_object_info / comfyui_workflow tools generate and edit images and videos, with a workflow library (graph extraction: per component / main flow / all), a load area with resolution auto-match, a live queue, SDXL and Wan 2.1 templates, a companion skill, and a same-origin media proxy.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.