本讲目录
第 15 讲 · 工程化与排障
收官讲,四件事:扩展节点的安装与治理、工作流资产管理、把 ComfyUI 变成可编程服务(顺便解开你机器上 Codex_Bridge 的身世之谜)、以及一张排障总表。目标是把前面十四讲的玩法沉淀成可持续运转的个人生产系统。
1. 自定义节点:安装与治理
1.1 用 Manager 装(你的启动参数已开启)
界面里打开 Manager(工具栏按钮):
- Install Custom Nodes:搜索安装。课程用到的四件套一次装齐:
comfyui_controlnet_aux(第 12 讲 Win 侧预处理)、ComfyUI_IPAdapter_plus(第 13 讲)、ComfyUI-Impact-Pack(第 14 讲 FaceDetailer)、rgthree-comfy(通用体验增强:进度条、更好的 LoRA 加载器等,你朋友工作流也在用); - Install Missing Custom Nodes:加载别人的工作流出现一片红色节点(本地没有的节点类型)时,一键补齐缺的包——学习别人工作流的标配动作;
- 装完必须重启 ComfyUI(节点在启动时注册)。
1.2 治理纪律(节点包 = 任意代码)
第 06 讲的提醒在此升级为纪律:自定义节点是装进你机器的第三方 Python 代码,Manager 不做安全审查。三条红线:
- 装前看一眼 GitHub:星数、最近更新时间、issue 区是否活跃——课程点名的这几个都是万星级老牌项目;
- 别囤积:每装一个包,启动变慢一分、依赖冲突概率加一分。原则"用到才装,半年不用就卸";
- 出诡异问题(启动报错/节点失灵)时,Manager 里禁用一半节点包二分排查——依赖地狱的标准解法。portable 版的依赖装在内嵌 Python 里(第 06 讲),最坏情况整个 portable 目录重解压即满血复活,你的资产都在外面,无痛。
2. 工作流资产管理
- 命名与归档:
E:\AI\Workflows下按用途分文件夹(txt2img/、vrchat/、upscale/),文件名带版本(vrchat_pose_v3.json)——和第 10 讲模型台账同一个精神:三个月后的你是陌生人; - PNG 即备份:每张成图自带工作流(第 07 讲),Outputs 目录天然是"带结果的版本历史"。重要配方额外存 json,双保险;
- git 化(可选进阶):工作流 json 是文本,
E:\AI\Workflows完全可以 git init 起来——你在 Medusa 已有的版本管理习惯平移即可,改坏了随时回滚。
3. API:把 ComfyUI 变成服务(Codex_Bridge 解密)
3.1 机制
ComfyUI 本体就是个 HTTP 服务(你的 8188 端口)。它有两种工作流格式:UI 格式(画布用,含节点坐标)和 API 格式(纯执行图)。设置里开启开发者模式后,菜单多出 "Export (API)"——导出的 json 可以直接 POST:
import json, requests
wf = json.load(open("workflow_api.json")) # API 格式工作流
wf["6"]["inputs"]["text"] = "a cat in spacesuit" # 程序化改提示词(节点号.inputs.字段)
requests.post("http://127.0.0.1:8188/prompt", json={"prompt": wf})
# 完成后去 /history 取结果, 成图落在 E:\AI\Outputs
任何能发 HTTP 的东西都能指挥 ComfyUI 出图——批量脚本、定时任务、别的 AI。
3.2 你机器上那个 Codex_Bridge 是什么
现在可以解密第 00 讲清单里的疑点了:E:\AI\Workflows\Codex_Bridge_SDXL_Img2Img_API.json + Run_Codex_Bridge_Img2Img.ps1 就是上面这套机制的现成实例——一个 API 格式的图生图工作流 + 一段调用脚本,让 Codex(AI 编程助手)能远程指挥这台机器的 ComfyUI 生图。这正是你 AIGC 工作流项目里"Claude 当管理、Codex 当生图操作员"分工的技术底座。用姊妹课程第 08 讲的话说:ComfyUI 在这里是编排工程里的一个"确定性节点",AI 是编排者。学完本课程,你自己就能写这样的桥——它不再是黑盒。
3.3 给你的展望(不急着做)
这个 API 通道 + 你的 tailscale 网络意味着:Mac 侧脚本可以批量投喂"骨架图 × 提示词矩阵",Win 侧过夜生产,早上收结果——第 12 讲的 VRChat 管线完全可以自动化成"每晚出货"的流水线。等手动流程跑顺了值得做一版。
4. 排障总表(贴墙级)
按症状查(日志永远在 E:\AI\Logs,报错第一现场):
| 症状 | 最可能原因 | 解法 |
|---|---|---|
| CUDA out of memory | 显存超预算(第 06 讲账本) | 降分辨率/batch→卸一个 LoRA/CN→重启 ComfyUI 清碎片;持续吃紧考虑 fp8 版模型 |
| 出图全黑 | VAE 半精度数值溢出(个别模型的老毛病) | 挂第 10 讲清单 #3 的修复版 VAE;或启动参数加 --fp32-vae |
| 出图纯噪声/花屏 | 模型三件套不匹配(如 SDXL 底模配 SD1.5 VAE)或蒸馏模型用错参数 | 检查各加载节点是否同一家族;蒸馏模型回第 03 讲第 6 节 |
| 加载工作流一片红 | 缺自定义节点 | Manager → Install Missing → 重启 |
| 下拉框找不到模型 | 放错子目录 / 没刷新 | 第 06 讲第 4 节:核对目录,Ctrl+R |
| 突然变得极慢 | 显存溢出到内存(没崩但在爬行) | 任务管理器看专用 GPU 内存是否满载;按 OOM 行处理 |
| 复现不了以前的图 | 种子没固定 / 节点包版本变了 | PNG 拖回画布还原全部参数;升级前记版本 |
| 启动就崩 | 新装节点包依赖冲突 | 日志找报错包名 → Manager 禁用它;二分法排查 |
| 图质量突然变差 | 无意间改了 cfg/steps/底模,或 LoRA 叠多了 | 回到已知好的 PNG 配方,单变量重查(第 08 讲) |
课程结语
十六讲走完。回看这条路:从"学分布与采样"的第一性原理,到 DDPM 的 ELBO、采样器的 ODE、三大件与外挂件的架构,再到你 E:\AI 机器上每一个节点、每一个参数、每一条管线——ComfyUI 的画布从头到尾就是原理篇那几页数学的可视化。你现在拥有的不是一堆操作步骤,而是一张完整的地图:新模型、新节点、新玩法出来时(它们每周都在出),你知道它落在地图的哪个位置、动了哪个部件、该用什么纪律去验证。
三个自然的下一步,按兴趣任选:产量线——把第 12/13 讲的 VRChat 管线跑成日常,攒素材库;深度线——用你的角色截图炼第一个 LoRA(第 11 讲的预告,16GB 卡完全够);工程线——写你自己的 API 批量脚本(第 3 节),把两台机器连成自动生产线。无论哪条,方法都是这门课反复练的那一句:固定变量,单点实验,理解每一步为什么。
祝出图愉快。
工作流实验室页有全部 7 个配套工作流的加载说明与分级练习。