ComfyUI-Manager CLI命令全攻略:cm-cli高效管理工作流
你还在为ComfyUI工作流管理繁琐而烦恼吗?是否希望无需启动Web界面就能批量处理自定义节点?本文将系统介绍ComfyUI-Manager的命令行工具cm-cli,让你通过简单指令实现节点安装、更新、快照管理等核心功能,轻松掌控AI工作流。读完本文,你将掌握10+实用命令,学会批量操作技巧,大幅提升工作效率。
一、cm-cli简介与安装
cm-cli是ComfyUI-Manager提供的命令行工具(Command Line Interface,命令行界面),支持在不启动ComfyUI的情况下管理自定义节点、依赖和工作流快照。其核心优势在于批量操作能力和服务器环境适用性,特别适合需要自动化部署和远程管理的场景。
1.1 环境准备
- 前置条件:需与ComfyUI使用相同Python环境,建议激活虚拟环境(venv)
- 文件位置:工具位于项目根目录,主要文件包括:
1.2 基本调用方式
在项目根目录直接执行:
# Python直接调用
python cm-cli.py [命令] [参数]
# 或通过Shell脚本(Linux/Mac)
./cm-cli.sh [命令] [参数]
提示:Windows用户可使用check.bat进行环境检查,确保依赖完整性
二、核心命令详解
2.1 节点管理三板斧
安装节点
支持批量安装多个节点,可指定渠道和数据源模式:
# 基础安装(默认渠道)
python cm-cli.py install ComfyUI-Impact-Pack ComfyUI-Inspire-Pack
# 指定渠道和本地缓存模式
python cm-cli.py install ComfyUI-Frame-Interpolation --channel recent --mode cache
关键参数:
--channel:选择节点数据源渠道(如'recent'为最新列表)--mode:数据获取模式(remote远程/local本地/cache缓存)--no-deps:跳过依赖安装(适合离线环境)
更新操作
最常用的批量更新命令,支持全量更新或指定节点:
# 更新所有节点(含ComfyUI本体)
python cm-cli.py update all
# 更新指定节点
python cm-cli.py update ComfyUI-ControlNet-Aux comfyui_controlnet_aux
安全提示:全量更新前会自动创建快照,位于snapshots/目录,可随时恢复
启用/禁用节点
临时禁用冲突节点,无需卸载:
# 禁用单个节点
python cm-cli.py disable ComfyUI-Loopchain
# 批量启用节点
python cm-cli.py enable ComfyUI-Impact-Pack ComfyUI-Inspire-Pack
2.2 节点状态查询
查看已安装节点
# 详细列表(含作者、版本信息)
python cm-cli.py show installed
# 简洁列表(仅节点名称)
python cm-cli.py simple-show installed
示例输出:
[ ENABLED ] ComfyUI-Manager (author: Dr.Lt.Data)
[ ENABLED ] ComfyUI-Impact-Pack (author: Dr.Lt.Data)
[ DISABLED ] ComfyUI-Loopchain (author: Fannovel16)
查看可安装节点
python cm-cli.py show not-installed --mode remote
技巧:结合grep命令筛选特定类型节点:
python cm-cli.py show not-installed | grep controlnet
2.3 快照管理:工作流版本控制
快照功能可保存当前节点配置,用于环境迁移或版本回滚,核心文件位于glob/manager_core.py中实现。
创建快照
# 自动命名保存(默认格式:YYYYMMDD_HHMMSS.json)
python cm-cli.py save-snapshot
# 指定路径和格式保存
python cm-cli.py save-snapshot --output /backup/workflow_v1.yaml
恢复快照
# 恢复最近快照
python cm-cli.py restore-snapshot 20240520_143022.json
# 全量恢复(含PIP依赖)
python cm-cli.py restore-snapshot full_backup.json --pip-non-url --pip-local-url
注意:快照文件默认存储在项目的snapshots/目录,建议定期备份到外部存储
三、高级应用场景
3.1 批量操作脚本
结合Shell脚本实现复杂工作流,例如:
#!/bin/bash
# 批量安装推荐节点集
nodes=(
"ComfyUI-Impact-Pack"
"ComfyUI-Inspire-Pack"
"comfyui_controlnet_aux"
)
# 循环安装
for node in "${nodes[@]}"; do
python cm-cli.py install $node --no-deps
echo "Installed: $node"
done
# 安装完成后修复依赖
python cm-cli.py fix all
3.2 服务器环境部署
在无图形界面的服务器环境,可通过cm-cli完成初始化部署:
# 1. 克隆项目
git clone https://gitcode.com/gh_mirrors/co/ComfyUI-Manager
# 2. 进入目录
cd ComfyUI-Manager
# 3. 安装核心节点
python cm-cli.py install all --channel stable --mode local
# 4. 启用CLI-only模式(提升安全性)
python cm-cli.py cli-only-mode enable
安全说明:启用cli-only-mode后,Web界面将隐藏Manager按钮,仅保留命令行功能
3.3 依赖问题修复
当节点依赖冲突或缺失时,使用fix命令一键修复:
# 修复单个节点依赖
python cm-cli.py fix ComfyUI-Frame-Interpolation
# 修复所有节点依赖
python cm-cli.py fix all
修复逻辑由manager_util.py中的PIPFixer类实现,会自动处理版本冲突和缺失包。
四、常见问题解决
4.1 路径问题
错误:WARN: The COMFYUI_PATH environment variable is not set
解决:手动指定ComfyUI路径:
export COMFYUI_PATH=/path/to/ComfyUI
python cm-cli.py update all
4.2 权限问题
错误:Permission denied: '/usr/local/lib/python3.9/site-packages'
解决:使用虚拟环境或添加--user参数:
python cm-cli.py install ComfyUI-SAI_API --user
4.3 网络超时
错误:Failed to fetch data from remote channel
解决:切换到缓存模式:
python cm-cli.py show all --mode cache
五、命令速查表
| 功能分类 | 常用命令 | 示例 |
|---|---|---|
| 节点安装 | install | install node1 node2 --channel recent |
| 节点更新 | update | update all --mode remote |
| 状态查询 | show | show enabled --simple |
| 快照管理 | save-snapshot | save-snapshot --output backup.yaml |
| 依赖修复 | fix | fix all --user-directory ./my_workspace |
六、总结与展望
cm-cli作为ComfyUI-Manager的命令行工具,极大扩展了工作流管理的灵活性。通过本文介绍的安装、更新、快照等核心功能,你可以构建自动化工作流,实现高效团队协作和版本控制。
后续学习建议:
- 探索高级快照选项:restore-snapshot
- 研究节点扫描逻辑:scanner.py
- 参与社区贡献:node_db/目录下的节点定义规范
如果你觉得本文有帮助,请点赞收藏,并关注后续的《ComfyUI自动化部署实战》系列。有任何使用问题,欢迎在项目issues中交流反馈。
官方文档:docs/en/cm-cli.md
源码实现:cm-cli.py
命令定义:cm-cli.py#L615(Typer应用入口)
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0181- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
snackjson新一代高性能 Jsonpath 框架。同时兼容 `jayway.jsonpath` 和 IETF JSONPath (RFC 9535) 标准规范(支持开放式定制)。Java00