DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Comfyui Image — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
C

dsh-comfyui-image

Comfyui Image

从 DeepSeek Harness 驱动本地 ComfyUI 图像工作流(Z-Image-Turbo、Qwen-Image-2.1)

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:QXingYShu/dsh-comfyui-image#29f385bce273ceedbbc2b92ec12b967c0122a07d
README兼容性版本

兼容性与来源证明

Comfyui Image 以 dsh-comfyui-image 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/10/2

版本

0.1.0stable
2026/10/2

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 2
周下载
0
最近提交
2026/10/10
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 vision-media 分类下经过校验的插件。

Modlens@liustack/modlens面向仅支持文本的 LLM 的插件视觉能力,由免费的 Antigravity CLI 提供支持Tool Describe Image@linxin666/dsh-tool-describe-image面向模型的 describe_image 工具,用于 dsh Web GUI:通过在兼容 OpenAI 的端点调用视觉语言模型,为文本模型提供图像理解能力,以描述一张图像(本地路径、http(s) URL 或附件引用)。可热插拔 —Vision Routerdsh-vision-router为仅支持文本的 DeepSeek Harness agents 提供视觉能力:内置免费视觉链路和像素级工具。除非配置为严格仅限本地使用,否则远程视觉提供商(包括默认的免费回退服务)会接收图像内容。Vision Toolkit@anionex/dsh-vision-toolkit面向 Harness 原生集成的 DeepSeek 与 agent-vision-toolkit:图像问答、OCR、定位、UI 还原、像素差异、Artifacts 和 Web UI。

README

dsh-comfyui-image

Generate image assets from DeepSeek Harness using a local ComfyUI install — no API keys, no cloud, no per-image cost. The agent picks a model, writes the prompt, queues the workflow on your own GPU, and gets back a real image file.

Two workflows ship wired up:

WorkflowGood atSpeedNegative prompt
Z-Image-Turbodrafts, batches, fast iterationsecondsno (CFG 1, prompt only)
Qwen-Image-2.1final assets, legible in-image text, precise compositionminutesyes

What it registers

  • comfyui_generate — generate one or more images and save them to disk.
  • comfyui_status — report which workflows are ready on this machine and what defaults they use. Useful when generation fails.
  • Skill comfyui-image — model selection and prompt craft, so the agent chooses deliberately instead of always reaching for the same model.

Requirements

  • Comfy Desktop with the model templates installed (it ships a "Z-image" and a "Qwen-Image-2.1" template), or any ComfyUI checkout that has the model weights on disk.
  • DeepSeek Harness 0.2.0-rc.2 or newer.
  • No npm dependencies. The plugin talks to ComfyUI over its own HTTP API.

You do not need ComfyUI to be running. The plugin starts it headless on first use and reuses it afterwards.

Install

dsh plugin --profile desktop add https://github.com/<you>/dsh-comfyui-image.git

Or from a clone:

git clone https://github.com/<you>/dsh-comfyui-image.git
dsh plugin --profile desktop add ./dsh-comfyui-image

Restart the Harness and ask for an image.

A restart is required, not optional: the profile applies its plugins once when it boots, so a change to lib/ — or to this plugin after a git pull — is not picked up by the running process. Only the Web GUI's client plugins hot reload, and only while pnpm run dev:web is rebuilding them; this plugin's tools and skill are server-side.

How it finds your ComfyUI

The plugin prefers an already-running server, and otherwise launches one itself:

  1. Probe the configured port, then 8188–8192, for a live /system_stats.
  2. If nothing answers, find a local ComfyUI checkout that can actually load the workflow's weights — checked against the model files, not the folder name, so an unrelated install is never picked by accident.
  3. Launch it headless with that install's own virtualenv and its extra_model_paths.yaml (which is what makes Comfy Desktop's shared model directory visible).

Configuration

All optional. Set environment variables, or just rely on the defaults.

