What problem does it solve?
ComfyUI frontend extensions streamline adding UI features to custom nodes by enabling modular JavaScript hooks, widgets, and UI components, reducing integration work and keeping frontend logic organized.
Core Features & Use Cases
- Hooks and lifecycle methods to customize frontend behavior (init, setup, loadedGraphNode, beforeRegisterVueAppNodeDefs, etc.) for new or existing nodes.
- Custom Widgets and Widgets registry to create rich UI components, with support for DOM-based widgets and Vue component wrappers.
- Declarative extension properties including custom commands, settings, and UI enhancements like sidebars, top bars, and dialogs.
- Real-world use cases include adding a new frontend panel with controls for a custom node, extending the UI with a custom widget, or registering global frontend commands for rapid workflows.
Quick Start
Create a JS extension by exporting WEB_DIRECTORY in Python (for example in init.py) and placing your extension script files under the designated directory so that all extension scripts are loaded automatically at startup.