diff --git a/README.md b/README.md index adbaa3c..7c91aaa 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@

ComfyUIDownloads GitHub Clones - + Python 3.10+ JavaScript @@ -30,6 +30,7 @@ https://github.com/user-attachments/assets/f5d83ce9-3ea8-4532-9b96-4ca4cd6cfb75 - **Search supported sources.** Find files on CivitAI, Hugging Face, CivArchive, Lora Manager Archive, and the ComfyUI-Manager model database. - **Update workflows.** Replace model names and paths in the active workflow, including nested subgraphs and loaders from rgthree's Power Lora Loader and LoraManager. - **Manage downloads.** Send files to their model folders, track speed and progress, and cancel or pause downloads when the selected backend supports it. +- **Work in batches.** Queue exact local matches, search several missing models, download known sources together, and review active downloads or history. - **Inspect loaded models.** Review the models used by the active workflow, their physical paths, strength values, and disk status. - **Open model folders.** Reveal a model file in the host file manager when the platform supports that action. - **Use custom URLs.** Download a file from any direct URL and choose its target folder and filename. @@ -51,7 +52,9 @@ https://github.com/user-attachments/assets/f5d83ce9-3ea8-4532-9b96-4ca4cd6cfb75 5. **Download or Link**: * Click **Download** to asynchronously download the model in the background directly into the correct category folder. * Or select a local alternative suggested by the Fuzzy Matching algorithm. -6. **Apply**: Click **Apply** to update the ComfyUI workflow nodes with the new, correct model paths. You're ready to click *Queue Prompt*! +6. **Apply**: Click **Apply** to update the ComfyUI workflow nodes with the resolved model paths, then queue the prompt. + +The dialog has **Missing Models**, **Loaded Models**, and **Options** tabs. Its queue panel keeps pending links separate from downloads, with active progress and download history. --- @@ -71,7 +74,7 @@ Model Resolver provides two download engines in the Settings panel and an automa | Backend / transport | How it is selected | Live progress | Cancel | Pause / resume | | --- | --- | --- | --- | --- | | **Python** | Selected in Settings; also used as the general fallback | Yes | Yes | No | -| **Aria2 (Recommended)** | Selected in Settings | Yes | Yes | Yes | +| **Aria2 (Optional)** | Selected in Settings | Yes | Yes | Yes | | **Hugging Face Xet** | Activated automatically for Xet-backed Hugging Face files while the Python engine is selected | Yes, using native Xet updates | Yes | No | ### Python Engine @@ -98,7 +101,7 @@ Model Resolver provides two download engines in the Settings panel and an automa > Xet transfers compressed, deduplicated data. The received byte count can stay below the final model size, so a download can reach **Finalizing** before the network counter reaches the final size. > [!TIP] -> Install and configure Aria2 from the Settings panel. ModelResolver downloads the official release for your operating system and architecture, extracts it, and manages the background daemon. The daemon starts when a download needs it and stops after it stays idle. +> Install and configure aria2 from the Settings panel when you need pause/resume or segmented transfers. Model Resolver downloads the official release for your operating system and architecture, extracts it, and manages the background daemon. --- @@ -126,7 +129,6 @@ Use model metadata to build download paths. The **Download Path Mode** setting p For example, a Lora can use `Loras/SDXL/style/my_lora_v1.safetensors`, while a checkpoint can use `Checkpoints/Flux/my_flux_model.safetensors`. - --- ## Configuration & Settings @@ -139,12 +141,29 @@ Open Settings to add credentials for downloads and searches: The Settings panel includes **Check** buttons for each credential type. Use them to verify a key or token before starting a download. +You can also enable or disable search sources, choose CivitAI and Hugging Face fallback methods, set automatic base-model and subfolder suggestions, configure aria2, control workflow metadata, and export logs. The [wiki](https://github.com/Azornes/Comfyui-Model-Resolver/wiki) contains the full settings reference. + +## Workflow Metadata and the Opener Node + +- **Embed workflow hashes** stores SHA-256 metadata for referenced models in saved workflows and image workflow JSON. Later scans can identify a renamed file by its hash. +- **Embed opener node** adds a small **Model Resolver Opener** node to saved workflows. Its button opens the resolver, and its dependency metadata helps ComfyUI-Manager identify the extension. +- **Open when a workflow has missing models** opens the resolver after analysis finds unresolved references. This option is disabled by default. + +The opener node only opens Model Resolver. It has no image, model, or prompt outputs. Add it from **Options** or the ComfyUI Command Palette. + +## Local Databases and Maintenance + +The **Options** tab can update the ComfyUI-Manager model database, refresh the CivitAI base-model list, and refresh the Hugging Face author index. It also includes a metadata-size audit, a local SHA-256 metadata builder, cache controls, and frontend/backend log export. + +See the [wiki maintenance guide](https://github.com/Azornes/Comfyui-Model-Resolver/wiki/Options-and-Maintenance) for details. + --- ## Loaded Models Inspector & Local Hashing -* **Loaded Models Tab**: Check what models are loaded in the current active python session. It lists paths, model categories, byte sizes, physical existence checks, and confidence levels. +* **Loaded Models Tab**: Check what models are loaded in the current active Python session. It lists paths, model categories, byte sizes, physical existence checks, strength values, and active/inactive state. * **Open Containing Folder**: Select a model in the Loaded Models tab and click the folder icon to reveal it in the host system's file manager. +* **Model details**: Open source information, previews, descriptions, tags, versions, and trained words when the provider exposes them. * **Local Hashing (`sha256`)**: * You can calculate the exact `sha256` hash of any local model file in the background. * Hashing status is updated in real-time, allowing you to use exact hash queries on CivitAI/CivArchive to retrieve model metadata and link files. @@ -186,16 +205,21 @@ The Settings panel includes **Check** buttons for each credential type. Use them ## Requirements +* ComfyUI 0.26.0 or newer * Python 3.10 or newer * Libraries: `requests`, `aiohttp`, `rapidfuzz`, `huggingface-hub` * Modern web browser with JS support (Chrome, Edge, Firefox, Brave) +Hugging Face Xet support is optional. When the Xet transport is unavailable, Model Resolver uses the regular Python downloader. + ## Backend Architecture The ComfyUI entry point stays small. Runtime state lives in `core/extension.py`, route registration lives in `core/routes/registry.py`, HTTP adapters live in `core/routes/`, and shared feature logic lives in `core/services/`. See [`docs/architecture.md`](docs/architecture.md) for the dependency flow and local verification commands. +For user workflows, provider settings, download paths, metadata, and troubleshooting, see the [Model Resolver wiki](https://github.com/Azornes/Comfyui-Model-Resolver/wiki). + --- ## License