Replace scattered inline encodeURIComponent(JSON.stringify(...)) and
manual oncontextmenu/dataset assignments with unified helpers added to
renderFormatMethods:
- encodeContextMenuModel(context): safe JSON serialization for data-model
- getContextMenuAttrs(context, tooltip): HTML attribute string for
template literals (used in 5 files)
- getContextMenuProps(context, tooltip): props object for imperative
element assignment (used in missingBrowserMethods)
- setContextMenuElement(element, context, tooltip): sets or clears
data-model, data-tooltip, and oncontextmenu on a DOM element
Reduces duplication across 5 modules, adds try/catch around JSON
serialization, and removes 14 lines of repeated oncontextmenu wiring.
ModelResolver – Relink missing models and download from HuggingFace/CivitAI
ModelResolver is a powerful ComfyUI extension for automatically resolving missing models in loaded workflows. It features intelligent local fuzzy matching, direct cloud downloads, background download tracking, and automated in-place workflow updating.
Warning
WIP (Work in Progress) — Download and use at your own risk! This project is still under active development and some features may be unfinished or contain bugs.
🔹 Quick Start | ⚙️ Configuration
🚀 Key Features
- 🔍 Intelligent Fuzzy Matching: Scans local ComfyUI model directories and looks for similar files (ignoring case, extensions, or minor naming differences) with similarity confidence scores.
- ☁️ Multi-Source Cloud Downloader: Searches for and downloads missing files from CivitAI, HuggingFace, CivArchive, Lora Manager Archive, and the ComfyUI-Manager model database.
- 🔄 In-Place Workflow Updater: Safely replaces model names and paths in your current workflow (supporting nested subgraphs and custom nodes like rgthree's Power Lora Loader or LoraManager).
- 📥 Background Download Manager: Downloads models asynchronously directly to the correct directories (
checkpoints,loras,vae, etc.) with speed tracking, file size display, progress bars, and cancel support. - 🕵️ Loaded Models Inspector: A dedicated tab displaying all models used in the active workflow, including their strength, physical paths, and disk availability status.
- 📂 Open Containing Folder: Quickly opens Windows Explorer and selects/highlights the model file directly from the interface.
🛠️ How It Works (Step-by-Step)
- Load Workflow: Load any workflow JSON or image into ComfyUI.
- Detection: If the workflow references model files that are missing from your directories, the extension alerts you immediately.
- Resolve:
- Local Search: Click the local search button to find similar filenames you already have on disk (e.g., if they were moved to a different subfolder).
- Online Search: If the file isn't on disk, search for it online (e.g., on CivitAI via its SHA256 file hash or text search).
- Download or Link:
- Click Download to asynchronously download the model in the background directly into the correct ComfyUI folder.
- Or select a local alternative suggested by the Fuzzy Matching algorithm.
- Apply: Click the apply button to update the ComfyUI workflow with the new, correct model paths. You're ready to click Queue Prompt!
📂 Supported Nodes & Model Types
Model Resolver supports standard ComfyUI mechanisms as well as custom implementations of popular loader nodes:
- Standard loaders: CheckpointLoader, LoraLoader, VAELoader, ControlNetLoader, UpscaleModelLoader, etc.
- Advanced loaders: Nodes from the
LoraManagersuite (LoraLoaderV2,Lora Loader,Lora Stacker),rgthree(Power Lora Loader), and LTX-Video nodes. - Subgraphs: Full support for scanning and updating nodes inside nested group subgraphs.
⚙️ Configuration & Credentials (Settings)
In the extension settings panel, you can configure API keys and authorization tokens, which are required for downloading private models or files requiring authentication:
- CivitAI API Key & Session Token: Allows downloading models from CivitAI (including those marked as NSFW or requiring accepted terms of service).
- HuggingFace Token: Required for downloading gated or private models from HuggingFace.
- Brave Search API Key: An optional key used as a fallback search mechanism to discover HuggingFace download links via Brave search.
Tip
The extension includes a built-in connection tester that allows you to instantly verify the validity of your tokens directly in the settings panel.
⚡ Installation
Install via ComfyUI-Manager
- Search
ComfyUI Model Resolverin ComfyUI-Manager and click theInstallbutton. - Restart ComfyUI.
Manual Install
- Navigate to the
custom_nodesfolder in your ComfyUI installation:cd ComfyUI/custom_nodes/ - Clone this repository:
git clone https://github.com/Azornes/comfyui-model-resolver.git - Start or restart ComfyUI. The extension will automatically install any missing dependencies (
requests,aiohttp) and load the web interface.
📝 Requirements
- Python 3.10 or newer
- Libraries:
requests,aiohttp(installed automatically if missing) - Modern web browser with JS support (Chrome, Edge, Firefox, Brave)
📜 License
This project is licensed under the MIT License. Feel free to use, modify, and distribute.
💖 Support / Sponsorship
- ⭐ Give a star — it means a lot to me!
- 🐛 Report a bug or suggest a feature.
- 💖 Support my work: 👉 GitHub Sponsors