dsh-image-create:本地 Stable Diffusion 生图插件

前言

DeepSeek Harness(DSH)以「一切皆插件」为理念,把本机能力接进对话时,最常见的一个问题是:如何在不上传任何内容的前提下,安全地完成图片生成,并在违规场景下可控地回退到本地执行。现有的 dsh-sd-bridge-guard 插件已经提供了基础工具链,但在 C 档本地注入场景下,缺少底图入口、多选、质检等实用功能,导致实际使用时需要不少手工补丁。xingqikong/dsh-image-create 是对该上游仓库的 fork,修复了这些问题,并补齐「图生图」和「脸/手质检」的完整链路。

这是什么

dsh-image-create 是一个 DSH 插件,运行在本地 Windows 环境中,负责把 Stable Diffusion WebUI(A1111)的能力接入 DSH。它提供八件套工具(sd_txt2img、sd_img2img、sd_inpaint、sd_script、sd_script_b、sd_models、sd_server、sd_inject)和一个 sd-paint 技能,内置提示词规范与违规分流协议。

插件按场景分为两类:

  • A 档:不涉及违规内容的需求,直接在对话中调用工具生成图片,按 sd-paint 规范写提示词、输出可复现脚本,并在出图后自检。
  • C 档:涉及任何违规内容时,插件不会生成任何图片,只生成本地 sd-inject.ps1 的注入命令。用户在本地弹出的参数表单中填写参数并执行,从而将敏感操作留在本地。

插件还附带一个 C 档参数表单和一个脸/手质检流水线,利用本地 Ollama + 视觉模型对生成结果进行结构评分。

核心功能

  • 八件套工具:支持文生图、图生图、蒙版重绘、脚本调用、模型管理、服务管理等。
  • sd-paint 技能:内置提示词规范与 A/C 档分流协议,在对话中按规范写提示词、自动分流。
  • C 档参数表单:提供正向/负向提示词、迭代次数、Denoising、比例、画风、画质、LoRA、模型、命名、底图、多选等字段。
  • 用自己的图做图生图:通过表单「底图:浏览…」或 -InitImage 参数指定底图,自动匹配比例与画质,Denoising 自动抬到 0.55。
  • 脸/手质检:本地 Ollama 视觉模型对每张图进行结构打分(0-100 分),≥75 分通过,否则换 seed 重试,取最高分那张。
  • 多选模式:出满 N 张后弹出列表供勾选保留(-PickAll),默认只保留最高分那张。
  • 跨机器适配:自动探测 SD 目录、自动拉起 SD/Ollama、产物目录自动落到会话工作区。

环境要求

  • 操作系统:Windows 10 / 11
  • PowerShell:5.1(Windows 自带)
  • Stable Diffusion 后端:Stable Diffusion WebUI(A1111),API 端口默认 7860;没有可运行 install-sd.ps1 一键安装
  • 质检(可选):Ollama + 视觉模型,推荐 qwen3-vl:4b(8G 显存可用);不装质检也能出图,只是不进行质检

显存参考:8 GB 显卡上,SD 常驻约 2.4 GB,4b 视觉模型约 3.3 GB,两者同时驻留会互相挤显存,出图速度明显变慢(同一张图从 10 秒降至 3 分钟)。

安装与启用

DSH 从 ~/.dsh/profiles/desktop/node_modules 加载插件。同一个工具名不能注册两次,因此安装前需备份或移除原插件:

$dir = "$env:USERPROFILE\.dsh\profiles\desktop\node_modules"

# 1) 备份原插件(如果存在)
if (Test-Path "$dir\dsh-sd-bridge-guard") {
  Move-Item "$dir\dsh-sd-bridge-guard" "$dir\dsh-sd-bridge-guard.bak" -Force
}

# 2) 克隆本仓库(目录名保持与包名一致)
git clone https://github.com/xingqikong/dsh-image-create "$dir\dsh-sd-bridge-guard"

安装完成后重启 DSH(或重载插件)。插件自带 cordis.patch.yml,sd_txt2img 等 8 个工具和 sd-paint 技能会自动注册。

