ModelPulse
Track model usage frequency to identify abandoned or underutilized models. Shows usage stats, file sizes, and highlights stale models in a sidebar panel.
ModelPulse
A ComfyUI extension that tracks model usage frequency, helping you identify abandoned or underutilized models to manage storage efficiently.
Features
- Automatic Tracking - Monitors usage of all model types: checkpoints, LoRAs, VAEs, ControlNets, CLIP, UNETs, upscalers, GGUF, and more
- Sidebar Panel - View usage statistics directly in ComfyUI's sidebar
- File Size Display - Shows model file sizes (GB/MB) to help identify storage-heavy models
- Time Filtering - View usage for all time, this month, or this week
- Smart Sorting - Sort by last used, usage count, or name
- Stale Detection - Models unused for 30+ days are highlighted (configurable threshold)
- Category Grouping - Models organized by type with collapsible sections
- Reset Tracking - Clear all usage data from the settings panel
- Zero Dependencies - Uses only Python standard library
Installation
Option 1: ComfyUI Manager (Recommended)
Search for "ModelPulse" in ComfyUI Manager and click Install.
Option 2: Manual Installation
cd ComfyUI/custom_nodes
git clone https://github.com/Setmaster/ComfyUI-ModelPulse.git
Restart ComfyUI after installation.
Usage
- Click the chart icon in the ComfyUI sidebar to open ModelPulse
- Run workflows as usual - model usage is tracked automatically
- Use the tabs to filter by time period (All Time / Month / Week)
- Use the dropdown to sort by Last Used, Usage Count, or Name
- Click category headers to collapse/expand sections
Tracked Model Types
| Category | Loader Nodes | |----------|-------------| | Checkpoints | CheckpointLoaderSimple, CheckpointLoader | | LoRAs | LoraLoader, LoraLoaderModelOnly | | VAEs | VAELoader | | ControlNets | ControlNetLoader | | CLIP | CLIPLoader, DualCLIPLoader | | UNETs | UNETLoader | | Upscalers | UpscaleModelLoader | | Style Models | StyleModelLoader | | GLIGEN | GLIGENLoader | | GGUF | UnetLoaderGGUF, CLIPLoaderGGUF, DualCLIPLoaderGGUF, TripleCLIPLoaderGGUF, QuadrupleCLIPLoaderGGUF |
Custom node loaders (Impact Pack, Efficiency Nodes, etc.) are also detected via pattern matching.
API Endpoints
ModelPulse exposes REST endpoints for programmatic access:
| Endpoint | Method | Description |
|----------|--------|-------------|
| /modelpulse/usage | GET | Get all usage data (supports ?timeframe= and ?sort= params) |
| /modelpulse/model/{id} | GET | Get detailed data for a specific model |
| /modelpulse/categories | GET | Get category list with counts |
| /modelpulse/reset | POST | Reset all tracking data (requires {"confirm": true}) |
Data Storage
Usage data is stored in:
ComfyUI/user/default/modelpulse/usage_data.json
The data persists across ComfyUI restarts and can be backed up or edited manually.
Requirements
- ComfyUI 0.3.0 or later (Vue 3 frontend)
- Python 3.10+
- No external Python dependencies
License
MIT License - see LICENSE for details.
Contributing
Contributions are welcome! Please feel free to submit issues and pull requests.