DSH Hub
dsh-comfyui cover

fandc520/dsh-comfyui

dsh-comfyui

UIWeb UI12 GitHub stars· updated 2026-08-24

dsh-comfyui is a community DeepSeek Harness plugin. Read the repository README before installing.

Install

npx @deepseek-ai/dsh plugin --profile web add dsh-comfyui

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-comfyui DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-comfyui.svg)](https://dshhub.dev/plugins/dsh-comfyui)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from fandc520/dsh-comfyui, cleaned of badges and images.

dsh-comfyui

English | 中文

<h1 align="center">dsh-comfyui</h1> <p align="center">让 DeepSeek Harness 的 Agent 直接驱动 ComfyUI 生成与处理图像、视频。</p>

功能

Agent 工具

  • comfyui_run —— 提交 ComfyUI API 格式的工作流,或选用内置模板,返回生成的媒体。两种模式:sync(等待并返回媒体)与 async(后台任务,用 job_output 收集结果——视频生成强烈建议)。
  • comfyui_object_info —— 列出你的 ComfyUI 服务器支持的节点定义,让 Agent 能当场构造合法的工作流。
  • comfyui_workflow —— 列出并运行插件库中的可运行工作流。action: list 还会报告你在 ComfyUI 端保存的图工作流以及每个是否已提取出可运行执行流;未提取的会明确标注,Agent 会先转告你在面板里点"提取"。

UI 面板

右侧停靠;从侧边栏轨道打开——三个页签:

  • 工作流 —— 插件库(可运行的 API 工作流):新建 / 编辑 / 运行 / 删除,支持"导入文件"直接加载 API 格式 .json。"ComfyUI 端保存"分区自动检测你在 ComfyUI 里保存的图工作流,显示每个已提取出的执行流,并提供提取:画布上往往躺着多个独立流程,可整体提取 / 按分量提取 / 只提取主流程。工作流可用标签分类(见下)。
  • 资产 —— 插件生成的所有结果,最新在前,带详情视图和下载链接。鼠标悬停卡片右上角出现红色垃圾桶,点击弹出确认框(列出将删除的文件名),确认后移除索引记录并删除 ComfyUI 输出目录里的对应文件。ComfyUI 自身没有删除输出文件的接口,这一步由插件直接操作文件系统,因此只有当 DSH 能访问到输出目录(通常是同机部署)时才会真正删文件,否则只移除记录并在对话框里说明。
  • 队列 —— 基于 ComfyUI 统一任务 API(/api/jobs)的任务中心:实时队列历史里所有任务按五态展示(待生成 / 生成中 / 已完成 / 失败 / 已取消),可按状态筛选;插件提交的任务带进度条(进度来自 ComfyUI WS 的 progress 事件),终态任务带预览缩略图、失败原因与耗时;支持操作:删除、中断、重跑、清空队列/历史、释放内存。插件提交的任务标注工作流名。
<p align="center"><img src="images/panel.png" width="70%" alt="插件主面板:工作流 / 资产 / 队列" title="插件主面板:工作流 / 资产 / 队列" /></p>

加载区

仿 ComfyUI LoadImage 节点的媒体加载器,位于工作流页顶部:除图片外,选择窗口也会列出 ComfyUI 加载节点(LoadVideo / LoadAudio)可用的视频与音频文件。

  • 多加载位:加载区由若干加载位组成——只有一个时横向铺满面板,两个及以上时等宽排列并自动换行。底部"+ 添加加载区"新增加载位;空加载位显示"加载位 N / 添加素材",点击即可放入;鼠标悬停在任一加载位右上角会出现 ×,点击删除该加载位;在选择窗口第一格选"空"则只清空该位、保留加载位。已放入的素材按顺序填进工作流里未显式指定的加载参数——两张参考图的工作流放两个加载位即可,Agent 无需点名文件。
  • 点击任一加载位打开加载窗口:上方导航条(全部 / 已导入 / 已生成)、类型筛选、右侧粘贴/上传区、下方瀑布流网格展示 ComfyUI input 目录里图像 / 视频 / 音频的全部可加载文件 + 插件生成的全部结果。视频与音频可就地播放试听(卡片内自带播放器,点播放器只播放、不会误选);点卡片下方的文件名即选定并关闭窗口。加载文件的类型按扩展名判定,加载节点的输入键从 ComfyUI 节点定义读取(LoadImage.image / LoadVideo.file / LoadAudio.audio),不会漏掉某一类媒体。
  • 加载区素材即默认输入:工作流运行中未显式指定的加载参数按加载位顺序自动填入(第 1 位 → 第 1 个图片参数,第 2 位 → 第 2 个;视频/音频参数各取同类型加载位)——无需指定文件名。没有对应加载位的参数保持工作流原值。
  • Agent 可见comfyui_workflow action: list 的输出带 loadArea(加载位数量、已放入素材数、文件清单),Agent 能直接知道用户加载了几个素材、分别是什么。
  • 分辨率自动匹配:上传时记录像素尺寸;运行时不传 width/height 则自动用源图实际分辨率。
  • 哈希命名 + 去重:上传重命名为 原名_短哈希.ext(SHA-256 前 10 位十六进制);重复上传相同文件直接复用已有文件名,不产生重复存储。上传后列表实时刷新。
  • 选中已生成的图时会自动从输出目录复制到 input,图像加载节点即可使用。
<p align="center"><img src="images/loadarea.png" width="70%" alt="加载区:图像选择与上传" title="加载区:图像选择与上传" /></p>

工作流标签

用预设分类(图生图 / 文生图 / 文生视频 / 图生视频 / 参考生视频 / 文生音频 / 参考生音频)+ 自定义标签给可运行工作流分类。标签在编辑工作流时勾选/添加,显示在卡片右上角,列表顶部有带计数的标签筛选条。

内置模板

txt2img(SDXL 文生图)、img2img(SDXL 图生图)、video(Wan 2.1 文生视频,需要 ComfyUI-WanVideoWrapper)。模板节点 id 写在工具描述里,Agent 会覆盖正确的输入。

媒体代理

生成文件按 文件名 + 子目录 + 类型 经同源路由(/comfyui/media)转发,不依赖 ComfyUI 的内存态历史记录——重启 ComfyUI 或清空历史后,资产面板里的旧结果照样能打开(只要文件还在输出目录)。浏览器不直接接触 ComfyUI:没有 CORS、没有混合内容、页面里不出现 API Key,远程 ComfyUI 部署也可直接使用。媒体 URL 的访问地址自动检测:页面加载时浏览器经 /comfyui/ping 自报实际访问的 origin(局域网 IP / 域名 / 反向代理都能拼出正确的链接),也可用配置键 mediaHost 显式指定基址。

工具卡片

结果在对话里渲染成媒体墙(图片/视频带下载链接),后台任务也有状态提示。

设置页

DH 设置里新增 "ComfyUI" 分区:改服务器地址(baseUrl)、API Key 环境变量名(apiKeyEnv)、媒体访问地址(mediaHost)、测试连接,并可切换插件界面语言(中文 / English——存于浏览器,作用于整个插件 UI),无需改动 cordis.yml。数据目录与资产上限只通过 cordis.yml 配置,不在设置页暴露。

<p align="center"><img src="images/settings.png" width="70%" alt="ComfyUI 设置页(含界面语言切换)" title="ComfyUI 设置页(含界面语言切换)" /></p>

配套 skill

通过 ctx.skills.register 注册的运行时 skill(dsh-comfyui-workflows):让 Agent 掌握图工作流 vs 执行流的概念、画布分析规则(连通分量、绕过组、悬空节点)、何时该询问你提取方式,以及图→API 提取的技术规则。

Related plugins