mcpField
C
comfyui-inventory

comfyui-inventory

github.com/mckruz创意与媒体92567 次安装32 周前更新
代码仓库

关于 comfyui-inventory

用于盘点已安装 ComfyUI 内容并验证工作流的技能。可在线查询系统、节点和模型信息,也可在 ComfyUI 未运行时扫描文件。

主要功能

  1. 01查询系统与 GPU 信息
  2. 02发现已安装的节点和模型
  3. 03离线扫描安装文件
  4. 04缓存清单以供工作流检查
  5. 05验证工作流中的节点和模型引用

适用场景

  1. 01创建工作流前检查可用模型
  2. 02查找工作流中缺失的节点包
  3. 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}"

常见节点与包的对应关系

节点类包
ApplyInstantIDComfyUI_InstantID
IPAdapterUnifiedLoaderComfyUI_IPAdapter_plus
FaceDetailerComfyUI-Impact-Pack
ReactorFaceSwapComfyUI-ReActor
AnimateDiffLoaderWithContextComfyUI-AnimateDiff-Evolved
VideoHelper*ComfyUI-VideoHelperSuite
ControlNetApply*comfyui_controlnet_aux
UltimateSDUpscaleComfyUI_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