VariableEffect
DSH_COMFY_PORTForce one port for every workflow (default: probe 8188–8192)
DSH_COMFY_PORT_Z_IMAGE_TURBOForce a port for Z-Image-Turbo only
DSH_COMFY_PORT_QWEN_IMAGE_2_1Force a port for Qwen-Image-2.1 only
DSH_COMFYUI_PATHPoint at a manual ComfyUI checkout instead of Comfy Desktop
DSH_ZIMAGE_MODELSOverride Z-Image-Turbo model file names (JSON)
DSH_QWEN_IMAGE_MODELSOverride Qwen-Image-2.1 model file names (JSON)

Override the model names when your weights differ from the defaults, e.g. if you quantised Qwen-Image-2.1 yourself:

export DSH_QWEN_IMAGE_MODELS='{"unet_name":"qwen_image_2.1_fp8.safetensors","clip_name":"qwen3vl_8b_fp8.safetensors","vae_name":"qwen_image_2.1_vae_bf16.safetensors"}'

Usage from a session

draw a small green plant in a terracotta pot, soft window light, photograph

The agent loads the comfyui-image skill, picks Z-Image-Turbo for a draft, and saves the result under ./generated-images/.

Ask for more control when you want it:

use qwen-image-2.1 to make a 16:9 poster that says "DEEP DIVE" in bold letters above a stylised submarine, screen-print texture, negative prompt: blurry text

Workflows

Both graphs live in workflows/ as ComfyUI API-format JSON with {{placeholder}} strings. They were derived from the official Comfy template workflows and flattened out of their subgraphs, so they queue over plain HTTP without the frontend.

To add or tune a workflow:

  1. Build it in the ComfyUI UI.
  2. Save as API format (Developer → Save (API Format)).
  3. Replace the values you want to parameterise with {{snake_case}} names.
  4. Drop it in workflows/ and add a spec in lib/workflows.js.

A parameter that is missing or misspelled fails loudly before anything reaches the GPU — you get an error naming it, not a silently wrong image.

Development

npm test                          # hermetic: schema shape, parameter resolution, apply() on a fake host
npm run test:host                 # the installed Harness's own skill validator, extracted from app.asar
npm run test:smoke                # discovery + a real generation of both workflows through the tool
node scripts/boot-check.mjs <node_modules> <plugin-dir>   # apply() under the real Cordis loader

npm test is hermetic and needs neither ComfyUI nor the Harness. The other three need one of the two, and boot-check additionally needs a checkout that supplies @deepseek-ai/cordis.

define-tool.mjs asserts the shape of the compiled tool schema, not just the behaviour: JSON Schema defines required as an array of property names owned by the containing object, so a required: true left on a property node makes the schema invalid, and a gateway that validates the tool list it is handed rejects the whole list — every tool, not just the broken one.

test:host is the interesting one. ctx.skills.register() only validates name, description and invocation, so a skill missing its source field registers cleanly, shows up in the catalog, and then fails every time the model tries to load it. That second validation lives in @deepseek-ai/dsh-skill; this script lifts the real function out of the installed app.asar and runs the plugin's skill through it, with a negative control proving the check can still fail. npm test carries a transcription of the same rules so a regression is caught without an installed Harness.

test:smoke generates with both workflows using the minimal argument shape a model actually produces — prompt only, every optional argument omitted — because that is where a default-erasing bug shows up.

Design notes

  • No runtime dependencies. Installing from a git clone makes a directory junction, so an import of a peer package would have to resolve from the clone's real path rather than from the profile's node_modules. Using only ctx.tools and ctx.skills keeps the plugin installable from anywhere. lib/define-tool.js is a small local defineTool that compiles the parameter DSL to JSON Schema and validates arguments before dispatch.
  • The plugin only stops processes it started. A ComfyUI you launched yourself is left running when the plugin disposes.
  • Images are copied into the workspace rather than referenced in Comfy Desktop's managed output folder, so a later Comfy Desktop tidy-up cannot delete work the agent just did.

License

MIT — see LICENSE.