Compare commits
1 Commits
docs/js-re
...
docs/node-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
729ff5a34b |
50
js/README.md
50
js/README.md
@@ -1,50 +0,0 @@
|
|||||||
# 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.
|
|
||||||
95
node_db/README.md
Normal file
95
node_db/README.md
Normal 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.
|
||||||
Reference in New Issue
Block a user