它是什么,以及运行它需要什么
dsh-imagegen 是一个直接长在 DeepSeek Harness Web GUI 里的 AI 生图工作台,而不是挂在它旁边的一个外部工具。它在 npm 上叫 @dickpy/dsh-imagegen,版本 1.5.12,许可证为 Apache-2.0,仓库位于 github.com/dickpy/dsh-imagegen。发布包里包含编译后的 lib/、src/、cordis.patch.yml、docs/ 与 README.md。
包清单负责告诉 Harness 装什么。dsh.bundle.patch 指向 ./cordis.patch.yml;dsh.client 声明 platform: web,并注入 8 个 DSH 客户端包——store、api-remotes、api-session-controller、client-connection、ui-conversation、ui-renderer、ui-settings 与 ui-tool。运行时依赖只有两个:lucide-react 与 schemastery。两份来源描述的都是一个 Web GUI 插件,没有提到任何 CLI、TUI 或纯无头形态。
有一个命名细节值得先记住:设置页把插件显示为 VisioWork(dsh-imagegen),而 README 中另有一处把同一区域称作「设置 → 插件 → AI 生图」。你要找的是这些标签,不是 npm 上的包名。
运行门槛很低。README 列出的前置条件只有两条:已安装 DeepSeek Harness,以及 Node.js 20+。这个 Node 版本号只出自 README——package.json 里完全没有 engines 字段。两份来源都没有给出最低 Harness 版本。安装走 Harness 自带的插件添加命令,针对 web profile 执行,装完必须重启 dsh web;README 提到 Windows 上如果遇到 PowerShell 脚本策略限制,需要用 dsh.cmd。除此之外,你还需要让宿主机能对外访问你所配置的提供方,并为默认落在 ~/.dsh/dsh-imagegen 的数据目录准备本地磁盘空间。
它能做什么
同一个插件里有好几个界面:
- 三栏工作台,紧挨着普通会话——历史记录 | 生图区 | AI 对话。它覆盖一句提示词起步的文生图和上传参考图的图生图,提供 9 档比例(1:1 至 21:9)、4 档清晰度(自动 / 1K / 2K / 4K)、一次 1–4 张,以及细节等级透传。任务由宿主进程排队执行,可从任务托盘取消、失败后一键重试,不会卡住面板,也不打断对话。
- 无限画布,把生图变成节点图:文本、图片与生成配置节点之间拖动圆点即可连线。配置节点会显示「已连接 N 个输入节点」,把连进来的文本当提示词、图片当参考图(第一张即图生图底图)。图片节点工具包括标注(在图上拖框并挂一张提示词卡片;生成时把框与坐标烧进参考图,成品则与干净原图合成,所以红框不会出现在结果里,框外区域保证与原图一致)、移除背景(本地抠图产出透明 PNG,README 称不消耗额度)、图层拆分(调用视觉聊天模型把图拆成背景 / 元素 / 文字图层节点),以及为单个节点指定模型。画布还包含 13 种背景、小地图、撤销重做、多选、复制粘贴与副本,以及多窗口同时编辑时的保存冲突重试合并。画布按项目保存在
~/.dsh/dsh-imagegen/canvas,旧版本画布数据会自动迁移。 - 文件节点,可放任意文件,单文件上限 50MB,宿主按内容寻址(sha256)落盘,浏览器侧与宿主侧各有预览与拒绝规则,详见下文限制。
- 电商模式,把一张商品图扩展成一整套视觉:主图、卖点图、场景图、细节图、规格图、使用图按你要的组合启用,先生成主图再以其为锚生成其余图片以保持同一商品,内置 9 种文案语言并支持自定义语言与地区写法,可按用途单独指定参考图,可导出 JSON 清单,套图在历史记录中按项目折叠、跨会话可恢复。README 明确标注该模式为预览功能,入口带「预览」角标。
- 画廊与模板库:画廊中的图片可以直接加入当前对话,再用
/edit_image继续修改;插件内置两个来源共 980 余条gpt-image-2提示词案例(vibeui.top 镜像与 gpt-image2.canghe.ai),每条包含参考图、作者署名与原链。 - 给 Agent 用的工具,前提是「允许 Agent 调用生图」开着(默认开启):
generate_image、edit_image、get_image_generation_task、cancel_image_generation_task。配置了多个生图模型时,Agent 会先问你想用哪个,而不是擅自选择;地址、密钥或模型没配好时,它会把你引导到设置页,而不是静默失败。提示词增强(把一句短语交给对话模型扩写成完整提示词)是可选的,通常可以复用生图 API 凭据。
图片提供方:哪些能用,你必须自备什么
这是安装前最该读的一段,因为插件本身不含任何图像模型,也不含任何 API 密钥。两份来源描述的都是一个连接「你自己配置的提供方」的客户端,从未提到内置密钥、试用额度、免费套餐或内置权重。每一张生成的图,都由你自己拥有并付费的上游账号产出。
提供方在 DSH 设置 → 插件 → VisioWork(dsh-imagegen) 中配置。每个提供方有独立的 API 地址、密钥与模型目录,可以同时配置多个。按 README 的配置表,需要你提供的是:
- 提供方——选一个预置渠道,或添加自定义渠道。
- API 地址——OpenAI 兼容接口根地址,例如
https://api.openai.com/v1;图像接口路径由插件自动追加。 - API 密钥——每个提供方单独配置;只保存在 DSH 宿主侧,README 称浏览器与 Agent 都拿不到明文。
- 模型目录——保存地址与密钥后点「检测可用模型」,插件会过滤掉聊天、Embedding 等非图片模型;没有
/models的网关可以手动添加并设置别名。 - 提示词增强模型——可选,需要支持
/chat/completions,通常可复用生图凭据;电商模式的「AI 帮写」也用它。 - 本地图片存储目录——可选,指定历史记录、素材库与画布图片的根目录;留空则使用
~/.dsh/dsh-imagegen。 - 允许 Agent 调用生图——默认开启。
README 点名的预置渠道有 OpenAI、智谱(GLM)、xAI、字节火山方舟(Seedream)、阿里云百炼(Qwen-Image)与 MiniMax(image-01)。预置的作用是填好地址与模型目录,并不能替你把密钥也准备好。
实际支持的协议比「OpenAI 兼容」这四个字更宽:
- OpenAI 兼容网关:走
/images/generations与/images/edits,接受{ data: [{ b64_json | url }] }形式的响应。 - 异步两步式网关(README 点名 apimart.ai、apib.ai):当
/images/generations返回{ data: [{ status, task_id }] }时,插件会以指数退避轮询GET /v1/tasks/{task_id},最长 240 秒,识别 submitted / pending / processing 与 completed / succeeded,上游失败原因原样透传,取消任务会同步中断轮询。 - Grok Imagine:
grok-imagine-image与grok-imagine-image-2.0,地址https://api.x.ai/v1,图生图走其 JSONimage_url协议,比例与清晰度映射为aspect_ratio与resolution。 - Nano Banana(谷歌 Gemini 图像系列):
nanobanana2、nanobanana2-lite、nanobanana-pro,也识别官方gemini-3.x-image*ID,清晰度映射为image_size(1K/2K/4K)。 - Seedream:
seedream-5.0-pro,也识别seedream-4.x与doubao-seedream-…;文生图与图生图统一走/images/generations,参考图以 JSONimage数组发送。 - Qwen-Image:阿里云百炼,使用 DashScope 原生
multimodal-generation接口https://dashscope.aliyuncs.com/api/v1。README 明确写着这个渠道不是 OpenAI 兼容接口,且不能复用于提示词增强。 - MiniMax image-01:原生
/image_generation接口https://api.minimax.io/v1(国内站https://api.minimaxi.com/v1),同样明确不是 OpenAI 兼容。比例支持 1:1 / 16:9 / 4:3 / 3:2 / 2:3 / 3:4 / 9:16 / 21:9,一次最多 9 张;图生图以单张参考图作为subject_reference发送——README 称它是主体一致性参考而非像素级编辑,适合「同一人物换场景」,不适合局部修图。MiniMax 的/models只列出聊天模型,请直接使用预填的模型目录。 - 智谱 GLM-Image:
glm-image,质量参数映射为hd,当前不支持图生图,选择编辑模型时会被自动排除。
未被识别的 OpenAI 兼容图片模型可以手动加入,按通用协议尝试调用。README 补充说,厂商专属鉴权或请求协议「需要单独适配」,也就是说它们不在开箱支持范围内。模型检测读取上游返回的能力字段并结合命名启发式(image / flux / seedream / nanobanana / kolors…),但 README 仍然建议只勾选你的上游实际支持生图的模型。
生成流程是怎样的,以及「共享历史」具体指什么
在工作台里,一次生成是:输入提示词——或者上传 / 拖入不超过 10MB 的参考图,或者从结果卡、全屏预览、历史记录、画廊一键转为参考图——选模型、比例、清晰度与 1–4 张,提交给宿主队列,然后在任务托盘里看进度。结果可在全屏预览中查看,支持 0.5–3x 缩放、方向键翻页、复制提示词、下载、「加入对话」与「加入画廊」。
历史记录保留提示词、模型与参数,最近 50 条,可按关键词、模型、比例筛选,点一下即可恢复参数。继续修改有两条路,都不需要重新上传图片:直接对 Agent 说(走对话模型调用 edit_image,因此能理解模糊意图),或者输入 /edit_image …(直接调用插件配置的图片模型,所以在对话模型不支持图片输入时同样可用)。配置了多个模型时,「多模型并列对比」会用相同参数在同一队列上并行提交给所选模型并排展示,这些历史记录会自动折叠成一组。
「共享历史」这个词需要精确理解。README 说渠道配置、历史记录与画廊数据都由 DSH 宿主保存,所以正常升级不会清空;画廊收藏「跨同一宿主的浏览器 / 设备可见」,相同图片内容按哈希去重。这是宿主本地的共享:多个指向同一台 DSH 宿主的浏览器或设备看到同一份资产。两份来源都没有描述任何账号、云同步或跨宿主共享,所以不要把「共享」读成云端的作品库。
图片存在哪里、被发送给谁、要花什么钱
存储。 历史、画廊与图片数据都放在宿主数据目录下,默认 ~/.dsh/dsh-imagegen/,画布在 ~/.dsh/dsh-imagegen/canvas,重任务画布技能的运行目录默认在 canvas/runs 子目录。图片存储根目录可以在设置里改;README 说修改后新图片写入新目录,已有数据不会被删除。要注意这是宿主的数据目录,不是 Agent 的工作区——如果你默认「生成的图会落在项目目录里」,这里就对不上。画布文件节点上传的文件(每个 ≤50MB)也按内容寻址存在同一个数据目录。
保留期限。 两份来源都没有说明保留期限、过期、自动清理,也没有给出该目录的体积上限;对于 50 条历史窗口滚动时会发生什么,同样没有说明。不要对「会自动删除」做任何假设;插件给出的说法是数据「由你控制」。
谁会收到数据。 图像与聊天请求都由 DSH 宿主进程代发:浏览器不直接连接上游,所以没有 CORS 问题、密钥也不出现在前端;宿主路由只监听本机回环地址并校验同源请求。密钥保存在本机 DSH 设置里,设置页只展示「已配置」状态。
再往上,提示词与图片就交给了第三方:你所配置的那个提供方渠道(例如 OpenAI、智谱、xAI、火山方舟、阿里云百炼、MiniMax,或自定义网关),图片是在那里生成的。图生图会把参考图发送到当前渠道的上游 API,README 提醒你确认该服务商的数据处理政策,并且不要上传敏感图片。此外还有三条对外路径:模板库的展示图经宿主同源代理从 vibeui.top 镜像与 gpt-image2.canghe.ai 拉取并缓存,宿主每 12 小时自动同步一次;画布技能会把所选节点的内容(文本、图片或文件)发送给「提示词增强」所配置的聊天模型;重任务技能会启动一个拥有本机文件读写与命令执行能力的无头 Agent,并把你所选技能的正文注入它的上下文。README 还提到面板打开时会自动检测新版本并支持在线更新,但没有说明它检查的是哪个地址。两份来源都没有提到遥测、分析或账号体系——但也没有否认它们的存在。
成本。 插件本身没有标价。来源里关于钱的说法是:生图「生图会消耗上游 API 额度」,也就是消耗你在上游账号里的额度,钱付给那个提供方。README 没有给出任何费率、额度量或免费额度,也从未声称任何提供方是免费的。有两处被明确标注为不花额度:本地移除背景(「不消耗额度」)和先出套图预览再确认批量提交(「不浪费额度」)。电商模式的额度消耗与普通生成一致,重任务画布技能会在确认框里给出成本提示。提示词增强与重任务技能则会消耗所配置聊天模型的用量。
已知限制与它明确不做的事
以下都直接来自来源:
- 电商模式是预览功能——README 原文为「电商模式目前为预览功能,入口带有『预览』角标」;它照样走已配置的渠道与队列,照样消耗额度。
- GLM-Image 不支持图生图——「当前不支持图生图」。
- MiniMax 的图生图不是局部修图——参考图是主体一致性输入:「适合「同一人物换场景」,不适合局部修图」。
- Qwen 的 DashScope 渠道不能用于提示词增强——「该渠道不能复用于提示词增强」;MiniMax 也不行,且它的
/models只返回聊天模型。 - 厂商专属协议不是通用的——未被识别的 OpenAI 兼容模型可以手动加,但「厂商专属鉴权或请求协议需要单独适配」。
- 模型检测是启发式的——它读能力字段与命名规律,README 仍然要求你只勾选上游真正支持生图的模型。
- 超时都有上限:异步网关轮询最长 240 秒,
generate_image工具等待上限 300 秒,超时自动取消。 - 体积与数量限制:文件节点 50MB;技能 zip 上传 50MB;图生图参考图 10MB;文本 / 代码 / JSON / YAML / XML 预览 12 万字符;CSV / TSV / XLSX 预览 300 行 × 40 列;ZIP 目录列出最多 400 项;画布技能批量一次最多 12 个输入节点;历史记录保留 50 条。
- 脚本与可执行扩展名会被拒绝——
.exe / .bat / .ps1 / .js / .html / .svg等在浏览器与宿主两侧都被拒绝;可预览类型之外的一律以application/octet-stream+attachment返回,HTML / SVG 一类的标记永远不会被内联渲染。 - PDF 抽取依赖 FlateDecode 文本流——扫描件需要配合单独的 OCR 技能。
- 结果不被审查——「图片内容由上游模型生成,可能出现不准确、不适宜或不符合预期的结果,请在使用前人工检查」。插件没有声明自己的内容过滤、审核政策或复核流程;它给出的提醒是:自己检查结果,并确认提供方的数据政策。
- PPT 技能不随插件提供——
image-to-editable-ppt是需要你自行安装的长任务技能,这类第三方技能自己管理凭证(OCR Token、图片后端等),本插件不读取也不上传它们。 - 没说明的就是没说明:没有
engines字段、没有 Harness 版本下限、没有保留策略、除 Windowsdsh.cmd提示外没有操作系统支持说明,也没有遥测相关的表态。
什么时候用它、什么时候不要用
如果你已经有一个生图提供方账号,并且希望生成、修改、迭代与素材管理都发生在同一个 DSH 窗口里,那就适合用它。宿主侧队列意味着长任务不会冻住界面,/edit_image 这条路确实省掉了每一轮重新上传图片的麻烦。节点画布与画廊让它不只是图像 API 的薄封装,而那个 README 说不消耗额度的本地抠图,单独拿来看也有价值。
但如果你脑中的假设是下面任何一条,就不要用它:
- 想要离线或纯本地生成——这是错的工具。插件不含任何模型,每一张图都由你配置的远端提供方产出。
- 没有 API 密钥——装完你得到的是一个空的、待配置的工作台,而不是可用的生成器。Agent 的设计就是把你引导到设置页,而不是自己编出一个后备方案。
- 需要对保留期限或数据落地区域有明确承诺——来源给不出。目录由你控制,但没有任何删除承诺。
- 需要经由 MiniMax 做像素级局部修图,或经由 GLM-Image 做图生图——来源明确排除了这两种用法。
- 不在 web profile 上——这里描述的任何东西都不适用。如果你需要锁定版本,README 给出的是固定包版本或使用 Release 的 tgz,因为面板自身也会检测新版本并提示更新。
FAQ
插件自带图像模型、免费额度或 API 密钥吗?
不带。两份来源都没有提到内置密钥、试用额度、免费套餐或内置权重。预置渠道填的是接口地址与模型目录,密钥始终是你自己的、按提供方分别配置;README 明确说生图会消耗上游 API 额度。两份来源都没有说过任何提供方是免费的。
我的生成历史会同步到云端账号吗?
没有描述任何云端账号。渠道配置、历史记录与画廊数据由 DSH 宿主保存,画廊收藏被描述为在同一宿主上跨浏览器 / 设备可见。跨宿主或基于账号的同步,来源里没有提到。
生成的图片会保留多久,我能限制占用吗?
存储位置可配置:默认根目录是 ~/.dsh/dsh-imagegen,修改后新图片写入新目录,已有数据不会被删除。保留期限、过期、自动清理与体积上限,两份来源都没有说明。
我的提示词与参考图会被发到哪里?
发到你所配置的那个提供方渠道,因为请求由 DSH 宿主代理到该上游 API;图生图会把参考图一并送出。README 提醒你确认该服务商的数据处理政策,并且不要上传敏感图片。模板库还会经宿主同源代理访问两个第三方提示词站点。
能对接任意 OpenAI 兼容端点吗?
大体可以。/images/generations、/images/edits 以及常见的响应结构都支持,异步两步式网关还会自动轮询。但有两个内置渠道明确不是 OpenAI 兼容——阿里云百炼的 DashScope 接口与 MiniMax 的原生图像接口;README 还说明厂商专属鉴权或请求协议需要单独适配。

