关于 comfyui-inventory
用于盘点已安装 ComfyUI 内容并验证工作流的技能。可在线查询系统、节点和模型信息,也可在 ComfyUI 未运行时扫描文件。
主要功能
- 01查询系统与 GPU 信息
- 02发现已安装的节点和模型
- 03离线扫描安装文件
- 04缓存清单以供工作流检查
- 05验证工作流中的节点和模型引用
适用场景
- 01创建工作流前检查可用模型
- 02查找工作流中缺失的节点包
- 03ComfyUI 离线时检查安装内容
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mckruz/ comfyui-expert --skill comfyui-inventory安装后在 Claude Code 中输入/comfyui-inventory确认已加载。
详细介绍
ComfyUI 库存技能
发现用户的 ComfyUI 实例中安装了哪些内容,并缓存结果以便验证工作流。
用途
生成任何工作流之前,都必须先检查库存。这样可以避免:
- 引用尚未下载的模型
- 使用尚未安装的节点
- 超出 VRAM 限制
两种发现模式
在线模式(ComfyUI API 正在运行)
查询实时服务,获取权威信息。
1. 系统信息:
curl http://127.0.0.1:8188/system_stats
提取内容:GPU 名称、总 VRAM、可用 VRAM、ComfyUI 版本。
2. 已安装的节点:
curl http://127.0.0.1:8188/object_info
返回所有已注册节点类及其输入/输出规范。
3. 已安装的模型(按类型):
curl http://127.0.0.1:8188/models/checkpoints
curl http://127.0.0.1:8188/models/loras
curl http://127.0.0.1:8188/models/vae
curl http://127.0.0.1:8188/models/controlnet
curl http://127.0.0.1:8188/models/clip
curl http://127.0.0.1:8188/models/clip_vision
curl http://127.0.0.1:8188/models/upscale_models
curl http://127.0.0.1:8188/models/diffusion_models
离线模式(目录扫描)
ComfyUI 未运行时,直接扫描文件系统。
需要:ComfyUI 安装路径(例如,C:\ComfyUI)
扫描目录:
{ComfyUI}/models/checkpoints/ → .safetensors, .ckpt
{ComfyUI}/models/loras/ → .safetensors
{ComfyUI}/models/vae/ → .safetensors, .pt
{ComfyUI}/models/controlnet/ → .safetensors, .pth
{ComfyUI}/models/clip/ → .safetensors
{ComfyUI}/models/clip_vision/ → .safetensors
{ComfyUI}/models/upscale_models/ → .pth, .safetensors
{ComfyUI}/models/diffusion_models/ → .safetensors
{ComfyUI}/models/ipadapter/ → .safetensors, .bin
{ComfyUI}/models/instantid/ → .bin
{ComfyUI}/models/insightface/ → .onnx + folders
{ComfyUI}/models/facerestore_models/ → .pth
{ComfyUI}/models/ultralytics/bbox/ → .pt
{ComfyUI}/custom_nodes/ → folder names = node packages
自定义节点检测:列出 custom_nodes/ 下的目录。每个目录名都对应一个节点包(例如,ComfyUI_IPAdapter_plus、ComfyUI-Impact-Pack)。
缓存格式
将结果保存到 state/inventory.json:
{
"last_updated": "2026-02-06T12:00:00Z",
"mode": "online",
"comfyui_version": "0.3.10",
"system": {
"gpu": "NVIDIA RTX 5090",
"vram_total_gb": 32,
"vram_free_gb": 28
},
"models": {
"checkpoints": ["flux1-dev.safetensors", "RealVisXL_V5.0.safetensors"],
"loras": ["sage_character.safetensors"],
"vae": ["ae.safetensors", "wan_2.1_vae.safetensors"],
"controlnet": ["instantid_controlnet.safetensors"],
"clip": ["t5xxl_fp16.safetensors", "clip_l.safetensors"],
"clip_vision": ["CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors"],
"upscale_models": ["4x-UltraSharp.pth"],
"diffusion_models": ["wan2.1_i2v_720p_14b_bf16.safetensors"],
"ipadapter": ["ip-adapter-faceid-plusv2_sd15.bin"],
"instantid": ["ip-adapter.bin"],
"insightface": ["inswapper_128.onnx"],
"facerestore": ["codeformer.pth"],
"detection": ["face_yolov8m.pt"]
},
"custom_nodes": [
"ComfyUI-Manager",
"ComfyUI_IPAdapter_plus",
"ComfyUI_InstantID",
"ComfyUI-Impact-Pack",
"ComfyUI-AnimateDiff-Evolved",
"ComfyUI-VideoHelperSuite"
]
}
工作流验证
根据库存验证工作流 JSON:
For each node:
1. Check class_type against known node classes
2. If missing: identify which custom_node package provides it
3. Suggest install: "Install via ComfyUI-Manager: {package_name}"
For each model reference:
1. Check filename against inventory models of that type
2. If missing: look up in references/models.md for download link
3. Report: "Missing: {filename} - Download from {url} -> {path}"
常见节点与包的对应关系
| 节点类 | 包 |
|---|---|
| ApplyInstantID | ComfyUI_InstantID |
| IPAdapterUnifiedLoader | ComfyUI_IPAdapter_plus |
| FaceDetailer | ComfyUI-Impact-Pack |
| ReactorFaceSwap | ComfyUI-ReActor |
| AnimateDiffLoaderWithContext | ComfyUI-AnimateDiff-Evolved |
| VideoHelper* | ComfyUI-VideoHelperSuite |
| ControlNetApply* | comfyui_controlnet_aux |
| UltimateSDUpscale | ComfyUI_UltimateSDUpscale |
| VHS_* | ComfyUI-VideoHelperSuite |
| RIFE* | ComfyUI-Frame-Interpolation |
缓存有效期
- 活跃会话期间,缓存有效期为 1 小时
- 用户安装新模型/节点后,使缓存失效
- 强制刷新:
scan-inventory.ps1或通过 API 重新查询
集成
- 由
comfyui-workflow-builder在生成工作流前调用 - 由
comfyui-character-gen(通过 Agent 封装器)调用,用于选择模型 - 由
comfyui-troubleshooter在诊断模型缺失错误时调用 - 结果保存在
state/inventory.json,供所有技能参考
评论
支持 Markdown