2025-09-29 23:05:02 -07:00
2025-09-29 23:05:02 -07:00
2025-09-29 23:05:02 -07:00
2025-09-29 22:33:11 -07:00
2025-09-29 23:05:02 -07:00

ComfyUI-AutoNotes

An intelligent note-taking extension for ComfyUI that automatically displays relevant notes based on your workflow context.

Features

  • Smart Note Display: Notes automatically appear based on trigger conditions like selected nodes, node attributes, or workflow names
  • Sidebar Interface: Non-intrusive sidebar that doesn't interfere with your workflow
  • Multiple Display Modes:
    • "All" mode shows all notes
    • "Automatic" mode shows only relevant notes based on triggers
  • Rich Formatting: Support for both plaintext and Markdown formatting
  • Trigger Conditions: Configure when notes should appear:
    • Node Selected: Show notes when specific node types are selected
    • Node Attribute: Show notes when nodes have specific attribute values
    • Workflow Name: Show notes when workflow filename contains specific text
  • Pinnable Notes: Pin important notes to always display regardless of context
  • Organized Storage: Notes stored in your ComfyUI user directory with UUID-based organization
  • Edit Dialog: Full-featured editor with tree view and trigger condition management

Installation

  1. Clone or download this repository into your ComfyUI custom_nodes directory:

    cd ComfyUI/custom_nodes
    git clone https://github.com/yourusername/ComfyUI-AutoNotes.git
    
  2. Restart ComfyUI

  3. The AutoNotes sidebar will appear on the right side of your ComfyUI interface

Usage

Basic Operations

  1. Creating Notes: Click the "Add" button in the sidebar control panel
  2. Editing Notes: Click the "Edit" button to open the full editor dialog
  3. Display Modes: Switch between "All" and "Automatic" in the dropdown

Setting Up Trigger Conditions

In the Edit dialog, you can configure when notes should automatically appear:

Node Selected Trigger

  • Displays the note when any of the specified node types is selected
  • Example: CheckpointLoaderSimple, LoraLoader

Node Attribute Trigger

  • Displays the note when a specific node has certain attribute values
  • Useful for showing notes about specific models or settings
  • Example:
    • Node Type: CheckpointLoaderSimple
    • Attribute Name: ckpt_name
    • Attribute Values: mymodel.safetensors, specialmodel.ckpt

Workflow Name Trigger

  • Displays the note when the workflow filename contains specific text
  • Example: portrait, character, anime

Example Use Cases

  1. Model-Specific Notes: Create notes with tips about specific checkpoints that appear when you select them
  2. Node Documentation: Add usage instructions that appear when you select certain node types
  3. Workflow Reminders: Set up notes that remind you of important settings for specific types of workflows
  4. Quick Reference: Pin frequently-used information to always stay visible

Data Storage

Notes are stored in your ComfyUI user directory under autonotes/:

  • notes.json: Contains all note data and metadata
  • folders.json: Contains folder organization (future feature)

Technical Details

File Structure

ComfyUI-AutoNotes/
├── __init__.py              # Extension entry point
├── autonotes.py            # Main Python backend
├── web/
│   └── autonotes.js        # Frontend JavaScript
├── README.md               # This file
└── requirements.md         # Original requirements document

API Endpoints

The extension exposes REST API endpoints for note management:

  • GET /autonotes/notes - Retrieve notes with filtering
  • POST /autonotes/notes - Create new note
  • PUT /autonotes/notes/{uuid} - Update existing note
  • DELETE /autonotes/notes/{uuid} - Delete note
  • GET /autonotes/folders - Retrieve folders
  • POST /autonotes/folders - Create new folder

Data Models

Note Structure:

{
  "uuid": "unique-identifier",
  "folder_uuid": "parent-folder-id",
  "name": "Note Title",
  "content": "Note content...",
  "format_style": "plaintext|markdown",
  "pinned": true|false,
  "trigger_conditions": [...]
}

Trigger Condition Structure:

{
  "type": "node_selected|node_attribute|workflow_name",
  "node_types": ["NodeType1", "NodeType2"],
  "node_type": "SpecificNodeType",
  "attribute_name": "attribute_name",
  "attribute_values": ["value1", "value2"],
  "workflow_names": ["name1", "name2"]
}

Development

The extension follows ComfyUI's standard custom node structure:

  • Python backend handles data management and API endpoints
  • JavaScript frontend provides the user interface
  • Uses ComfyUI's built-in web server and extension system

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly with ComfyUI
  5. Submit a pull request
S
Description
No description provided
Readme MIT
271 KiB
Languages
JavaScript 91%
Python 9%