如果不作为插件使用,也可以只使用脚本文件。把以下三个文件放在同一个目录即可:

sd-inject.ps1      # C 档本地注入(表单 + 图生图 + 质检)
sd-direct.ps1      # 单次出图(txt2img / img2img / inpaint / 蒙版重绘)
install-ollama.ps1 # 一键装 Ollama + 视觉模型(可选)

典型用法

用自己的图做图生图(C 档)

在脚本所在目录下执行:

cd <脚本所在目录>
.\sd-inject.ps1 -InitImage "D:\我的图.png"

或者在弹出的表单中点击最下方的「底图:浏览…」选择图片。两条命令等价。

执行后控制台会出现类似以下内容,表明底图已被读取:

本次用你准备的底图:D:\我的图.png
表单已确认:迭代 3 次 | Denoising 0.55(图生图) | 比例 2:3 | 画质 1024p | … | 底图 你的底图
最终出图走图生图:底图 = 你准备的图,denoising = 0.55

脚本会自动完成以下操作:

  1. 跳过素体自检迭代(底图已由用户指定)。
  2. 按底图自动匹配比例与画质。
  3. 若 Denoising 为 0(文生图模式),自动抬到 0.55 以避免底图白给。
  4. 不再强行追加 full body,构图由底图决定。

多选模式

如果需要出满 N 张后手动挑选,可以启用多选:

.\sd-inject.ps1 -InitImage "D:\a.png" -PickAll

或在表单中勾选「多选」。

质检模型调整

如果显存更大,可以使用 8b 模型:

.\install-ollama.ps1 -Model qwen3-vl:8b

单次出图(不使用表单)

.\sd-direct.ps1 -Mode txt2img -Steps 24 -Seed -1

命令行参数(sd-inject.ps1)

参数 默认值 说明
-InitImage 空 自定义底图路径(图生图)
-PickAll 关 多选模式:出满后弹出列表供勾选保留
-NoIterate 关 跳过素体自检迭代
-IterateRounds 3 素体迭代轮数上限
-VlmModel qwen3-vl:4b 质检用的视觉模型(留空则自动挑本机 vl/vision 模型)
-QwenBase http://127.0.0.1:11434/v1 质检接口(Ollama OpenAI 兼容端点)
-BasePrompt / -BaseNegative 素体基底 表单预填内容
-Width / -Height / -Steps / -Cfg / -Sampler / -Seed 512 / 768 / 24 / 7 / DPM++ 2M / -1 出图参数
-OutDir / -Name 脚本目录\SD-Picture / inject 产物目录 / 文件名前缀
-SdDirect / -SdDir / -SdPort 脚本同目录 / 自动探测 / 7860 SD 相关路径与端口
-NoOpen 关 跑完不自动打开图片

脸/手质检说明

  • 每张图发送给本地视觉模型,仅评估脸部(对称、五官、畸形)和手部(五指是否齐全、多指/少指/粘连)。
  • 返回 0-100 分,≥75 分通过;不通过则换 seed 重试,直到迭代次数上限,取最高分的那张。
  • 质检服务未启动时,脚本会尝试自动拉起 Ollama;实在无法启动时会出满 N 张并弹出列表供手动选择,不会静默跳过。
  • 质检仅评估结构分,不进行内容审查。

适用场景与注意

  • 适合在本地 Windows 环境中使用 DSH 的开发者,需要在不上传敏感内容的前提下完成图片生成。
  • 插件以当前 DSH 进程权限运行,安装前建议查看源码与许可证(MIT)。
  • 使用前应确认 PowerShell 版本为 5.1,并注意 UTF-8 with BOM 编码要求,避免中文乱码或语法报错。
  • 显存较小时(如 8 GB),质检模型和 SD 同时驻留会明显降低出图速度,可考虑使用更小的视觉模型或分阶段出图。

短结尾

dsh-image-create 通过修复上游 dsh-sd-bridge-guard 的若干问题,补齐了图生图与脸/手质检能力,为 DSH 在本地 Stable Diffusion 场景下的安全生成提供了完整链路。更多细节与安装方式可访问插件目录页或 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye