面向 DSH Web GUI 的 AI 生图插件:通过可配置的 OpenAI 兼容端点(gpt-image-2 / gpt-image-1 / dall-e-3)实现文生图与图生图,提供 api_url/api_key 设置卡片与侧边栏分栏生图工作台。
安装
# npm 包(预构建)
dsh plugin --profile web add @dickpy/dsh-imagegen
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:dickpy/dsh-imagegen
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
快速开始
需要已安装 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重新开启。
链接
同类插件
liustack/modlens★ 4961
为纯文本模型架起视觉桥梁:粘贴图片,输出结构化 JSON 证据(OCR、版面、语义)。
ysr666/dsh-vision-router★ 1268
为纯文本 Agent 提供视觉能力:内置免 Key 视觉链 + 像素级视觉工具(看图问答、定位、裁剪、像素对比、取色、OCR、矢量化、抠图、截图);粘贴图片即可用。
Anionex/dsh-vision-toolkit★ 945
让纯文本模型处理视觉任务:粘贴图片后自动切换到 Vision Toolkit 变体,支持图片问答、多图比较、长截图 OCR、截图还原前端 UI、元素定位与像素对比。默认无需 API Key——图片经作者自建的免费服务处理,每台机器每天 100 张;也可改为指向自己的服务商。
SAOS-3624/dsh-see-now★ 630
让只有文字的智能体「看」实时屏幕或摄像头:每帧按画面变化量打分,只把真正变了的帧拼成一张带编号、带音轨条的宫格图——看视频、看演示、看游戏都行,token 只花在变了的地方。
SAOS-3624/dsh-video-storyboard★ 536
把视频(本地文件,或 B 站 / yt-dlp 链接)压成一张可寻址的宫格图:每格烧编号、对应精确时间、挂台词,底部还有同时间轴的音频包络;video_zoom 可对任意窗口高清重看——纯文本模型因此能「看」视频,而不是读别人写的摘要。
fandc520/dsh-comfyui★ 186
让 DeepSeek Harness 的 Agent 直接驱动本地或远程 ComfyUI:comfyui_run / comfyui_object_info / comfyui_workflow 工具生成与编辑图像、视频,附带工作流库(图工作流提取:按分量 / 主流程 / 整体)、加载区分辨率自动匹配、实时队列、SDXL 与 Wan 2.1 模板、配套 skill 与同源媒体代理。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。