ComfyUI Extension: ComfyUI-Dev-Utils

Authored by ty0x2333

Created

Updated

99 stars

Execution Time Analysis, Reroute Enhancement, Node collection for developers.

Custom Nodes (0)

    README

    ComfyUI-Dev-Utils

    GitHub Tag

    Installation

    ComfyUI-Manager

    Guide: ComfyUI-Manager How-to-use

    Manual

    In your ComfyUI directory:

    $ cd custom_nodes
    $ git clone https://github.com/ty0x2333/ComfyUI-Dev-Utils.git
    $ cd ComfyUI-Dev-Utils
    $ pip install -r requirements.txt
    

    Finally, restart ComfyUI

    Features

    1. Execution Time Analysis Tool

      • When running, a Badge will be added to the upper left corner of the Node to display the execution time of the node.

        <details open> <summary>Preview</summary> <img src="https://github.com/ty0x2333/ComfyUI-Dev-Utils/wiki/images/execution-time-badge.png" style="height: 150px"> </details>
      • Add Execution Time Node to display the execution time of each node in a table. At the same time, the current execution time and the last execution time, as well as their differences, will be displayed.

        <details open> <summary>Preview</summary> <img height="150" alt="execution-time-node" src="https://github.com/ty0x2333/ComfyUI-Dev-Utils/assets/7489176/5301f97d-0b38-4a21-859a-12ef06fb0b43"> </details>
      • Add a "Clear Execution Cache" button to the sidebar menu. Click it to clear the current cache(unload models and free memory).

        <details open> <summary>Preview</summary> <img src="https://github.com/ty0x2333/ComfyUI-Dev-Utils/wiki/images/clear-execution-cache-button.png" style="height:200px"> </details>
      <details open> <summary>Usage Example (Video)</summary>

      Execution Time Analysis Demo

      </details>
    2. Log Console

      Provide a Console panel to display Python logs (not Javascript console.log).

      LogConsole automatically captures the output of print, logging, stdout and stderr. Then send it to the web page via SSE.

      <img width="600" alt="2024-04-28 07 42 37" src="https://github.com/ty0x2333/ComfyUI-Dev-Utils/assets/7489176/08a4da36-8cf7-4ff9-8fc1-1e1f955cd317">

      LogConsole Feautes:

      • based on SSE, not Websocket. It will not affect the performance of ComfyUI's core and other functions.
      • Support text color. Differentiate error logs by color.
      • Lazy startup, only starts capturing logs when needed.
      • Supports completely disabling LogConsole.
      <br/> <details open> <summary>Usage Example (Video)</summary>

      LogConsole Demo

      </details>
    3. Reroute Enhancement

      • Add "Reroute" option to node slot menu.

        <details open> <summary>Preview</summary> <table class="center"> <tr style="line-height: 0"> <td width=50% style="border: none; text-align: center">Before</td> <td width=50% style="border: none; text-align: center">After</td> </tr> <tr> <td width=50% style="border: none"><img src="https://github.com/ty0x2333/ComfyUI-Dev-Utils/wiki/images/before-reroute.gif" style="width:100%"></td> <td width=50% style="border: none"><img src="https://github.com/ty0x2333/ComfyUI-Dev-Utils/wiki/images/after-reroute.gif" style="width:100%"></td> </tr> </table> </details>
      • Optimized for deleting Reroute Node.

        <details open> <summary>Preview</summary> <table class="center"> <tr style="line-height: 0"> <td width=50% style="border: none; text-align: center">Before</td> <td width=50% style="border: none; text-align: center">After</td> </tr> <tr> <td width=50% style="border: none"><img src="https://github.com/ty0x2333/ComfyUI-Dev-Utils/wiki/images/before-delete-reroute-node.gif" style="width:100%"></td> <td width=50% style="border: none"><img src="https://github.com/ty0x2333/ComfyUI-Dev-Utils/wiki/images/after-delete-reroute-node.gif" style="width:100%"></td> </tr> </table> </details>
    4. UrlDownload Node

      Download file from remote url and get file path

    5. UploadAnything Node

      Upload any file and get file path

    Reference

    License

    ComfyUI-Dev-Utils is available under the MIT license. See the LICENSE file for more info.