前言¶
DSH Agent 的控制范围目前主要在本地脚本或通用网络服务。对于 Stable Diffusion 工作流(如 ComfyUI),手动操作繁琐且难以自动化。dsh-comfyui-commander 解决了这个问题,它通过 DSH 的 Subprocess 能力,让 Agent 直接接管 ComfyUI 的生成任务、进度监控与模型管理。
是什么¶
这是一个由 suika009 维护的插件,通过 Node.js 辅助进程与 ComfyUI API 通信,实现自然语言控制。它不依赖外部运行时,仅要求本机 Node >= 22。
核心功能¶
插件提供以下工具集:
- 工作流控制:列出工作流 (
comfy_list_workflows),加载工作流并转换为 API 格式 (comfy_load_workflow),支持通过overrides修改任意节点参数。 - 任务执行:提交生成任务 (
comfy_submit),实时监控进度 (comfy_get_progress,包含队列位置、当前节点、采样百分比),获取结果 (comfy_fetch_results) 并下载到本地。 - 批量编排:通过
comfy_wait_task实现阻塞等待,串联多阶段任务(例如先生成分镜再合成视频)。 - 模型管理:上传模型 (
comfy_upload_model)、移动模型 (comfy_move_model)、导出归档 (comfy_export_model)、盘点磁盘占用 (comfy_model_disk_usage)。
安装与启用¶
- 进入 DSH 的 Profile 目录:
cd $DSH_HOME/profiles/<name>
- 安装依赖:
pnpm add dsh-comfyui-commander
- 在
cordis.patch.yml中添加插件行:
- insert:
- id: comfyui-commander
name: 'dsh-comfyui-commander'
- 重启 DSH。
典型用法¶
Agent 可以通过自然语言编排一系列操作,例如:
-
单次生成:
「列出工作流 → 加载SDXL.json→ 提示词换成 ‘a cat, masterpiece’ → 生成 → 下载到本地」
对应工具链:comfy_list_workflows→comfy_load_workflow→comfy_submit(overrides)→comfy_get_progress→comfy_fetch_results(download)。 -
批量生成:
「先生成 5 张分镜,全部完成后用合并工作流合成视频」。
对应工具链:利用comfy_wait_task串行执行。
安全与限制¶
- 不保存只提交:对现有工作流的任何改造只作用于本次提交,绝不改动已保存的工作流文件。
- 安全配置:模型文件操作遵循默认安全、危险操作需手动开启的原则。默认关闭删除、覆盖、修改。若需使用
comfy_delete_model,需在配置文件中将allowDelete设为true并重启。 - 已知边界:打开的工作流标签页是浏览器 localStorage 状态,服务端不可枚举;动态 Cordis 插件在部分部署中不可见。
总结¶
该插件为 DSH Agent 提供了完整的 ComfyUI 控制面,适合需要自动化生成、批量处理和模型管理的场景。更多细节可参考插件目录或GitHub 仓库。