ComfyUI-Dev-Utils 插件完全教程
1. 插件简介
ComfyUI-Dev-Utils 是一个专门为 ComfyUI 开发者和高级用户设计的实用工具集合,插件原地址:https://github.com/ty0x2333/ComfyUI-Dev-Utils
这个插件就像是给你的 ComfyUI 装了一个超级工具箱,里面有各种实用的小工具,能帮你:
- 时间管家(Execution Time):帮你监控每个节点运行花了多长时间,就像秒表一样精确
- 日志管家(Log Console):把所有运行过程中的信息都显示在一个窗口里,就像看电影字幕一样
- 网络下载员(Url Download):从网上直接下载文件到你的电脑,不用手动保存
- 文件上传员(Upload Anything):把你电脑上的任何文件上传到 ComfyUI 里使用
- 连线助手(Reroute Enhancement):让连接节点的线更好管理,不会乱成一团
- 内存清理工(Clear Cache):一键清理内存,让电脑跑得更快
2. 如何安装
方法一:使用 ComfyUI-Manager(推荐)
- 在 ComfyUI 界面找到 Manager 按钮
- 搜索 "ComfyUI-Dev-Utils"
- 点击安装即可
方法二:手动安装
- 打开终端或命令行
- 进入你的 ComfyUI 安装目录下的
custom_nodes文件夹 - 运行以下命令:
git clone https://github.com/ty0x2333/ComfyUI-Dev-Utils.git
cd ComfyUI-Dev-Utils
pip install -r requirements.txt
- 重启 ComfyUI
3. 节点详细解析
3.1 Execution Time 节点(时间管家)
这个节点就像一个专业的秒表,能精确记录每个节点运行花了多长时间,还能显示显存使用情况,帮你找出哪个节点最慢。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 无输入参数 | 无 | 无 | 无 | 这个节点不需要任何输入,放到工作流里就自动工作 | 自动监控执行时间的虚拟节点 | 直接拖到画布上,运行工作流时会自动显示时间表格 |
特殊功能
- 节点徽章显示:每个节点左上角会显示运行时间和显存使用量
- 详细时间表:显示当前运行时间、上次运行时间、时间差异对比
- 导出功能:可以把时间数据导出为 CSV 表格文件
- 清理缓存按钮:在侧边栏添加"Clear Execution Cache"按钮
3.2 Url Download 节点(网络下载员)
这个节点就像一个专业的下载工具,能从网上直接下载文件到你的 ComfyUI 里,不用手动保存再上传。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 网址 | url | 文本 | 必填 | 输入你要下载文件的网址,就像复制粘贴链接一样 | 要下载的文件URL地址 | 输入"https://example.com/image.jpg"下载图片 |
| 文件名前缀 | filename_prefix | 文本 | "TyDev" | 给下载的文件起个名字前缀,方便识别 | 下载文件的命名前缀 | 设置为"MyDownload",文件会叫"MyDownload-原文件名" |
| 保存文件 | save_file | 布尔值 | True | 选择是永久保存还是临时使用,就像选择存到硬盘还是内存 | 是否保存到输出目录而非临时目录 | True保存到output文件夹,False保存到临时文件夹 |
3.3 Upload Anything 节点(文件上传员)
这个节点就像一个万能的文件管理员,能让你上传电脑里的任何文件到 ComfyUI 里使用。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 文件 | file | 下拉选择 | 从列表选择 | 从已上传的文件中选择一个,就像从文件夹里挑文件 | 从input目录中选择已存在的文件 | 选择之前上传的"my_image.jpg" |
| 选择文件上传 | 按钮 | 按钮 | 点击使用 | 点击这个按钮可以从电脑选择新文件上传 | 触发文件选择对话框进行上传 | 点击按钮,选择电脑里的文件,自动上传到ComfyUI |
3.4 Log Console 功能(日志管家)
这是一个前端功能,就像给 ComfyUI 装了一个专业的日志查看器,能实时显示所有运行信息。
功能特点
| 功能名称 | 功能描述 | 通俗解释 | 专业解释 | 使用方法 |
|---|---|---|---|---|
| 实时日志显示 | 显示Python运行日志 | 就像看电影字幕一样,实时显示程序运行信息 | 基于SSE技术实时捕获stdout、stderr和logging输出 | 点击终端图标按钮打开日志窗口 |
| 颜色区分 | 错误信息显示红色 | 正常信息是白色,错误信息是红色,一眼就能看出问题 | 通过ANSI颜色代码区分不同类型的日志信息 | 自动显示,无需设置 |
| 窗口调整 | 可以调整窗口大小 | 可以把日志窗口拖大拖小,折叠展开 | 支持窗口大小调整和折叠状态记忆 | 拖拽窗口边缘调整大小,点击箭头折叠 |
| 清理功能 | 清空日志内容 | 点击垃圾桶图标清空所有日志,重新开始 | 清除终端显示内容,不影响实际日志记录 | 点击🗑️按钮清空 |
| 开关控制 | 可以完全关闭功能 | 在设置里可以关闭这个功能,不影响性能 | 通过设置面板控制功能启用状态 | 在设置中找到"TyDev LogConsole Enabled"开关 |
3.5 Reroute Enhancement 功能(连线助手)
这是一个前端增强功能,让节点之间的连线管理变得更简单。
功能特点
| 功能名称 | 功能描述 | 通俗解释 | 专业解释 | 使用方法 |
|---|---|---|---|---|
| 右键添加转接点 | 在连接点右键菜单添加Reroute选项 | 就像在电线中间加个接线盒,让线路更整齐 | 在输出槽右键菜单中添加Reroute节点创建选项 | 右键点击节点输出口,选择"Reroute" |
| 智能删除转接点 | 删除转接点时自动重连 | 删除中间的接线盒时,自动把两端的线连起来 | 删除Reroute节点时自动重建输入输出连接 | 选中Reroute节点按Delete键 |
| 批量转接 | 一次处理多个连接 | 如果一个输出连了很多地方,一次性给所有连接加转接点 | 自动为输出槽的所有连接创建统一的Reroute节点 | 在有多个连接的输出口右键选择Reroute |
3.6 Clear Execution Cache 功能(内存清理工)
这是一个前端按钮功能,帮你一键清理内存和卸载模型。
功能特点
| 功能名称 | 功能描述 | 通俗解释 | 专业解释 | 使用方法 |
|---|---|---|---|---|
| 一键清理 | 清理内存和卸载模型 | 就像电脑清理垃圾一样,释放内存让电脑跑得更快 | 调用ComfyUI的free接口卸载模型并释放显存 | 点击侧边栏的"Clear Execution Cache"按钮 |
| 状态提示 | 显示清理结果 | 清理成功会显示绿色提示,失败会显示错误信息 | 通过弹窗显示API调用结果状态 | 点击按钮后自动显示结果 |
3.7 Upload Widget Enhancement 功能(上传增强)
这是一个前端增强功能,为Upload Anything节点添加更好的上传体验。
功能特点
| 功能名称 | 功能描述 | 通俗解释 | 专业解释 | 使用方法 |
|---|---|---|---|---|
| 文件选择按钮 | 添加选择文件按钮 | 在节点上直接点击按钮选择文件,不用去文件夹找 | 在节点界面添加文件选择widget | 点击节点上的"choose file to upload"按钮 |
| 自动上传 | 选择文件后自动上传 | 选好文件后自动上传,不用额外操作 | 文件选择后自动调用上传API | 选择文件后自动完成上传过程 |
| 动态更新 | 上传后自动更新选项 | 上传成功后文件会自动出现在选择列表里 | 上传成功后动态更新文件选择下拉列表 | 上传完成后在下拉列表中自动选中新文件 |
4. 使用技巧和建议
4.1 Execution Time 使用技巧
- 性能优化:通过时间表找出最慢的节点,重点优化
- 显存监控:关注VRAM Used列,避免显存不足
- 数据导出:定期导出CSV数据,建立性能基准
- 清理缓存:运行前点击"Clear Execution Cache"确保干净环境
4.2 Log Console 使用技巧
- 错误排查:红色文字表示错误,重点关注
- 实时监控:保持日志窗口开启,实时了解运行状态
- 窗口管理:可以折叠窗口节省空间,需要时再展开
- 性能考虑:不需要时可以在设置中关闭,节省资源
4.3 文件管理技巧
- 下载管理:使用有意义的filename_prefix,方便文件管理
- 上传策略:小文件可以临时保存,重要文件选择永久保存
- 文件组织:定期清理临时文件,保持目录整洁
4.4 连线管理技巧
- 复杂工作流:使用Reroute节点让连线更整齐
- 批量操作:一个输出连多个输入时,用Reroute统一管理
- 删除技巧:删除Reroute节点会自动重连,不用担心断线
5. 常见问题解答
Q1:Execution Time 节点不显示时间怎么办?
A1:
- 确保节点已经运行过至少一次
- 检查是否有其他插件冲突
- 重启ComfyUI后重试
Q2:Log Console 显示乱码怎么办?
A2:
- 检查系统编码设置
- 确保ComfyUI使用UTF-8编码
- 重新打开日志窗口
Q3:文件下载失败怎么办?
A3:
- 检查网址是否正确
- 确认网络连接正常
- 检查目标文件是否存在
- 尝试使用浏览器直接下载测试
Q4:上传的文件找不到怎么办?
A4:
- 检查文件是否上传成功
- 刷新节点或重新加载工作流
- 确认文件在ComfyUI的input目录中
Q5:Reroute功能不工作怎么办?
A5:
- 确保右键点击的是输出口(有连接的)
- 检查是否与其他插件冲突
- 重启ComfyUI后重试
6. 高级应用场景
6.1 工作流性能优化
结合Execution Time和Log Console,可以:
- 识别性能瓶颈节点
- 监控显存使用情况
- 优化节点执行顺序
- 建立性能基准测试
6.2 批量文件处理
使用文件管理功能可以:
- 批量下载网络资源
- 自动化文件上传流程
- 建立文件处理管道
- 实现无人值守处理
6.3 复杂工作流管理
利用连线增强功能:
- 整理复杂的节点连接
- 创建可重用的子流程
- 简化工作流维护
- 提高工作流可读性
6.4 开发调试辅助
综合使用所有功能:
- 实时监控运行状态
- 快速定位问题节点
- 优化资源使用效率
- 提高开发效率
7. 技术原理简介(可选阅读)
7.1 时间监控原理
- 函数劫持:通过替换ComfyUI的执行函数来插入时间记录
- 性能计数器:使用高精度时间计数器测量执行时间
- 显存监控:通过PyTorch的CUDA接口监控显存使用
7.2 日志捕获原理
- 流重定向:重定向Python的stdout和stderr流
- SSE技术:使用Server-Sent Events实现实时日志推送
- 异步处理:使用异步队列处理日志消息
7.3 前端增强原理
- 扩展机制:利用ComfyUI的扩展系统注册前端功能
- DOM操作:通过JavaScript动态修改界面元素
- 事件监听:监听ComfyUI的内部事件进行功能增强
8. 总结
总结:ComfyUI-Dev-Utils 是一个功能丰富的开发工具集合,为ComfyUI用户提供了性能监控、日志查看、文件管理、连线优化等多种实用功能。无论是普通用户还是开发者,都能从中找到提高效率的工具。
记住:工具是为了让工作更轻松,多尝试、多实践,你会发现更多有用的功能组合!