前言¶
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
脚本会自动完成以下操作:
- 跳过素体自检迭代(底图已由用户指定)。
- 按底图自动匹配比例与画质。
- 若 Denoising 为 0(文生图模式),自动抬到 0.55 以避免底图白给。
- 不再强行追加
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 仓库。