Merge branch 'main' into draft-v4

# Conflicts:
#	comfyui_manager/common/README.md
#	comfyui_manager/glob/manager_core.py
#	comfyui_manager/js/README.md
#	pyproject.toml
This commit is contained in:
Dr.Lt.Data 2025-06-01 06:23:11 +09:00
commit 8303e7c043
21 changed files with 11830 additions and 6019 deletions

View File

@ -9,7 +9,7 @@
* V3.16: Support for `uv` has been added. Set `use_uv` in `config.ini`.
* V3.10: `double-click feature` is removed
* This feature has been moved to https://github.com/ltdrdata/comfyui-connection-helper
* V3.3.2: Overhauled. Officially supports [https://comfyregistry.org/](https://comfyregistry.org/).
* V3.3.2: Overhauled. Officially supports [https://registry.comfy.org/](https://registry.comfy.org/).
* You can see whole nodes info on [ComfyUI Nodes Info](https://ltdrdata.github.io/) page.
## Installation

49
comfyui_manager/README.md Normal file
View File

@ -0,0 +1,49 @@
# ComfyUI-Manager: Core Backend (glob)
This directory contains the Python backend modules that power ComfyUI-Manager, handling the core functionality of node management, downloading, security, and server operations.
## Directory Structure
- **glob/** - code for new cacheless ComfyUI-Manager
- **legacy/** - code for legacy ComfyUI-Manager
## Core Modules
- **manager_core.py**: The central implementation of management functions, handling configuration, installation, updates, and node management.
- **manager_server.py**: Implements server functionality and API endpoints for the web interface to interact with the backend.
## Specialized Modules
- **share_3rdparty.py**: Manages integration with third-party sharing platforms.
## Architecture
The backend follows a modular design pattern with clear separation of concerns:
1. **Core Layer**: Manager modules provide the primary API and business logic
2. **Utility Layer**: Helper modules provide specialized functionality
3. **Integration Layer**: Modules that connect to external systems
## Security Model
The system implements a comprehensive security framework with multiple levels:
- **Block**: Highest security - blocks most remote operations
- **High**: Allows only specific trusted operations
- **Middle**: Standard security for most users
- **Normal-**: More permissive for advanced users
- **Weak**: Lowest security for development environments
## Implementation Details
- The backend is designed to work seamlessly with ComfyUI
- Asynchronous task queuing is implemented for background operations
- The system supports multiple installation modes
- Error handling and risk assessment are integrated throughout the codebase
## API Integration
The backend exposes a REST API via `manager_server.py` that enables:
- Custom node management (install, update, disable, remove)
- Model downloading and organization
- System configuration
- Snapshot management
- Workflow component handling

View File

@ -0,0 +1,16 @@
# ComfyUI-Manager: Core Backend (glob)
This directory contains the Python backend modules that power ComfyUI-Manager, handling the core functionality of node management, downloading, security, and server operations.
## Core Modules
- **manager_downloader.py**: Handles downloading operations for models, extensions, and other resources.
- **manager_util.py**: Provides utility functions used throughout the system.
## Specialized Modules
- **cm_global.py**: Maintains global variables and state management across the system.
- **cnr_utils.py**: Helper utilities for interacting with the custom node registry (CNR).
- **git_utils.py**: Git-specific utilities for repository operations.
- **node_package.py**: Handles the packaging and installation of node extensions.
- **security_check.py**: Implements the multi-level security system for installation safety.

View File

@ -479,7 +479,7 @@ class PIPFixer:
normalized_name = parsed['package'].lower().replace('-', '_')
if normalized_name in new_pip_versions:
if 'version' in parsed and 'operator' in parsed:
cur = StrictVersion(new_pip_versions[parsed['package']])
cur = StrictVersion(new_pip_versions[normalized_name])
dest = parsed['version']
op = parsed['operator']
if cur == dest:

View File

@ -504,7 +504,10 @@ async def task_worker():
if res.ver == 'unknown':
url = core.unified_manager.unknown_active_nodes[node_name][0]
title = os.path.basename(url)
try:
title = os.path.basename(url)
except Exception:
title = node_name
else:
url = core.unified_manager.cnr_map[node_name].get('repository')
title = core.unified_manager.cnr_map[node_name]['name']

View File

@ -0,0 +1,50 @@
# ComfyUI-Manager: Frontend (js)
This directory contains the JavaScript frontend implementation for ComfyUI-Manager, providing the user interface components that interact with the backend API.
## Core Components
- **comfyui-manager.js**: Main entry point that initializes the manager UI and integrates with ComfyUI.
- **custom-nodes-manager.js**: Implements the UI for browsing, installing, and managing custom nodes.
- **model-manager.js**: Handles the model management interface for downloading and organizing AI models.
- **components-manager.js**: Manages reusable workflow components system.
- **snapshot.js**: Implements the snapshot system for backing up and restoring installations.
## Sharing Components
- **comfyui-share-common.js**: Base functionality for workflow sharing features.
- **comfyui-share-copus.js**: Integration with the ComfyUI Opus sharing platform.
- **comfyui-share-openart.js**: Integration with the OpenArt sharing platform.
- **comfyui-share-youml.js**: Integration with the YouML sharing platform.
## Utility Components
- **cm-api.js**: Client-side API wrapper for communication with the backend.
- **common.js**: Shared utilities and helper functions used across the frontend.
- **node_fixer.js**: Utilities for fixing disconnected links and repairing malformed nodes by recreating them while preserving connections.
- **popover-helper.js**: UI component for popup tooltips and contextual information.
- **turbogrid.esm.js**: Grid component library - https://github.com/cenfun/turbogrid
- **workflow-metadata.js**: Handles workflow metadata parsing, validation and cross-repository compatibility including versioning, dependencies tracking, and resource management.
## Architecture
The frontend follows a modular component-based architecture:
1. **Integration Layer**: Connects with ComfyUI's existing UI system
2. **Manager Components**: Individual functional UI components (node manager, model manager, etc.)
3. **Sharing Components**: Platform-specific sharing implementations
4. **Utility Layer**: Reusable UI components and helpers
## Implementation Details
- The frontend integrates directly with ComfyUI's UI system through `app.js`
- Dialog-based UI for most manager functions to avoid cluttering the main interface
- Asynchronous API calls to handle backend operations without blocking the UI
## Styling
CSS files are included for specific components:
- **custom-nodes-manager.css**: Styling for the node management UI
- **model-manager.css**: Styling for the model management UI
This frontend implementation provides a comprehensive yet user-friendly interface for managing the ComfyUI ecosystem.

View File

@ -153,6 +153,7 @@ app.registerExtension({
app.canvas.graph.add(new_node, false);
node_info_copy(this, new_node, true);
app.canvas.graph.remove(this);
requestAnimationFrame(() => app.canvas.setDirty(true, true))
},
});
});

File diff suppressed because it is too large Load Diff

41
docs/README.md Normal file
View File

@ -0,0 +1,41 @@
# ComfyUI-Manager: Documentation
This directory contains documentation for the ComfyUI-Manager, providing guides and tutorials for users in multiple languages.
## Directory Structure
The documentation is organized into language-specific directories:
- **en/**: English documentation
- **ko/**: Korean documentation
## Core Documentation Files
### Command-Line Interface
- **cm-cli.md**: Documentation for the ComfyUI-Manager Command Line Interface (CLI), which allows using manager functionality without the UI.
### Advanced Features
- **use_aria2.md**: Guide for using the aria2 download accelerator with ComfyUI-Manager for faster model downloads.
## Documentation Standards
The documentation follows these standards:
1. **Markdown Format**: All documentation is written in Markdown for easy rendering on GitHub and other platforms
2. **Language-specific Directories**: Content is separated by language to facilitate localization
3. **Feature-focused Documentation**: Each major feature has its own documentation file
4. **Updated with Releases**: Documentation is kept in sync with software releases
## Contributing to Documentation
When contributing new documentation:
1. Place files in the appropriate language directory
2. Use clear, concise language appropriate for the target audience
3. Include examples where helpful
4. Consider adding screenshots or diagrams for complex features
5. Maintain consistent formatting with existing documentation
This documentation directory will continue to grow to support the expanding feature set of ComfyUI-Manager.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

95
node_db/README.md Normal file
View File

@ -0,0 +1,95 @@
# ComfyUI-Manager: Node Database (node_db)
This directory contains the JSON database files that power ComfyUI-Manager's legacy node registry system. While the manager is gradually transitioning to the online Custom Node Registry (CNR), these local JSON files continue to provide important metadata about custom nodes, models, and their integrations.
## Directory Structure
The node_db directory is organized into several subdirectories, each serving a specific purpose:
- **dev/**: Development channel files with latest additions and experimental nodes
- **legacy/**: Historical/legacy nodes that may require special handling
- **new/**: New nodes that have passed initial verification but are still being evaluated
- **forked/**: Forks of existing nodes with modifications
- **tutorial/**: Example and tutorial nodes designed for learning purposes
## Core Database Files
Each subdirectory contains a standard set of JSON files:
- **custom-node-list.json**: Primary database of custom nodes with metadata
- **extension-node-map.json**: Maps between extensions and individual nodes they provide
- **model-list.json**: Catalog of models that can be downloaded through the manager
- **alter-list.json**: Alternative implementations of nodes for compatibility or functionality
- **github-stats.json**: GitHub repository statistics for node popularity metrics
## Database Schema
### custom-node-list.json
```json
{
"custom_nodes": [
{
"title": "Node display name",
"name": "Repository name",
"reference": "Original repository if forked",
"files": ["GitHub URL or other source location"],
"install_type": "git",
"description": "Description of the node's functionality",
"pip": ["optional pip dependencies"],
"js": ["optional JavaScript files"],
"tags": ["categorization tags"]
}
]
}
```
### extension-node-map.json
```json
{
"extension-id": [
["list", "of", "node", "classes"],
{
"author": "Author name",
"description": "Extension description",
"nodename_pattern": "Optional regex pattern for node name matching"
}
]
}
```
## Transition to Custom Node Registry (CNR)
This local database system is being progressively replaced by the online Custom Node Registry (CNR), which provides:
- Real-time updates without manual JSON maintenance
- Improved versioning support
- Better security validation
- Enhanced metadata
The Manager supports both systems simultaneously during the transition period.
## Implementation Details
- The database follows a channel-based architecture for different sources
- Multiple database modes are supported: Channel, Local, and Remote
- The system supports differential updates to minimize bandwidth usage
- Security levels are enforced for different node installations based on source
## Usage in the Application
The Manager's backend uses these database files to:
1. Provide browsable lists of available nodes and models
2. Resolve dependencies for installation
3. Track updates and new versions
4. Map node classes to their source repositories
5. Assess risk levels for installation security
## Maintenance Scripts
Each subdirectory contains a `scan.sh` script that assists with:
- Scanning repositories for new nodes
- Updating metadata
- Validating database integrity
- Generating proper JSON structures
This database system enables a flexible, secure, and comprehensive management system for the ComfyUI ecosystem while the transition to CNR continues.

View File

@ -12,6 +12,429 @@
{
"author": "bulldog68",
"title": "ComfyUI_FMJ [WIP]",
"reference": "https://github.com/bulldog68/ComfyUI_FMJ",
"files": [
"https://github.com/bulldog68/ComfyUI_FMJ"
],
"install_type": "git-clone",
"description": "Generate random prompts easily for FMJ.\nNOTE: The files in the repo are not organized."
},
{
"author": "amamisonlyuser",
"title": "MixvtonComfyui [WIP]",
"reference": "https://github.com/amamisonlyuser/MixvtonComfyui",
"files": [
"https://github.com/amamisonlyuser/MixvtonComfyui"
],
"install_type": "git-clone",
"description": "NODES: CXH_Leffa_Viton_Load, CXH_Leffa_Viton_Run\nNOTE: The files in the repo are not organized."
},
{
"author": "pictorialink",
"title": "comfyui-static-resource[UNSAFE]",
"reference": "https://github.com/pictorialink/ComfyUI-static-resource",
"files": [
"https://github.com/pictorialink/ComfyUI-static-resource"
],
"install_type": "git-clone",
"description": "Use model bending to push your model beyond its visuals' limits. These nodes allow you to apply transformations to the intemediate densoising steps during sampling, e.g. add, multiplty, scale, rotate, dilate, erode ..etc.[w/This node pack includes a feature that allows downloading remote files to arbitrary local paths. This is a vulnerability that can lead to Remote Code Execution.]"
},
{
"author": "brace-great",
"title": "comfyui-mc [WIP]",
"reference": "https://github.com/brace-great/comfyui-mc",
"files": [
"https://github.com/brace-great/comfyui-mc"
],
"install_type": "git-clone",
"description": "NODES: IncrementCounterOnMatch\nNOTE: The files in the repo are not organized."
},
{
"author": "blueraincoatli",
"title": "ComfyModelCleaner [WIP]",
"reference": "https://github.com/blueraincoatli/ComfyUI-Model-Cleaner",
"files": [
"https://github.com/blueraincoatli/ComfyUI-Model-Cleaner"
],
"install_type": "git-clone",
"description": "This plugin helps identify and clean up unused model files in ComfyUI installations. It analyzes workflows, custom nodes, and model usage to safely identify redundant files."
},
{
"author": "avocadori",
"title": "ComfyUI Audio Amplitude Converter [WIP]",
"reference": "https://github.com/avocadori/ComfyUI-AudioAmplitudeConverter",
"files": [
"https://github.com/avocadori/ComfyUI-AudioAmplitudeConverter"
],
"install_type": "git-clone",
"description": "This is a high-performance custom node for ComfyUI that performs audio amplitude conversion.\nNOTE: The files in the repo are not organized."
},
{
"author": "wTechArtist",
"title": "ComfyUI_VVL_VideoCamera",
"reference": "https://github.com/wTechArtist/ComfyUI_VVL_VideoCamera",
"files": [
"https://github.com/wTechArtist/ComfyUI_VVL_VideoCamera"
],
"install_type": "git-clone",
"description": "NODES: VVL Video Camera Estimator, VVL Video Frame Extractor"
},
{
"author": "wTechArtist",
"title": "ComfyUI_VVL_Segmentation [WIP]",
"reference": "https://github.com/wTechArtist/ComfyUI_VVL_Segmentation",
"files": [
"https://github.com/wTechArtist/ComfyUI_VVL_Segmentation"
],
"install_type": "git-clone",
"description": "NODES: VVL Mask2Former Panoptic (Enhanced), VVL OneFormer Universal Segmentation\nNOTE: The files in the repo are not organized."
},
{
"author": "lum3on",
"title": "comfyui_RollingDepth [WIP]",
"reference": "https://github.com/lum3on/comfyui_RollingDepth",
"files": [
"https://github.com/lum3on/comfyui_RollingDepth"
],
"install_type": "git-clone",
"description": "ComfyuI Needs longer to start the first time, because the mode gets downloaded.\nNOTE: The files in the repo are not organized."
},
{
"author": "abuzreq",
"title": "ComfyUI Model Bending [UNSAFE]",
"reference": "https://github.com/abuzreq/ComfyUI-Model-Bending",
"files": [
"https://github.com/abuzreq/ComfyUI-Model-Bending"
],
"install_type": "git-clone",
"description": "Use model bending to push your model beyond its visuals' limits. These nodes allow you to apply transformations to the intemediate densoising steps during sampling, e.g. add, multiplty, scale, rotate, dilate, erode ..etc.[w/This node pack contains a vulnerability that allows remote code execution.]"
},
{
"author": "Stable Diffusion VN",
"title": "SDVN Comfy node [UNSAFE]",
"id": "SDVN",
"reference": "https://github.com/StableDiffusionVN/SDVN_Comfy_node",
"files": [
"https://github.com/StableDiffusionVN/SDVN_Comfy_node"
],
"install_type": "git-clone",
"description": "Update IC Lora Layout Support Node[w/This node pack contains a vulnerability that allows remote code execution.]"
},
{
"author": "Sephrael",
"title": "comfyui_caption-around-image [WIP]",
"reference": "https://github.com/Sephrael/comfyui_caption-around-image",
"files": [
"https://github.com/Sephrael/comfyui_caption-around-image"
],
"install_type": "git-clone",
"description": "NODES: A comfyUI node to create captions around a generated image with the ability to dynamically include generation parameters\nNOTE: The files in the repo are not organized."
},
{
"author": "EQXai",
"title": "ComfyUI_EQX",
"reference": "https://github.com/EQXai/ComfyUI_EQX",
"files": [
"https://github.com/EQXai/ComfyUI_EQX"
],
"install_type": "git-clone",
"description": "NODES: SaveImage_EQX, File Image Selector, Load Prompt From File - EQX, LoraStackEQX_random, Extract Filename - EQX, Extract LORA name - EQX"
},
{
"author": "yincangshiwei",
"title": "ComfyUI-SEQLToolNode",
"reference": "https://github.com/yincangshiwei/ComfyUI-SEQLToolNode",
"files": [
"https://github.com/yincangshiwei/ComfyUI-SEQLToolNode"
],
"install_type": "git-clone",
"description": "NODES: ImageCropAlphaNode (Image), CanvasFusionNode (Image)"
},
{
"author": "gabe-init",
"title": "comfyui_ui_render [UNSAFE]",
"reference": "https://github.com/gabe-init/comfyui_ui_render",
"files": [
"https://github.com/gabe-init/comfyui_ui_render"
],
"install_type": "git-clone",
"description": "ComfyUI HTML Renderer Node - Display rich HTML content within ComfyUI nodes[w/This nodepack contains nodes that potentially have XSS vulnerabilities.]"
},
{
"author": "gabe-init",
"title": "ComfyUI LM Studio Node [WIP]",
"reference": "https://github.com/gabe-init/ComfyUI-LM-Studio",
"files": [
"https://github.com/gabe-init/ComfyUI-LM-Studio"
],
"install_type": "git-clone",
"description": "A powerful ComfyUI custom node that seamlessly integrates LM Studio's local language models into your ComfyUI workflows. This node supports both text-only and multimodal (text + image) inputs, making it perfect for complex AI-driven creative workflows.\nNOTE: The files in the repo are not organized."
},
{
"author": "LyazS",
"title": "ComfyUI-aznodes",
"reference": "https://github.com/LyazS/ComfyUI-aznodes",
"files": [
"https://github.com/LyazS/ComfyUI-aznodes"
],
"install_type": "git-clone",
"description": "NODES: CrossFadeImageSequence\nNOTE: invalid pyproject.toml"
},
{
"author": "truebillyblue",
"title": "lC.ComfyUI_epistemic_nodes [WIP]",
"reference": "https://github.com/truebillyblue/lC.ComfyUI_epistemic_nodes",
"files": [
"https://github.com/truebillyblue/lC.ComfyUI_epistemic_nodes"
],
"install_type": "git-clone",
"description": "NODES: lC L1 Startle, lC L2 FrameClick, lC L3 KeymapClick, lC L4 AnchorClick, lC L5 FieldClick, lC L6 ReflectBoom, lC Epistemic Pipeline (L1-L7), Create PBI (lC), Query PBIs (lC), Update PBI (lC), lC API LLM Agent, lC Web LLM Agent, ...\nNOTE: The files in the repo are not organized."
},
{
"author": "aklevecz",
"title": "ComfyUI-AutoPrompt [WIP]",
"reference": "https://github.com/aklevecz/ComfyUI-AutoPrompt",
"files": [
"https://github.com/aklevecz/ComfyUI-AutoPrompt"
],
"install_type": "git-clone",
"description": "NODES: Ollama Prompt Generator, Ollama Model Lister, Ollama Chat, Text Display"
},
{
"author": "AlexYez",
"title": "ComfyUI Timesaver Nodes",
"reference": "https://github.com/AlexYez/comfyui-timesaver",
"files": [
"https://github.com/AlexYez/comfyui-timesaver"
],
"install_type": "git-clone",
"description": "ComfyUI nodes from [Timesaver](https://github.com/AlexYez/comfyui-timesaver)."
},
{
"author": "aa-parky",
"title": "pipemind-comfyui",
"reference": "https://github.com/aa-parky/pipemind-comfyui",
"files": [
"https://github.com/aa-parky/pipemind-comfyui"
],
"install_type": "git-clone",
"description": "NODES: Random Line from File (Seeded), Keyword Prompt Composer, Simple Prompt Combiner (5x), Boolean Switch (Any), Select Line from TxT (Any)"
},
{
"author": "pacchikAI",
"title": "ImagePromptBatch [UNSAFE]",
"reference": "https://github.com/pacchikAI/ImagePromptBatch",
"files": [
"https://github.com/pacchikAI/ImagePromptBatch"
],
"install_type": "git-clone",
"description": "NODES: Load Image and Prompt[w/This includes a node that can read the contents of a `.csv` file from an arbitrary path.]"
},
{
"author": "papcorns",
"title": "ComfyUI-Papcorns-Node-UploadToGCS",
"reference": "https://github.com/papcorns/ComfyUI-Papcorns-Node-UploadToGCS",
"files": [
"https://github.com/papcorns/ComfyUI-Papcorns-Node-UploadToGCS"
],
"install_type": "git-clone",
"description": "NODES: Upload Image To GCS"
},
{
"author": "ZHO-ZHO-ZHO",
"title": "Qwen-2.5 in ComfyUI [NAME CONFLICT]",
"reference": "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Qwen",
"files": [
"https://github.com/ZHO-ZHO-ZHO/ComfyUI-Qwen"
],
"install_type": "git-clone",
"description": "Using Qwen-2.5 in ComfyUI"
},
{
"author": "Charonartist",
"title": "gabe-init [WIP]",
"reference": "https://github.com/gabe-init/ComfyUI-Repo-Eater",
"files": [
"https://github.com/gabe-init/ComfyUI-Repo-Eater"
],
"install_type": "git-clone",
"description": "A ComfyUI custom node that ingests GitHub repositories and outputs their content as text along with token count.\nNOTE: The files in the repo are not organized."
},
{
"author": "Charonartist",
"title": "ComfyUI-send-eagle-pro",
"reference": "https://github.com/Charonartist/ComfyUI-send-eagle-pro_2",
"files": [
"https://github.com/Charonartist/ComfyUI-send-eagle-pro_2"
],
"install_type": "git-clone",
"description": "Eagle integration extension node for ComfyUI (Pro version)"
},
{
"author": "Mervent",
"title": "comfyui-yaml-prompt",
"reference": "https://github.com/Mervent/comfyui-yaml-prompt",
"files": [
"https://github.com/Mervent/comfyui-yaml-prompt"
],
"install_type": "git-clone",
"description": "NODES: YAMLPromptParser"
},
{
"author": "dhpdong",
"title": "ComfyUI-IPAdapter-Flux-Repair",
"reference": "https://github.com/dhpdong/ComfyUI-IPAdapter-Flux-Repair",
"files": [
"https://github.com/dhpdong/ComfyUI-IPAdapter-Flux-Repair"
],
"install_type": "git-clone",
"description": "The IPAdapter-Flux node may cause some GPU memory to not be properly released during multiple inferences or when alternating between two nodes, eventually leading to a memory overflow. This project addresses and fixes that issue."
},
{
"author": "usman2003",
"title": "ComfyUI-RaceDetect",
"reference": "https://github.com/usman2003/ComfyUI-RaceDetect",
"files": [
"https://github.com/usman2003/ComfyUI-RaceDetect"
],
"install_type": "git-clone",
"description": "NODES: Race Detection V2"
},
{
"author": "Mervent",
"title": "comfyui-telegram-send",
"reference": "https://github.com/Mervent/comfyui-telegram-send",
"files": [
"https://github.com/Mervent/comfyui-telegram-send"
],
"install_type": "git-clone",
"description": "NODES: TelegramSend, TelegramReply"
},
{
"author": "qlikpetersen",
"title": "ComfyUI-AI_Tools [UNSAFE]",
"reference": "https://github.com/qlikpetersen/ComfyUI-AI_Tools",
"files": [
"https://github.com/qlikpetersen/ComfyUI-AI_Tools"
],
"install_type": "git-clone",
"description": "NODES: DoLogin, HttpRequest, Json2String, String2Json, CreateListString, CreateListJSON, Query_OpenAI, Image_Attachment, JSON_Attachment, String_Attachment, RunPython\n[w/This node pack contains a node with a vulnerability that allows arbitrary code execution.]"
},
{
"author": "MuAIGC",
"title": "DMXAPI Nodes [WIP]",
"reference": "https://github.com/MuAIGC/ComfyUI-DMXAPI_mmx",
"files": [
"https://github.com/MuAIGC/ComfyUI-DMXAPI_mmx"
],
"install_type": "git-clone",
"description": "DMXAPI integration for ComfyUI with Seedream-3.0 text-to-image model\nNOTE: invalid pyproject.toml"
},
{
"author": "Hapseleg",
"title": "This n that (Hapse)",
"reference": "https://github.com/Hapseleg/ComfyUI-This-n-That",
"files": [
"https://github.com/Hapseleg/ComfyUI-This-n-That"
],
"install_type": "git-clone",
"description": "Comfyui custom nodes I use for... This n That..."
},
{
"author": "matDobek",
"title": "ComfyUI_duck",
"reference": "https://github.com/matDobek/ComfyUI_duck",
"files": [
"https://github.com/matDobek/ComfyUI_duck"
],
"install_type": "git-clone",
"description": "NODES: Combine Images (duck)"
},
{
"author": "usman2003",
"title": "ComfyUI-Classifiers",
"reference": "https://github.com/usman2003/ComfyUI-Classifiers",
"files": [
"https://github.com/usman2003/ComfyUI-Classifiers"
],
"install_type": "git-clone",
"description": "NODES: Gender Classification"
},
{
"author": "wTechArtist",
"title": "ComfyUI_vvl_BBOX",
"reference": "https://github.com/wTechArtist/ComfyUI_vvl_BBOX",
"files": [
"https://github.com/wTechArtist/ComfyUI_vvl_BBOX"
],
"install_type": "git-clone",
"description": "NODES: vvl BBox Input"
},
{
"author": "zhengxyz123",
"title": "zhengxyz123/ComfyUI-CLIPSeg [NAME CONFLICT]",
"reference": "https://github.com/zhengxyz123/ComfyUI-CLIPSeg",
"files": [
"https://github.com/zhengxyz123/ComfyUI-CLIPSeg"
],
"install_type": "git-clone",
"description": "Using CLIPSeg model to generate masks for image inpainting tasks based on text or image prompts."
},
{
"author": "Alazuaka",
"title": "ComfyUI Image Analysis Toolkit [WIP]",
"reference": "https://github.com/ThatGlennD/ComfyUI-Image-Analysis-Tools",
"files": [
"https://github.com/ThatGlennD/ComfyUI-Image-Analysis-Tools"
],
"install_type": "git-clone",
"description": "A suite of custom ComfyUI nodes built to evaluate and diagnose the technical qualities of images—especially those generated by AI models. Rather than creating visuals, these tools measure them, offering precise insights into sharpness, noise, exposure, color balance, and more.\nNOTE: The files in the repo are not organized."
},
{
"author": "trampolin",
"title": "comfy-ui-scryfall",
"reference": "https://github.com/trampolin/comfy-ui-scryfall",
"files": [
"https://github.com/trampolin/comfy-ui-scryfall"
],
"install_type": "git-clone",
"description": "Some ComfyUI nodes to fetch cards from scryfall"
},
{
"author": "pomelyu",
"title": "cy-prompt-tools",
"reference": "https://github.com/pomelyu/cy-prompt-tools",
"files": [
"https://github.com/pomelyu/cy-prompt-tools"
],
"install_type": "git-clone",
"description": "prompt tools for comfyui"
},
{
"author": "vivi-gomez",
"title": "ComfyUI-fixnodetranslate",
"reference": "https://github.com/vivi-gomez/ComfyUI-fixnodetranslate",
"files": [
"https://github.com/vivi-gomez/ComfyUI-fixnodetranslate"
],
"install_type": "git-clone",
"description": "Addon for ComfyUI that adds 'Fix node (recreate + keep inputs)' context menu option"
},
{
"author": "Alazuaka",
"title": "ES_nodes for ComfyUI by Alazuka [WIP]",
"reference": "https://github.com/Alazuaka/comfyui-lora-stack-node",
"files": [
"https://github.com/Alazuaka/comfyui-lora-stack-node"
],
"install_type": "git-clone",
"description": "Node for LoRA stack management in ComfyUI\nNOTE: The files in the repo are not organized."
},
{
"author": "Good-Dream-Studio",
"title": "ComfyUI-Connect [WIP]",
@ -72,16 +495,6 @@
"install_type": "git-clone",
"description": "this node lists json files in the ComfyUI input folder[w/If this node pack is installed and the server is running with remote access enabled, it can read the contents of JSON files located in arbitrary paths.]"
},
{
"author": "silveroxides",
"title": "ComfyUI_EmbeddingToolkit",
"reference": "https://github.com/silveroxides/ComfyUI_EmbeddingToolkit",
"files": [
"https://github.com/silveroxides/ComfyUI_EmbeddingToolkit"
],
"install_type": "git-clone",
"description": "NODES: Save Token Embeddings, Save Weighted Embeddings, Save A1111-style Weighted Embeddings"
},
{
"author": "yichengup",
"title": "ComfyUI-YCNodes_Advance",
@ -124,7 +537,6 @@
},
{
"author": "virallover",
"title": "comfyui-virallover",
"reference": "https://github.com/maizerrr/comfyui-code-nodes",
"files": [
"https://github.com/maizerrr/comfyui-code-nodes"
@ -140,7 +552,7 @@
"https://github.com/virallover/comfyui-virallover"
],
"install_type": "git-clone",
"description": "NODES: Download and Load Lora Model Only"
"description": "NODES: Download and Load Lora Model Only, Depth Fitter, Brightness Correction, Edge Noise, Feathered Sharpen, Concat Horizontal With Mask"
},
{
"author": "nobandegani",
@ -530,7 +942,7 @@
"https://github.com/jtydhr88/ComfyUI_frontend_vue_basic"
],
"install_type": "git-clone",
"description": "ComfyUI Frontend Vue Basic is custom node that demonstrate how to use vue as frontend framework along with primevue and vue-i18n, cooperating with ComfyUI API"
"description": "A demonstration custom node that showcases how to integrate Vue as a frontend framework within ComfyUI, complete with PrimeVue components and vue-i18n support."
},
{
"author": "silent-rain",
@ -552,16 +964,6 @@
"install_type": "git-clone",
"description": "NODES: Linsoo Save Image, Linsoo Load Image (In development.. not working), Linsoo Empty Latent Image, Linsoo Multi Inputs, Linsoo Multi Outputs"
},
{
"author": "GACLove",
"title": "ComfyUI-Lightx2vWrapper",
"reference": "https://github.com/GACLove/ComfyUI-Lightx2vWrapper",
"files": [
"https://github.com/GACLove/ComfyUI-Lightx2vWrapper"
],
"install_type": "git-clone",
"description": "NODES: LightX2V WAN T5 Encoder Loader, LightX2V WAN T5 Encoder, LightX2V WAN CLIP Vision Encoder Loader, LightX2V WAN CLIP Vision Encoder, LightX2V WAN VAE Loader, LightX2V WAN Image Encoder, LightX2V WAN VAE Decoder, LightX2V WAN Model Loader, LightX2V WAN Video Sampler, LightX2V WAN Tea Cache, LightX2V WAN Video Empty Embeds"
},
{
"author": "facok",
"title": "ComfyUI-FokToolset",
@ -1132,16 +1534,6 @@
"install_type": "git-clone",
"description": "NODES: Hy3DTools Render Specific View, Hy3DTools Back-Project Inpaint\nNOTE: The files in the repo are not organized."
},
{
"author": "gondar-software",
"title": "comfyui-custom-padding",
"reference": "https://github.com/gondar-software/comfyui-custom-padding",
"files": [
"https://github.com/gondar-software/comfyui-custom-padding"
],
"install_type": "git-clone",
"description": "NODES: Adaptive image padding, Adaptive image unpadding"
},
{
"author": "grokuku",
"title": "Holaf Custom Nodes for ComfyUI",
@ -2034,16 +2426,6 @@
"install_type": "git-clone",
"description": "A collection of custom nodes for ComfyUI, focusing on image handling and LoRA training."
},
{
"author": "thedivergentai",
"title": "Divergent Nodes [WIP]",
"reference": "https://github.com/thedivergentai/divergent_nodes",
"files": [
"https://github.com/thedivergentai/divergent_nodes"
],
"install_type": "git-clone",
"description": "A ComfyUI custom node for counting CLIP tokens in text input."
},
{
"author": "gold24park",
"title": "loki-comfyui-node",
@ -2856,16 +3238,6 @@
],
"install_type": "git-clone",
"description": "A set of nodes to edit videos using the Hunyuan Video model"
},
{
"author": "jonnydolake",
"title": "ComfyUI-AIR-Nodes",
"reference": "https://github.com/jonnydolake/ComfyUI-AIR-Nodes",
"files": [
"https://github.com/jonnydolake/ComfyUI-AIR-Nodes"
],
"install_type": "git-clone",
"description": "NODES: String List To Prompt Schedule, Force Minimum Batch Size, Target Location (Crop), Target Location (Paste), Image Composite Chained, Match Image Count To Mask Count, Random Character Prompts, Parallax Test, Easy Parallax, Parallax GPU Test"
},
{
"author": "watarika",

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -11,6 +11,96 @@
{
"author": "TOM1063",
"title": "ComfyUI-SamuraiTools [REMOVED]",
"reference": "https://github.com/TOM1063/ComfyUI-SamuraiTools",
"files": [
"https://github.com/TOM1063/ComfyUI-SamuraiTools"
],
"install_type": "git-clone",
"description": "ComfyUI custom node for switching integer values based on boolean conditions"
},
{
"author": "whitemoney293",
"title": "ComfyUI-MediaUtilities [REMOVED]",
"reference": "https://github.com/ThanaritKanjanametawatAU/ComfyUI-MediaUtilities",
"files": [
"https://github.com/ThanaritKanjanametawatAU/ComfyUI-MediaUtilities"
],
"install_type": "git-clone",
"description": "Custom nodes for loading and previewing media from URLs in ComfyUI."
},
{
"author": "pureexe",
"title": "DiffusionLight-ComfyUI [REMOVED]",
"reference": "https://github.com/pureexe/DiffusionLight-ComfyUI",
"files": [
"https://github.com/pureexe/DiffusionLight-ComfyUI"
],
"install_type": "git-clone",
"description": "DiffusionLight (Turbo) implemented in ComfyUI"
},
{
"author": "gondar-software",
"title": "comfyui-custom-padding [REMOVED]",
"reference": "https://github.com/gondar-software/comfyui-custom-padding",
"files": [
"https://github.com/gondar-software/comfyui-custom-padding"
],
"install_type": "git-clone",
"description": "NODES: Adaptive image padding, Adaptive image unpadding"
},
{
"author": "Charonartist",
"title": "ComfyUI-EagleExporter [REMOVED]",
"reference": "https://github.com/Charonartist/ComfyUI-EagleExporter",
"files": [
"https://github.com/Charonartist/ComfyUI-EagleExporter"
],
"install_type": "git-clone",
"description": "This is an extension that automatically saves video files generated with ComfyUI's 'video combine' extension to the Eagle library."
},
{
"author": "pomePLaszlo-collablyu",
"title": "comfyui_ejam [REMOVED]",
"reference": "https://github.com/PLaszlo-collab/comfyui_ejam",
"files": [
"https://github.com/PLaszlo-collab/comfyui_ejam"
],
"install_type": "git-clone",
"description": "Ejam nodes for comfyui"
},
{
"author": "jonnydolake",
"title": "ComfyUI-AIR-Nodes [REMOVED]",
"reference": "https://github.com/jonnydolake/ComfyUI-AIR-Nodes",
"files": [
"https://github.com/jonnydolake/ComfyUI-AIR-Nodes"
],
"install_type": "git-clone",
"description": "NODES: String List To Prompt Schedule, Force Minimum Batch Size, Target Location (Crop), Target Location (Paste), Image Composite Chained, Match Image Count To Mask Count, Random Character Prompts, Parallax Test, Easy Parallax, Parallax GPU Test"
},
{
"author": "solution9th",
"title": "Comfyui_mobilesam [REMOVED]",
"reference": "https://github.com/solution9th/Comfyui_mobilesam",
"files": [
"https://github.com/solution9th/Comfyui_mobilesam"
],
"install_type": "git-clone",
"description": "NODES: Mobile SAM Model Loader, Mobile SAM Detector, Mobile SAM Predictor"
},
{
"author": "syaofox",
"title": "ComfyUI_fnodes [REMOVED]",
"reference": "https://github.com/syaofox/ComfyUI_fnodes",
"files": [
"https://github.com/syaofox/ComfyUI_fnodes"
],
"install_type": "git-clone",
"description": "ComfyUI_fnodes is a collection of custom nodes designed for ComfyUI. These nodes provide additional functionality that can enhance your ComfyUI workflows.\nFile manipulation tools, Image resizing tools, IPAdapter tools, Image processing tools, Mask tools, Face analysis tools, Sampler tools, Miscellaneous tools"
},
{
"author": "Hangover3832",
"title": "ComfyUI-Hangover-Moondream [DEPRECATED]",

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,15 @@
{
"custom_nodes": [
{
"author": "Comfy-Org",
"title": "ComfyUI React Extension Template",
"reference": "https://github.com/Comfy-Org/ComfyUI-React-Extension-Template",
"files": [
"https://github.com/Comfy-Org/ComfyUI-React-Extension-Template"
],
"install_type": "git-clone",
"description": "A minimal template for creating React/TypeScript frontend extensions for ComfyUI, with complete boilerplate setup including internationalization and unit testing."
},
{
"author": "Suzie1",
"title": "Guide To Making Custom Nodes in ComfyUI",

846
openapi.yaml Normal file
View File

@ -0,0 +1,846 @@
openapi: 3.1.0
info:
title: ComfyUI-Manager API
description: |
API for ComfyUI-Manager, a comprehensive management tool for ComfyUI custom nodes, models, and components.
This API enables programmatic access to node management, model downloading, snapshot operations,
and overall system configuration.
version: "3.32.3"
contact:
name: ComfyUI-Manager Maintainers
servers:
- url: '/'
description: Default ComfyUI server
# Common API components
components:
schemas:
Error:
type: object
properties:
error:
type: string
description: Error message
NodePackageMetadata:
type: object
properties:
title:
type: string
description: Display name of the node package
name:
type: string
description: Repository/package name
files:
type: array
items:
type: string
description: Source URLs for the package
description:
type: string
description: Description of the node package functionality
install_type:
type: string
enum: [git, copy, pip]
description: Installation method
version:
type: string
description: Version identifier
id:
type: string
description: Unique identifier for the node package
ui_id:
type: string
description: ID for UI reference
channel:
type: string
description: Source channel
mode:
type: string
description: Source mode
ModelMetadata:
type: object
properties:
name:
type: string
description: Name of the model
type:
type: string
description: Type of model
base:
type: string
description: Base model type
save_path:
type: string
description: Path for saving the model
url:
type: string
description: Download URL
filename:
type: string
description: Target filename
ui_id:
type: string
description: ID for UI reference
SnapshotItem:
type: string
description: Name of the snapshot
QueueStatus:
type: object
properties:
total_count:
type: integer
description: Total number of tasks
done_count:
type: integer
description: Number of completed tasks
in_progress_count:
type: integer
description: Number of tasks in progress
is_processing:
type: boolean
description: Whether the queue is currently processing
securitySchemes:
securityLevel:
type: apiKey
in: header
name: Security-Level
description: Security level for sensitive operations
parameters:
modeParam:
name: mode
in: query
description: Source mode (e.g., "local", "remote")
schema:
type: string
enum: [local, remote, default]
targetParam:
name: target
in: query
description: Target identifier
required: true
schema:
type: string
valueParam:
name: value
in: query
description: New value to set
required: true
schema:
type: string
# API Paths
paths:
# Custom Nodes Endpoints
/customnode/getmappings:
get:
summary: Get node-to-package mappings
description: Provides unified mapping between nodes and node packages
parameters:
- $ref: '#/components/parameters/modeParam'
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
additionalProperties:
type: array
items:
type: array
description: Mapping of node packages to node classes
/customnode/fetch_updates:
get:
summary: Check for updates
description: Fetches updates for custom nodes
parameters:
- $ref: '#/components/parameters/modeParam'
responses:
'200':
description: No updates available
'201':
description: Updates found
'400':
description: Error occurred
/customnode/installed:
get:
summary: Get installed custom nodes
description: Returns a list of installed node packages
parameters:
- name: mode
in: query
description: Lists mode, default or imported
schema:
type: string
enum: [default, imported]
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
additionalProperties:
$ref: '#/components/schemas/NodePackageMetadata'
/customnode/getlist:
get:
summary: Get custom node list
description: Provides a list of available custom nodes
parameters:
- $ref: '#/components/parameters/modeParam'
- name: skip_update
in: query
description: Skip update check
schema:
type: boolean
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
channel:
type: string
node_packs:
type: object
additionalProperties:
$ref: '#/components/schemas/NodePackageMetadata'
/customnode/alternatives:
get:
summary: Get alternative node options
description: Provides alternatives for nodes
parameters:
- $ref: '#/components/parameters/modeParam'
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
additionalProperties:
type: object
/customnode/versions/{node_name}:
get:
summary: Get available versions for a node
description: Lists all available versions for a specific node
parameters:
- name: node_name
in: path
required: true
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
version:
type: string
'400':
description: Node not found
/customnode/disabled_versions/{node_name}:
get:
summary: Get disabled versions for a node
description: Lists all disabled versions for a specific node
parameters:
- name: node_name
in: path
required: true
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: object
properties:
version:
type: string
'400':
description: Node not found
/customnode/import_fail_info:
post:
summary: Get import failure information
description: Returns information about why a node failed to import
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
cnr_id:
type: string
url:
type: string
responses:
'200':
description: Successful operation
'400':
description: No information available
/customnode/install/git_url:
post:
summary: Install custom node via Git URL
description: Installs a custom node from a Git repository URL
security:
- securityLevel: []
requestBody:
required: true
content:
text/plain:
schema:
type: string
responses:
'200':
description: Installation successful or already installed
'400':
description: Installation failed
'403':
description: Security policy violation
/customnode/install/pip:
post:
summary: Install custom node dependencies via pip
description: Installs Python package dependencies for custom nodes
security:
- securityLevel: []
requestBody:
required: true
content:
text/plain:
schema:
type: string
responses:
'200':
description: Installation successful
'403':
description: Security policy violation
# Model Management Endpoints
/externalmodel/getlist:
get:
summary: Get external model list
description: Provides a list of available external models
parameters:
- $ref: '#/components/parameters/modeParam'
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
models:
type: array
items:
$ref: '#/components/schemas/ModelMetadata'
# Queue Management Endpoints
/manager/queue/update_all:
get:
summary: Update all custom nodes
description: Queues update operations for all installed custom nodes
security:
- securityLevel: []
parameters:
- $ref: '#/components/parameters/modeParam'
responses:
'200':
description: Update queued successfully
'401':
description: Processing already in progress
'403':
description: Security policy violation
/manager/queue/reset:
get:
summary: Reset queue
description: Resets the operation queue
responses:
'200':
description: Queue reset successfully
/manager/queue/status:
get:
summary: Get queue status
description: Returns the current status of the operation queue
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/QueueStatus'
/manager/queue/install:
post:
summary: Install custom node
description: Queues installation of a custom node
security:
- securityLevel: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NodePackageMetadata'
responses:
'200':
description: Installation queued successfully
'403':
description: Security policy violation
'404':
description: Target node not found or security issue
/manager/queue/start:
get:
summary: Start queue processing
description: Starts processing the operation queue
responses:
'200':
description: Processing started
'201':
description: Processing already in progress
/manager/queue/fix:
post:
summary: Fix custom node
description: Attempts to fix a broken custom node installation
security:
- securityLevel: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NodePackageMetadata'
responses:
'200':
description: Fix operation queued successfully
'403':
description: Security policy violation
/manager/queue/reinstall:
post:
summary: Reinstall custom node
description: Uninstalls and then reinstalls a custom node
security:
- securityLevel: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NodePackageMetadata'
responses:
'200':
description: Reinstall operation queued successfully
'403':
description: Security policy violation
/manager/queue/uninstall:
post:
summary: Uninstall custom node
description: Queues uninstallation of a custom node
security:
- securityLevel: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NodePackageMetadata'
responses:
'200':
description: Uninstallation queued successfully
'403':
description: Security policy violation
/manager/queue/update:
post:
summary: Update custom node
description: Queues update of a custom node
security:
- securityLevel: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NodePackageMetadata'
responses:
'200':
description: Update queued successfully
'403':
description: Security policy violation
/manager/queue/disable:
post:
summary: Disable custom node
description: Disables a custom node without uninstalling it
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NodePackageMetadata'
responses:
'200':
description: Disable operation queued successfully
/manager/queue/update_comfyui:
get:
summary: Update ComfyUI
description: Queues an update operation for ComfyUI itself
responses:
'200':
description: Update queued successfully
/manager/queue/install_model:
post:
summary: Install model
description: Queues installation of a model
security:
- securityLevel: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ModelMetadata'
responses:
'200':
description: Installation queued successfully
'400':
description: Invalid model request
'403':
description: Security policy violation
# Snapshot Management Endpoints
/snapshot/getlist:
get:
summary: Get snapshot list
description: Returns a list of available snapshots
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/SnapshotItem'
/snapshot/remove:
get:
summary: Remove snapshot
description: Removes a specified snapshot
security:
- securityLevel: []
parameters:
- $ref: '#/components/parameters/targetParam'
responses:
'200':
description: Snapshot removed successfully
'400':
description: Error removing snapshot
'403':
description: Security policy violation
/snapshot/restore:
get:
summary: Restore snapshot
description: Restores a specified snapshot
security:
- securityLevel: []
parameters:
- $ref: '#/components/parameters/targetParam'
responses:
'200':
description: Snapshot restoration scheduled
'400':
description: Error restoring snapshot
'403':
description: Security policy violation
/snapshot/get_current:
get:
summary: Get current snapshot
description: Returns the current system state as a snapshot
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
'400':
description: Error creating snapshot
/snapshot/save:
get:
summary: Save snapshot
description: Saves the current system state as a new snapshot
responses:
'200':
description: Snapshot saved successfully
'400':
description: Error saving snapshot
# ComfyUI Management Endpoints
/comfyui_manager/comfyui_versions:
get:
summary: Get ComfyUI versions
description: Returns available and current ComfyUI versions
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
versions:
type: array
items:
type: string
current:
type: string
'400':
description: Error retrieving versions
/comfyui_manager/comfyui_switch_version:
get:
summary: Switch ComfyUI version
description: Switches to a specified ComfyUI version
parameters:
- name: ver
in: query
description: Target version
schema:
type: string
responses:
'200':
description: Version switch successful
'400':
description: Error switching version
/manager/reboot:
get:
summary: Reboot ComfyUI
description: Restarts the ComfyUI server
security:
- securityLevel: []
responses:
'200':
description: Reboot initiated
'403':
description: Security policy violation
# Configuration Endpoints
/manager/preview_method:
get:
summary: Get or set preview method
description: Gets or sets the latent preview method
parameters:
- name: value
in: query
required: false
description: New preview method
schema:
type: string
enum: [auto, latent2rgb, taesd, none]
responses:
'200':
description: Setting updated or current value returned
content:
text/plain:
schema:
type: string
/manager/db_mode:
get:
summary: Get or set database mode
description: Gets or sets the database mode
parameters:
- name: value
in: query
required: false
description: New database mode
schema:
type: string
enum: [channel, local, remote]
responses:
'200':
description: Setting updated or current value returned
content:
text/plain:
schema:
type: string
/manager/policy/component:
get:
summary: Get or set component policy
description: Gets or sets the component policy
parameters:
- name: value
in: query
required: false
description: New component policy
schema:
type: string
responses:
'200':
description: Setting updated or current value returned
content:
text/plain:
schema:
type: string
/manager/policy/update:
get:
summary: Get or set update policy
description: Gets or sets the update policy
parameters:
- name: value
in: query
required: false
description: New update policy
schema:
type: string
enum: [stable, nightly, nightly-comfyui]
responses:
'200':
description: Setting updated or current value returned
content:
text/plain:
schema:
type: string
/manager/channel_url_list:
get:
summary: Get or set channel URL
description: Gets or sets the channel URL for custom node sources
parameters:
- name: value
in: query
required: false
description: New channel name
schema:
type: string
responses:
'200':
description: Setting updated or channel list returned
content:
application/json:
schema:
type: object
properties:
selected:
type: string
list:
type: array
items:
type: object
properties:
name:
type: string
url:
type: string
# Component Management Endpoints
/manager/component/save:
post:
summary: Save component
description: Saves a reusable workflow component
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
workflow:
type: object
responses:
'200':
description: Component saved successfully
content:
text/plain:
schema:
type: string
'400':
description: Error saving component
/manager/component/loads:
post:
summary: Load components
description: Loads all available workflow components
responses:
'200':
description: Components loaded successfully
content:
application/json:
schema:
type: object
'400':
description: Error loading components
# Miscellaneous Endpoints
/manager/version:
get:
summary: Get manager version
description: Returns the current version of ComfyUI-Manager
responses:
'200':
description: Successful operation
content:
text/plain:
schema:
type: string
/manager/notice:
get:
summary: Get manager notice
description: Returns HTML content with notices and version information
responses:
'200':
description: Successful operation
content:
text/html:
schema:
type: string

View File

@ -102,12 +102,8 @@ def extract_nodes(code_text):
def scan_in_file(filename, is_builtin=False):
global builtin_nodes
try:
with open(filename, encoding='utf-8') as file:
code = file.read()
except UnicodeDecodeError:
with open(filename, encoding='cp949') as file:
code = file.read()
with open(filename, encoding='utf-8', errors='ignore') as file:
code = file.read()
pattern = r"_CLASS_MAPPINGS\s*=\s*{([^}]*)}"
regex = re.compile(pattern, re.MULTILINE | re.DOTALL)
@ -297,7 +293,7 @@ def update_custom_nodes():
pass
def is_rate_limit_exceeded():
return g.rate_limiting[0] == 0
return g.rate_limiting[0] <= 11
if is_rate_limit_exceeded():
print(f"GitHub API Rate Limit Exceeded: remained - {(g.rate_limiting_resettime - datetime.datetime.now().timestamp())/60:.2f} min")