Files
Setmaster-ComfyUI-ModelPulse/README.md
T
Setmaster e9e3ade3f0 Implement Phase 1: core tracking and sidebar UI
- Add model usage tracking via PromptExecutor hook
- Support 12+ loader node types (checkpoints, LoRAs, VAEs, etc.)
- Pattern matching for custom node loaders
- Cross-platform file locking (Windows/Unix)
- JSON storage with schema migrations
- REST API endpoints for usage data
- Sidebar panel with timeframe filtering and sorting
- Stale model highlighting (>30 days unused)
2026-01-14 22:56:28 -05:00

91 lines
2.9 KiB
Markdown

# ModelPulse
A ComfyUI extension that tracks model usage frequency, helping you identify abandoned or underutilized models to manage storage efficiently.
![ComfyUI](https://img.shields.io/badge/ComfyUI-0.3.0+-blue)
![Python](https://img.shields.io/badge/Python-3.10+-green)
![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey)
## Features
- **Automatic Tracking** - Monitors usage of all model types: checkpoints, LoRAs, VAEs, ControlNets, CLIP, UNETs, upscalers, and more
- **Sidebar Panel** - View usage statistics directly in ComfyUI's sidebar
- **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
- **Category Grouping** - Models organized by type with collapsible sections
- **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
```bash
cd ComfyUI/custom_nodes
git clone https://github.com/your-username/ComfyUI-ModelPulse.git
```
Restart ComfyUI after installation.
## Usage
1. Click the **chart icon** in the ComfyUI sidebar to open ModelPulse
2. Run workflows as usual - model usage is tracked automatically
3. Use the tabs to filter by time period (All Time / Month / Week)
4. Use the dropdown to sort by Last Used, Usage Count, or Name
5. 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 |
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](LICENSE) for details.
## Contributing
Contributions are welcome! Please feel free to submit issues and pull requests.