ComfyUI Extension: ComfyUI AutoNotes

Authored by jfcantu

Created

Updated

9 stars

Automatically display context-aware notes based on workflow state, selected nodes, and node attributes in ComfyUI.

Custom Nodes (0)

    README

    ComfyUI-AutoNotes

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

    šŸ¤” Why use this?

    From time to time, I've found myself wanting to take notes on my experimentation, but usually in a specific context - what sampler settings work well with a particular checkpoint, what prompts work well and don't well, what a particular checkpoint is good/bad at, and so on.

    The problem is keeping those notes organized, and readily available while using ComfyUI. So I made this extension [by telliing Claude Code what to do], with the following goals:

    • Easy to access: Notes should be readily available and easy to edit.
      • Notes appear in the sidebar, and can be edited with a single click.
      • Notes can be pinned to the sidebar, so that they always appear regardless of context.
    • Context-specific: I don't want to have to scroll through a giant text blob, or search through multiple text blobs to find what I need.
      • Notes can be configured to automatically appear only when wanted, using a variety of triggers:
        • When at least one of a list of nodes is present in a workspace.
        • When at least one of a list of nodes is selected.
        • When a specific node is present/selected, AND a specific attribute on the node matches a condition.
    • Easy to organize: I want to be able to find/filter notes easily.
      • Notes can be organized into folders, and assigned tags which can be used for searching/filtering.

    😃 Neat! How do I get it?

    Quick Install (Recommended)

    Use ComfyUI-Manager:

    1. Open ComfyUI Manager
    2. Search for "AutoNotes"
    3. Click Install
    4. Restart ComfyUI

    Manual Install

    1. Navigate to your ComfyUI custom nodes directory:

      cd ComfyUI/custom_nodes
      
    2. Clone this repository:

      git clone https://github.com/jfcantu/ComfyUI-AutoNotes.git
      
    3. Restart ComfyUI

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

    😨 Okay, now how do I use it?

    Creating Your First Note

    Option 1: Quick Add

    1. Click the Add button in the sidebar.
    2. Give your note a name, and select a folder for it to go in.
    3. Start typing!

    Option 2: Smart Add from Selected Node

    1. Two options:
      1. Right-click any node in your workflow and select "Create AutoNote for this node".
      2. Click any node in your workflow, and click "Add From Current Node" on the sidebar.
    2. A dialog will appear for configuring your new note. It will be pre-configured with trigger conditions for that node type and its current settings.

    Display Modes

    Switch between two display modes using the dropdown:

    • All: Shows all notes.
    • Automatic: Shows only relevant notes based on trigger conditions.

    Setting Up Triggers

    Triggers control when notes automatically appear. Edit a note to configure its triggers:

    "Node Selected" Trigger

    Shows the note when you select specific node types.

    Example: Create a note with tips about LoRA usage.

    • Trigger Type: Node Selected
    • Node Types: LoraLoader

    This note will automatically appear whenever you select a LoRA loader node, and disappear when you deselect it.

    "Node Selected + Attribute" Trigger

    Shows the note when you select a specific node type, and that node has certain attribute values.

    Example: Document settings for your favorite checkpoint

    • Trigger Type: Node Attribute
    • Node Type: CheckpointLoaderSimple
    • Attribute Name: ckpt_name
    • Attribute Values: myFavoriteModel.safetensors

    This note will only appear when you select a CheckpointLoaderSimple node, AND the ckpt_name is set to myFavoriteModel.safetensors

    "Node In Workflow" and "Node In Workflow + Attribute" Trigger

    These are mostly identical to the previous two triggers. The only difference is that they will appear if the node or node+attribute combination is anywhere in the workflow, regardless of whether it's selected or not.

    šŸ“ Workflow Name Trigger

    Shows the note when the workflow filename contains specific text.

    Example: Workflow-specific reminders

    • Trigger Type: Workflow Name
    • Workflow Names: portrait, character

    This note will appear if "portrait" or "character" appear in the workflow name.

    šŸ’” Example Use Cases

    Model Documentation

    Create notes for each checkpoint or LoRA with optimal settings, trigger words, and usage tips. They'll appear automatically when you select that model.

    Node Usage Guides

    Document complex nodes with usage instructions that appear when you select them. Great for nodes you don't use every day.

    Workflow Templates

    Pin step-by-step checklists for common workflows (portraits, landscapes, upscaling, etc.).

    Troubleshooting Tips

    Create notes triggered by problematic node combinations to remind yourself of known issues and solutions.

    Quick Reference

    Pin keyboard shortcuts, color management notes, or other frequently-needed information.

    šŸ› ļø Technical Details

    Data Storage

    Notes are stored per-user in your ComfyUI user directory:

    ComfyUI/user/<username>/autonotes/
    ā”œā”€ā”€ notes.json    # All note content and metadata
    └── folders.json  # Folder organization
    

    API Endpoints

    The extension provides REST API endpoints:

    • GET /autonotes/notes - Retrieve filtered notes
    • POST /autonotes/notes - Create note
    • PUT /autonotes/notes/{uuid} - Update note
    • DELETE /autonotes/notes/{uuid} - Delete note
    • GET /autonotes/folders - Retrieve folders
    • POST /autonotes/folders - Create folder
    • PUT /autonotes/folders/{uuid} - Update folder
    • DELETE /autonotes/folders/{uuid} - Delete folder

    Project Structure

    ComfyUI-AutoNotes/
    ā”œā”€ā”€ __init__.py              # Extension entry point
    ā”œā”€ā”€ autonotes.py             # Python backend (data management, API)
    ā”œā”€ā”€ web/
    │   └── autonotes.js         # JavaScript frontend (UI, interactions)
    ā”œā”€ā”€ pyproject.toml           # Project metadata
    └── README.md                # This file
    

    šŸ¤ Contributing

    1. Fork the repository.
    2. Create a feature branch.
    3. Make changes with proper documentation.
    4. Add tests for new functionality.
    5. Submit a pull request.