diff --git a/development/core-concepts/custom-nodes.mdx b/development/core-concepts/custom-nodes.mdx new file mode 100644 index 00000000..485f97a8 --- /dev/null +++ b/development/core-concepts/custom-nodes.mdx @@ -0,0 +1,333 @@ +--- +title: "Custom Nodes" +description: "Learn about installing, enabling dependencies, updating, disabling, and uninstalling custom nodes in ComfyUI" +icon: "window-maximize" +--- + +## About Custom Nodes + +After installing ComfyUI, you'll discover that it includes many built-in nodes. These native nodes are called **Comfy Core** nodes, which are officially maintained by ComfyUI. + +Additionally, there are numerous [**custom nodes**](https://registry.comfy.org) created by various authors from the ComfyUI community. These custom nodes bring extensive functionality to ComfyUI, greatly expanding its capabilities and feature boundaries. + +In this guide, we'll cover various operations related to custom nodes, including installation, updates, disabling, uninstalling, and dependency installation. + +Anyone can develop their own custom extensions for ComfyUI and share them with others. You can find many community custom nodes [here](https://registry.comfy.org). If you want to develop your own custom nodes, visit the section below to get started: + + + Learn how to start developing a custom node + + +## Custom Node Management + +In this section we will cover: +- Installing custom nodes +- Installing node dependencies +- Custom node version control +- Uninstalling custom nodes +- Temporarily disabling custom nodes +- Handling custom node dependency conflicts + + +### 1. Installing Custom Nodes + +Currently, ComfyUI supports installing custom nodes through multiple methods, including: + +- [Install via ComfyUI Manager (Recommended)](#install-via-comfyui-manager) +- Install via Git +- Manual installation + +We recommend installing custom nodes through **ComfyUI Manager**, which is a highly significant tool in the ComfyUI custom node ecosystem. It makes custom node management (such as searching, installing, updating, disabling, and uninstalling) simple - you just need to search for the node you want to install in ComfyUI Manager and click install. + +However, since all custom nodes are currently stored on GitHub, for regions that cannot access GitHub normally, we have written detailed instructions for different custom node installation methods in this guide. + +Additionally, since we recommend using **ComfyUI Manager** for plugin management, we recommend using this tool for plugin management. You can find its source code [here](https://github.com/Comfy-Org/ComfyUI-Manager). +Therefore, in this documentation, we will use installing ComfyUI Manager as a custom node installation example, and supplement how to use it for node management in the relevant introduction sections. + + + + + +Since ComfyUI Manager has very rich functionality, we will use a separate document to introduce the ComfyUI Manager installation chapter. Please visit the link below to learn how to use ComfyUI Manager to install custom nodes. + + + Learn how to use ComfyUI Manager to install custom nodes + + + + + + + + + +First, you need to ensure that Git is installed on your system. You can check if Git is installed by entering the following command in your system terminal: + +```bash +git --version +``` + +If Git is installed, you will see output similar to the following: + +![Windows Terminal](/images/concepts/custom_nodes/win_terminal.jpg) + +If not yet installed, please visit [git-scm.com](https://git-scm.com/) to download the corresponding installation package. Linux users please refer to [git-scm.com/downloads/linux](https://git-scm.com/downloads/linux) for installation instructions. + + +For ComfyUI Desktop version, you can use the Desktop terminal as shown below to complete the installation. +![ComfyUI Desktop Terminal](/images/concepts/custom_nodes/desktop_terminal.jpg) + + + + + +After completing the Git installation, we need the repository address of the custom node. Here we use the ComfyUI-Manager repository address as an example: + +```bash +https://github.com/Comfy-Org/ComfyUI-Manager +``` + +For regions that cannot access GitHub smoothly, you can try using other code hosting service websites to fork the corresponding repository, then use that repository address to complete the node installation, such as gitee, etc. + +First, we need to navigate to the ComfyUI custom nodes directory. Using ComfyUI portable version as an example, if the folder location is `D:\ComfyUI_windows_portable`, then you should be able to find the custom nodes folder at `D:\ComfyUI_windows_portable\ComfyUI\custom_nodes`. First, we need to use the `cd` command to enter the corresponding directory: + +```bash +cd D:\ComfyUI_windows_portable\ComfyUI\custom_nodes +``` + +Then we use the `git clone` command to complete the node installation: + +```bash +git clone https://github.com/Comfy-Org/ComfyUI-Manager +``` + +If everything goes smoothly, you will see output similar to the following: + +![Install Custom Nodes via Git](/images/concepts/custom_nodes/install_custom_nodes_by_git.jpg) + +This means you have successfully cloned the custom node code. Next, we need to install the corresponding dependencies. + + +Please refer to the instructions in the [Installing Node Dependencies](#installing-node-dependencies) section for dependency installation. + + + + + + +Manual installation is not the recommended installation method, but it serves as a backup option when you cannot install smoothly using git. + + +Plugins installed this way will lose the corresponding git version history information and will not be convenient for subsequent version management. + + + + + +For manual installation, we need to first download the corresponding node code and then extract it to the appropriate directory. + +![Download Node Code](/images/concepts/custom_nodes/download_zip.jpg) + +Visit the corresponding custom node repository page: +1. Click the `Code` button +2. Then click the `Download ZIP` button to download the ZIP package +3. Extract the ZIP package + + + +Copy the extracted code from the above steps to the ComfyUI custom nodes directory. Using ComfyUI portable version as an example, if the folder location is `D:\ComfyUI_windows_portable`, then you should be able to find the custom nodes folder at `D:\ComfyUI_windows_portable\ComfyUI\custom_nodes`. Copy the extracted code from the above steps to the corresponding directory. + + + +Please refer to the instructions in the [Installing Node Dependencies](#installing-node-dependencies) section for dependency installation. + + + + + + +### 2. Installing Node Dependencies + +Custom nodes all require the installation of related dependencies. For example, for ComfyUI-Manager, you can visit the [requirements.txt](https://github.com/Comfy-Org/ComfyUI-Manager/blob/main/requirements.txt) file to view the dependency package requirements. + +In the previous steps, we only cloned the custom node code locally and did not install the corresponding dependencies, so next we need to install the corresponding dependencies. + + +Actually, if you use ComfyUI-Manager to install plugins, ComfyUI Manager will automatically help you complete the dependency installation. You just need to restart ComfyUI after installing the plugin. This is why we strongly recommend using ComfyUI Manager to install custom nodes. + +But perhaps you may not be able to use ComfyUI Manager to install custom nodes smoothly in some situations, so we provide this more detailed dependency installation guide. + + +In the [Dependencies](/development/core-concepts/dependencies) chapter, we introduced the relevant content about dependencies in ComfyUI. ComfyUI is a **Python**-based project, and we built an independent **Python** runtime environment for running ComfyUI. All related dependencies need to be installed in this independent **Python** runtime environment. + +If you run `pip install -r requirements.txt` directly in the system-level terminal, the corresponding dependencies may be installed in the system-level **Python** environment, which will cause the dependencies to still be missing in ComfyUI's environment, preventing the corresponding custom nodes from running normally. + +So next we need to use ComfyUI's independent Python runtime environment to complete the dependency installation. + +Depending on different ComfyUI versions, we will use different methods to install the corresponding dependencies: + + + +For ComfyUI Portable version, it uses an embedded Python located in the `\ComfyUI_windows_portable\python_embeded` directory. We need to use this Python to complete the dependency installation. + +First, start the terminal in the portable version directory, or use the `cd` command to navigate to the `\ComfyUI_windows_portable\` directory after starting the terminal. + +![Start Terminal](/images/concepts/custom_nodes/open_terminal.jpg) + +Ensure that the terminal directory is `\ComfyUI_windows_portable\`, as shown below for `D:\ComfyUI_windows_portable\` + +![Terminal](/images/concepts/custom_nodes/terminal.jpg) + +Then use `python_embeded\python.exe` to complete the dependency installation: + +```bash +python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-Manager\requirements.txt +``` +Of course, you can replace ComfyUI-Manager with the name of the custom node you actually installed, but make sure that a `requirements.txt` file exists in the corresponding node directory. + + + + + +Since ComfyUI Desktop already has ComfyUI-Manager and its dependencies installed during the installation process, and this guide uses ComfyUI Manager as an example for custom node installation, you don't actually need to perform ComfyUI Manager dependency installation in the desktop version. +If there are no unexpected issues, we recommend using ComfyUI Manager to install custom nodes, so you don't need to manually install dependencies. + + +![ComfyUI Desktop Terminal](/images/concepts/custom_nodes/desktop_terminal.jpg) + +Then use the following command to install the dependencies for the corresponding plugin: + +```bash +pip install -r .\custom_nodes\\requirements.txt +``` +As shown below, this is the dependency installation for ComfyUI-Hunyuan3Dwrapper: + +![ComfyUI Desktop Dependency Installation](/images/concepts/custom_nodes/install_dependencies.jpg) + + + + +For users with custom Python environments, we recommend using `pip install -r requirements.txt` to complete the dependency installation. + + + + +### Custom Node Version Control + +Custom node version control is actually based on Git version control. You can manage node versions through Git, but ComfyUI Manager has already integrated this version management functionality very well. Many thanks to [@Dr.Lt.Data](https://github.com/ltdrdata) for bringing us such a convenient tool. + +In this section, we will still explain these two different plugin version management methods for you, but if you use ZIP packages for manual installation, the corresponding git version history information will be lost, making it impossible to perform version management. + + + + + +Since we are iterating on ComfyUI Manager, the actual latest interface and steps may change significantly + + + +Perform the corresponding operations as shown to enter the ComfyUI Manager interface + + +You can use the corresponding filters to filter out installed node packages and then perform the corresponding node management + + +Switch to the corresponding version. Manager will help you complete the corresponding dependency updates and installation. Usually, you need to restart ComfyUI after switching versions for the changes to take effect. + + + + + + + + + + +Find the directory folder where your corresponding node is located, such as `ComfyUI/custom_nodes/ComfyUI-Manager` +Use the `cd` command to enter the corresponding folder: +```bash +cd /ComfyUI/custom_nodes/ComfyUI-Manager +``` + + + + +You can use the following command to view all available tags and releases: +```bash +git tag +``` +This will list all version tags, and you can choose the version you want to switch to. + + + +Use the following command to switch to a specified tag or release: +```bash +git checkout +``` +Replace `` with the specific version tag you want to switch to. + + + +If you want to switch to a specific commit version, you can use the following command: +```bash +git checkout +``` +Replace `` with the specific commit hash you want to switch to. + + + +Since the dependencies of the corresponding custom node package may change after version switching, you need to reinstall the dependencies for the corresponding node. Please refer to the instructions in the [Installing Node Dependencies](#2-installing-node-dependencies) section to enter the corresponding environment for installation. + + + + + + + + +### Uninstalling Custom Nodes + +To be updated + +### Temporarily Disabling Custom Nodes + +To be updated + +### Custom Node Dependency Conflicts + +To be updated + +## ComfyUI Manager + +![ComfyUI Manager Interface](/images/concepts/core-concepts_nodes_manager.png) + + +This tool is currently included by default in the [Desktop version](/installation/desktop/windows), while in the [Portable version](/installation/comfyui_portable_windows), you need to refer to the installation instructions in the [Install Manager](#installing-custom-nodes) section of this document. + + +As ComfyUI continues to develop, ComfyUI Manager plays an increasingly important role in ComfyUI. Currently, ComfyUI-Manager has officially joined the Comfy Org organization, officially becoming part of ComfyUI's core dependencies, and continues to be maintained by the original author [Dr.Lt.Data](https://github.com/ltdrdata). You can read [this blog post](https://blog.comfy.org/p/comfyui-manager-joins-comfy-org) for more information. +In future iterations, we will greatly optimize the use of ComfyUI Manager, so the interface shown in this documentation may differ from the latest version of ComfyUI Manager. + + +### Installing the Manager + +If you are running the ComfyUI server application, you need to install the manager. If ComfyUI is running, please close it before continuing. + +The first step is to install Git, which is a command-line application for software version control. Git will download the ComfyUI manager from [github.com](https://github.com). Download and install Git from [git-scm.com](https://git-scm.com/). + +After installing Git, navigate to the ComfyUI server program directory and enter the folder labeled **custom_nodes**. Open a command window or terminal. Make sure the command line shows the current directory path as **custom_nodes**. Enter the following command. This will download the manager. Technically, this is called _cloning a Git repository_. + +### Detecting Missing Nodes + +After installing the manager, you can detect missing nodes in the manager. + +![ComfyUI Manager Interface](/images/concepts/core-concepts_nodes_manager.png) +## Developing a Custom Node + +If you have some development capabilities, please start with the documentation below to learn how to begin developing a custom node. + + + Learn how to start developing a custom node + + + diff --git a/docs.json b/docs.json index 43ab81f2..a2ea3a4a 100644 --- a/docs.json +++ b/docs.json @@ -47,20 +47,40 @@ ] }, { - "group": "Interface", + "group": "Basic Concepts", "pages": [ - "interface/overview", - "interface/user", - "interface/credits", "development/core-concepts/workflow", "development/core-concepts/nodes", + "development/core-concepts/custom-nodes", "development/core-concepts/properties", "development/core-concepts/links", - "interface/maskeditor", "development/core-concepts/models", - "development/core-concepts/dependencies", - "interface/shortcuts", - "interface/appearance" + "development/core-concepts/dependencies" ] + }, + { + "group": "Interface Guide", + "pages": [ + "interface/overview", + "interface/maskeditor", + { + "group": "ComfyUI Settings", + "icon": "gear", + "pages": [ + "interface/settings/overview", + "interface/user", + "interface/credits", + "interface/settings/comfy", + "interface/settings/lite-graph", + "interface/appearance", + "interface/settings/3d", + "interface/settings/comfy-desktop", + "interface/settings/mask-editor", + "interface/shortcuts", + "interface/settings/extension", + "interface/settings/about", + "interface/settings/server-config" + ] + } ] }, { @@ -508,21 +528,40 @@ ] }, { - "group": "界面指南", + "group": "基础概念", "pages": [ - "zh-CN/interface/overview", - "zh-CN/interface/user", - "zh-CN/interface/credits", - "zh-CN/interface/maskeditor", "zh-CN/development/core-concepts/workflow", "zh-CN/development/core-concepts/nodes", "zh-CN/development/core-concepts/custom-nodes", "zh-CN/development/core-concepts/properties", "zh-CN/development/core-concepts/links", "zh-CN/development/core-concepts/models", - "zh-CN/development/core-concepts/dependencies", - "zh-CN/interface/shortcuts", - "zh-CN/interface/appearance" + "zh-CN/development/core-concepts/dependencies" ] + }, + { + "group": "界面指南", + "pages": [ + "zh-CN/interface/overview", + "zh-CN/interface/maskeditor", + { + "group": "ComfyUI 设置", + "icon": "gear", + "pages": [ + "zh-CN/interface/settings/overview", + "zh-CN/interface/user", + "zh-CN/interface/credits", + "zh-CN/interface/settings/comfy", + "zh-CN/interface/settings/lite-graph", + "zh-CN/interface/appearance", + "zh-CN/interface/settings/3d", + "zh-CN/interface/settings/comfy-desktop", + "zh-CN/interface/settings/mask-editor", + "zh-CN/interface/shortcuts", + "zh-CN/interface/settings/extension", + "zh-CN/interface/settings/about", + "zh-CN/interface/settings/server-config" + ] + } ] }, { diff --git a/images/interface/setting/appearance/color-palette.jpg b/images/interface/setting/appearance/color-palette.jpg new file mode 100644 index 00000000..8430d526 Binary files /dev/null and b/images/interface/setting/appearance/color-palette.jpg differ diff --git a/images/interface/setting/appearance/node-opacity.jpg b/images/interface/setting/appearance/node-opacity.jpg new file mode 100644 index 00000000..e484296c Binary files /dev/null and b/images/interface/setting/appearance/node-opacity.jpg differ diff --git a/images/interface/setting/appearance/padding.jpg b/images/interface/setting/appearance/padding.jpg new file mode 100644 index 00000000..fc8f5481 Binary files /dev/null and b/images/interface/setting/appearance/padding.jpg differ diff --git a/images/interface/setting/appearance/set-as-bg.jpg b/images/interface/setting/appearance/set-as-bg.jpg new file mode 100644 index 00000000..781c0f96 Binary files /dev/null and b/images/interface/setting/appearance/set-as-bg.jpg differ diff --git a/images/interface/setting/appearance/textarea-font-size.jpg b/images/interface/setting/appearance/textarea-font-size.jpg new file mode 100644 index 00000000..bd99f618 Binary files /dev/null and b/images/interface/setting/appearance/textarea-font-size.jpg differ diff --git a/images/interface/setting/comfy/UseNewMenu_bottom.jpg b/images/interface/setting/comfy/UseNewMenu_bottom.jpg new file mode 100644 index 00000000..6de1265d Binary files /dev/null and b/images/interface/setting/comfy/UseNewMenu_bottom.jpg differ diff --git a/images/interface/setting/comfy/UseNewMenu_disable.jpg b/images/interface/setting/comfy/UseNewMenu_disable.jpg new file mode 100644 index 00000000..be12ec93 Binary files /dev/null and b/images/interface/setting/comfy/UseNewMenu_disable.jpg differ diff --git a/images/interface/setting/comfy/UseNewMenu_top.jpg b/images/interface/setting/comfy/UseNewMenu_top.jpg new file mode 100644 index 00000000..3965af6e Binary files /dev/null and b/images/interface/setting/comfy/UseNewMenu_top.jpg differ diff --git a/images/interface/setting/comfy/api_node_pricing_badge.jpg b/images/interface/setting/comfy/api_node_pricing_badge.jpg new file mode 100644 index 00000000..0f81dc3b Binary files /dev/null and b/images/interface/setting/comfy/api_node_pricing_badge.jpg differ diff --git a/images/interface/setting/comfy/beta_node.jpg b/images/interface/setting/comfy/beta_node.jpg new file mode 100644 index 00000000..93336c7d Binary files /dev/null and b/images/interface/setting/comfy/beta_node.jpg differ diff --git a/images/interface/setting/comfy/depr_node.jpg b/images/interface/setting/comfy/depr_node.jpg new file mode 100644 index 00000000..2e310898 Binary files /dev/null and b/images/interface/setting/comfy/depr_node.jpg differ diff --git a/images/interface/setting/comfy/node_frequency.png b/images/interface/setting/comfy/node_frequency.png new file mode 100644 index 00000000..3011cbf2 Binary files /dev/null and b/images/interface/setting/comfy/node_frequency.png differ diff --git a/images/interface/setting/comfy/node_id_name.jpg b/images/interface/setting/comfy/node_id_name.jpg new file mode 100644 index 00000000..aa0a45a5 Binary files /dev/null and b/images/interface/setting/comfy/node_id_name.jpg differ diff --git a/images/interface/setting/comfy/node_suggestions.jpg b/images/interface/setting/comfy/node_suggestions.jpg new file mode 100644 index 00000000..8461e6e1 Binary files /dev/null and b/images/interface/setting/comfy/node_suggestions.jpg differ diff --git a/images/interface/setting/comfy/token_weight.mp4 b/images/interface/setting/comfy/token_weight.mp4 new file mode 100644 index 00000000..edf3a9a8 Binary files /dev/null and b/images/interface/setting/comfy/token_weight.mp4 differ diff --git a/images/interface/setting/extension/extension.jpg b/images/interface/setting/extension/extension.jpg new file mode 100644 index 00000000..6b92967c Binary files /dev/null and b/images/interface/setting/extension/extension.jpg differ diff --git a/images/interface/setting/lite-graph/canvas-info.jpg b/images/interface/setting/lite-graph/canvas-info.jpg new file mode 100644 index 00000000..5c8fd25c Binary files /dev/null and b/images/interface/setting/lite-graph/canvas-info.jpg differ diff --git a/images/interface/setting/lite-graph/fast-zoom.mp4 b/images/interface/setting/lite-graph/fast-zoom.mp4 new file mode 100644 index 00000000..aa73b35c Binary files /dev/null and b/images/interface/setting/lite-graph/fast-zoom.mp4 differ diff --git a/images/interface/setting/lite-graph/highlights-node.jpg b/images/interface/setting/lite-graph/highlights-node.jpg new file mode 100644 index 00000000..02eb50d5 Binary files /dev/null and b/images/interface/setting/lite-graph/highlights-node.jpg differ diff --git a/images/interface/setting/lite-graph/link-midpoint.jpg b/images/interface/setting/lite-graph/link-midpoint.jpg new file mode 100644 index 00000000..2dc9a508 Binary files /dev/null and b/images/interface/setting/lite-graph/link-midpoint.jpg differ diff --git a/images/interface/setting/lite-graph/link-release-contenxt-menu.mp4 b/images/interface/setting/lite-graph/link-release-contenxt-menu.mp4 new file mode 100644 index 00000000..4816168a Binary files /dev/null and b/images/interface/setting/lite-graph/link-release-contenxt-menu.mp4 differ diff --git a/images/interface/setting/lite-graph/link-release-search-box.mp4 b/images/interface/setting/lite-graph/link-release-search-box.mp4 new file mode 100644 index 00000000..04358682 Binary files /dev/null and b/images/interface/setting/lite-graph/link-release-search-box.mp4 differ diff --git a/images/interface/setting/lite-graph/link-render-mode.jpg b/images/interface/setting/lite-graph/link-render-mode.jpg new file mode 100644 index 00000000..4b40125a Binary files /dev/null and b/images/interface/setting/lite-graph/link-render-mode.jpg differ diff --git a/images/interface/setting/lite-graph/node-group.png b/images/interface/setting/lite-graph/node-group.png new file mode 100644 index 00000000..fbbe0f0a Binary files /dev/null and b/images/interface/setting/lite-graph/node-group.png differ diff --git a/images/interface/setting/lite-graph/node-id-badge.jpg b/images/interface/setting/lite-graph/node-id-badge.jpg new file mode 100644 index 00000000..81102fd7 Binary files /dev/null and b/images/interface/setting/lite-graph/node-id-badge.jpg differ diff --git a/images/interface/setting/lite-graph/node-source-badge.jpg b/images/interface/setting/lite-graph/node-source-badge.jpg new file mode 100644 index 00000000..bb1c779a Binary files /dev/null and b/images/interface/setting/lite-graph/node-source-badge.jpg differ diff --git a/images/interface/setting/lite-graph/render-mode.jpg b/images/interface/setting/lite-graph/render-mode.jpg new file mode 100644 index 00000000..7e14dcd2 Binary files /dev/null and b/images/interface/setting/lite-graph/render-mode.jpg differ diff --git a/images/interface/setting/lite-graph/reroute-spline-offset.jpg b/images/interface/setting/lite-graph/reroute-spline-offset.jpg new file mode 100644 index 00000000..8837b163 Binary files /dev/null and b/images/interface/setting/lite-graph/reroute-spline-offset.jpg differ diff --git a/images/interface/setting/lite-graph/selection-toolbox.jpg b/images/interface/setting/lite-graph/selection-toolbox.jpg new file mode 100644 index 00000000..fa41e608 Binary files /dev/null and b/images/interface/setting/lite-graph/selection-toolbox.jpg differ diff --git a/images/interface/setting/lite-graph/show-size.jpg b/images/interface/setting/lite-graph/show-size.jpg new file mode 100644 index 00000000..e15d1e7f Binary files /dev/null and b/images/interface/setting/lite-graph/show-size.jpg differ diff --git a/images/interface/setting/lite-graph/snap-link-to-node-slot.mp4 b/images/interface/setting/lite-graph/snap-link-to-node-slot.mp4 new file mode 100644 index 00000000..d119c67a Binary files /dev/null and b/images/interface/setting/lite-graph/snap-link-to-node-slot.mp4 differ diff --git a/images/interface/setting/lite-graph/snap-to-grid.mp4 b/images/interface/setting/lite-graph/snap-to-grid.mp4 new file mode 100644 index 00000000..05e7d217 Binary files /dev/null and b/images/interface/setting/lite-graph/snap-to-grid.mp4 differ diff --git a/images/interface/setting/lite-graph/tooltips.jpg b/images/interface/setting/lite-graph/tooltips.jpg new file mode 100644 index 00000000..8999a58a Binary files /dev/null and b/images/interface/setting/lite-graph/tooltips.jpg differ diff --git a/images/interface/setting/maskeditor/new-mask-editor.jpg b/images/interface/setting/maskeditor/new-mask-editor.jpg new file mode 100644 index 00000000..60f488ce Binary files /dev/null and b/images/interface/setting/maskeditor/new-mask-editor.jpg differ diff --git a/images/interface/setting/maskeditor/old-mask-editor.jpg b/images/interface/setting/maskeditor/old-mask-editor.jpg new file mode 100644 index 00000000..752e43af Binary files /dev/null and b/images/interface/setting/maskeditor/old-mask-editor.jpg differ diff --git a/images/interface/setting/settings-about.jpg b/images/interface/setting/settings-about.jpg new file mode 100644 index 00000000..f008c438 Binary files /dev/null and b/images/interface/setting/settings-about.jpg differ diff --git a/images/interface/sidepanel/model_library.jpg b/images/interface/sidepanel/model_library.jpg new file mode 100644 index 00000000..1b02a5ae Binary files /dev/null and b/images/interface/sidepanel/model_library.jpg differ diff --git a/interface/appearance.mdx b/interface/appearance.mdx index 6f4425ab..cceaf2aa 100644 --- a/interface/appearance.mdx +++ b/interface/appearance.mdx @@ -48,54 +48,100 @@ You can save and share your custom themes: 1. **Export**: In the Color Palette settings, click "Export" to save your current theme configuration as a JSON file 2. **Import**: Click "Import" to load a previously saved theme or one shared by the community -### Color Configuration Properties +### How to Customize Color Themes -The color palette allows you to modify many specific properties. Here are some of the most commonly customized elements: +The color palette allows you to modify many specific properties. Here are some of the most commonly customized elements, with colors represented in hexadecimal format: + + + 1. The JSON comments below are for illustration only. Do not copy the content below for modification as it will cause the theme to malfunction. + 2. Since we are still iterating frequently, the content below may change with ComfyUI frontend updates. If you need to modify, please export the theme configuration from settings and then modify it. + ```json { - "id": "my-custom-theme", // Unique identifier for the theme - "name": "My Custom Theme", // Display name for the theme + "id": "dark", // Must be unique, cannot be the same as other theme IDs + "name": "Dark (Default)", // Theme name, displayed in theme selector "colors": { - "node_slot": { // Node connection slot colors by data type - "CLIP": "#FFD500", // CLIP model connections - "IMAGE": "#64B5F6", // Image data connections - "LATENT": "#FF9CF9", // Latent space connections - "MODEL": "#B39DDB", // Model connections - "VAE": "#FF6E6E" // VAE connections - // (other ComfyUI data types) + "node_slot": { // Node connection slot color configuration + "CLIP": "#FFD500", // CLIP model connection slot color + "CLIP_VISION": "#A8DADC", // CLIP Vision model connection slot color + "CLIP_VISION_OUTPUT": "#ad7452", // CLIP Vision output connection slot color + "CONDITIONING": "#FFA931", // Conditioning control connection slot color + "CONTROL_NET": "#6EE7B7", // ControlNet model connection slot color + "IMAGE": "#64B5F6", // Image data connection slot color + "LATENT": "#FF9CF9", // Latent space connection slot color + "MASK": "#81C784", // Mask data connection slot color + "MODEL": "#B39DDB", // Model connection slot color + "STYLE_MODEL": "#C2FFAE", // Style model connection slot color + "VAE": "#FF6E6E", // VAE model connection slot color + "NOISE": "#B0B0B0", // Noise data connection slot color + "GUIDER": "#66FFFF", // Guider connection slot color + "SAMPLER": "#ECB4B4", // Sampler connection slot color + "SIGMAS": "#CDFFCD", // Sigmas data connection slot color + "TAESD": "#DCC274" // TAESD model connection slot color }, - "litegraph_base": { // Canvas and graph appearance - "CLEAR_BACKGROUND_COLOR": "#222", // Main canvas background - "NODE_TITLE_COLOR": "#999", // Node title text color - "NODE_SELECTED_TITLE_COLOR": "#FFF", // Selected node title color - "NODE_DEFAULT_BGCOLOR": "#353535", // Default node background - "WIDGET_BGCOLOR": "#222", // Widget background color - "LINK_COLOR": "#9A9" // Connection link color - // (other LiteGraph properties) + "litegraph_base": { // LiteGraph base interface configuration + "BACKGROUND_IMAGE": "", // Background image, default is empty + "CLEAR_BACKGROUND_COLOR": "#222", // Main canvas background color + "NODE_TITLE_COLOR": "#999", // Node title text color + "NODE_SELECTED_TITLE_COLOR": "#FFF", // Selected node title color + "NODE_TEXT_SIZE": 14, // Node text size + "NODE_TEXT_COLOR": "#AAA", // Node text color + "NODE_TEXT_HIGHLIGHT_COLOR": "#FFF", // Node text highlight color + "NODE_SUBTEXT_SIZE": 12, // Node subtext size + "NODE_DEFAULT_COLOR": "#333", // Node default color + "NODE_DEFAULT_BGCOLOR": "#353535", // Node default background color + "NODE_DEFAULT_BOXCOLOR": "#666", // Node default border color + "NODE_DEFAULT_SHAPE": 2, // Node default shape + "NODE_BOX_OUTLINE_COLOR": "#FFF", // Node border outline color + "NODE_BYPASS_BGCOLOR": "#FF00FF", // Node bypass background color + "NODE_ERROR_COLOUR": "#E00", // Node error state color + "DEFAULT_SHADOW_COLOR": "rgba(0,0,0,0.5)", // Default shadow color + "DEFAULT_GROUP_FONT": 24, // Group default font size + "WIDGET_BGCOLOR": "#222", // Widget background color + "WIDGET_OUTLINE_COLOR": "#666", // Widget outline color + "WIDGET_TEXT_COLOR": "#DDD", // Widget text color + "WIDGET_SECONDARY_TEXT_COLOR": "#999", // Widget secondary text color + "WIDGET_DISABLED_TEXT_COLOR": "#666", // Widget disabled state text color + "LINK_COLOR": "#9A9", // Connection line color + "EVENT_LINK_COLOR": "#A86", // Event connection line color + "CONNECTING_LINK_COLOR": "#AFA", // Connecting line color + "BADGE_FG_COLOR": "#FFF", // Badge foreground color + "BADGE_BG_COLOR": "#0F1F0F" // Badge background color }, - "comfy_base": { // ComfyUI interface colors - "fg-color": "#fff", // Primary text color - "bg-color": "#202020", // Main background color - "comfy-menu-bg": "#353535", // Menu background color - "comfy-input-bg": "#222", // Input field background - "input-text": "#ddd", // Input text color - "border-color": "#4e4e4e" // Border color - // (other ComfyUI base properties) + "comfy_base": { // ComfyUI base interface configuration + "fg-color": "#fff", // Foreground color + "bg-color": "#202020", // Background color + "comfy-menu-bg": "#353535", // Menu background color + "comfy-menu-secondary-bg": "#303030", // Secondary menu background color + "comfy-input-bg": "#222", // Input field background color + "input-text": "#ddd", // Input text color + "descrip-text": "#999", // Description text color + "drag-text": "#ccc", // Drag text color + "error-text": "#ff4444", // Error text color + "border-color": "#4e4e4e", // Border color + "tr-even-bg-color": "#222", // Table even row background color + "tr-odd-bg-color": "#353535", // Table odd row background color + "content-bg": "#4e4e4e", // Content area background color + "content-fg": "#fff", // Content area foreground color + "content-hover-bg": "#222", // Content area hover background color + "content-hover-fg": "#fff", // Content area hover foreground color + "bar-shadow": "rgba(16, 16, 16, 0.5) 0 0 0.5rem" // Bar shadow effect } } } ``` -## Background Image +## Canvas -ComfyUI allows you to set a custom background image for your canvas, providing a more personalized workspace. +### Background Image -### Requirements +ComfyUI allows you to set a custom background image for your canvas, providing a more personalized workspace. -- ComfyUI frontend version 1.20.5 or newer +- **Requirements**: ComfyUI frontend version 1.20.5 or newer +- **Function**: Set a custom background image for the canvas to provide a more personalized workspace. You can upload images or use web images to set the background for the canvas. -### Setting a Background Image via Settings +#### Setting a Background Image via Settings 1. Click the **Settings** gear icon in the sidebar 2. Go to **Appearance** → **Background Image** @@ -103,7 +149,7 @@ ComfyUI allows you to set a custom background image for your canvas, providing a - Upload an image from your local computer using the upload button - Provide a URL to a remote image -### Setting a Background Image from Generated Results +#### Setting a Background Image from Generated Results You can also quickly set a generated image as the background: @@ -114,6 +160,39 @@ You can also quickly set a generated image as the background: This is a convenient way to use your own creations as a background for further work. +## Node + +### Node Opacity + +- **Function**: Set the opacity of nodes, where 0 represents completely transparent and 1 represents completely opaque. + +## Node Widget + +### Textarea Widget Font Size + +- **Range**: 8 - 24 +- **Function**: Set the font size in textarea widgets. Adjusts the text display size in text input boxes to improve readability. + +## Sidebar + +### Unified Sidebar Width + +- **Function**: When enabled, the sidebar width will be unified to a consistent width when switching between different sidebars. If disabled, different sidebars can maintain their custom widths when switching. + +### Sidebar Size + +- **Function**: Control the size of the sidebar, can be set to normal or small. + +### Sidebar Location + +- **Function**: Control whether the sidebar is displayed on the left or right side of the interface, allowing users to adjust the sidebar position according to their usage habits. + +## Tree Explorer + +### Tree Explorer Item Padding + +- **Function**: Set the padding of items in the tree explorer (sidebar panel), adjusting the spacing between items in the tree structure. + ## Advanced Customization with user.css For cases where the color palette doesn't provide enough control, you can use custom CSS via a user.css file. This method is recommended for advanced users who need to customize elements that aren't available in the color palette system. @@ -132,11 +211,13 @@ For cases where the color palette doesn't provide enough control, you can use cu -### CSS Specificity Note +After finding the above folder location, please copy the corresponding CSS file to the corresponding user directory, such as the default user folder being `ComfyUI/user/default`, then restart ComfyUI or refresh the page to apply changes. + +### user.css Examples and Related Instructions -The user.css file is loaded early in the application startup process. Because of this, you may need to use `!important` in your CSS rules to ensure they override the default styles. +The `user.css` file is loaded early in the application startup process. Because of this, you may need to use `!important` in your CSS rules to ensure they override the default styles. -### Example user.css Customizations +**user.css Customization Examples** ```css /* Increase font size in inputs and menus for better readability */ @@ -158,14 +239,14 @@ The user.css file is loaded early in the application startup process. Because of } ``` -## Best Practices +**Best Practices** 1. **Start with the color palette** for most customizations 2. Use **user.css only when necessary** for elements not covered by the color palette 3. **Export your theme** before making significant changes so you can revert if needed 4. **Share your themes** with the community to inspire others -## Troubleshooting +**Troubleshooting** - If your color palette changes don't appear, try refreshing the page - If CSS customizations don't work, check that you're using frontend version 1.20.5+ diff --git a/interface/credits.mdx b/interface/credits.mdx index ac341e54..e69941c6 100644 --- a/interface/credits.mdx +++ b/interface/credits.mdx @@ -52,6 +52,7 @@ On the payment page, please follow these steps: 3. Choose your payment method - Credit Card - WeChat (only supported when paying in USD) + - Alipay (only supported when paying in USD) 4. Click the `Pay` button or the `Generate QR Code` button to complete the payment process @@ -83,4 +84,8 @@ After completing the payment, please return to `Menu` -> `Credits` to check if y Due to different image sizes and generation quantities, the `Tokens` and `Credits` consumed each time vary. In `Settings` -> `Credits`, you can see the credits consumed each time and the corresponding credit history + + + Please ensure you are paying in USD, as WeChat and Alipay are only supported when paying in USD + \ No newline at end of file diff --git a/interface/settings/3d.mdx b/interface/settings/3d.mdx new file mode 100644 index 00000000..b29fd250 --- /dev/null +++ b/interface/settings/3d.mdx @@ -0,0 +1,50 @@ +--- +title: "ComfyUI 3D Settings" +description: "Detailed description of ComfyUI 3D setting options" +icon: "cube" +sidebarTitle: "3D" +--- + +This section of settings is mainly used to control the initialization settings of 3D-related components in ComfyUI, including camera, lighting, scene, etc. When creating new 3D components, they will be initialized according to these settings. After creation, these settings can still be adjusted individually. + +## Camera + +### Initial Camera Type +- **Options**: + - `perspective` + - `orthographic` +- **Function**: Controls whether the default camera is perspective or orthographic when creating new 3D components. This default setting can still be switched individually for each component after creation + +## Light + +### Light Adjustment Increment +- **Default Value**: 0.5 +- **Function**: Controls the step size when adjusting light intensity in 3D scenes. Smaller step values allow for finer light adjustments, while larger values make each adjustment more noticeable + +### Light Intensity Minimum +- **Default Value**: 1 +- **Function**: Sets the minimum light intensity value allowed in 3D scenes. This defines the lowest brightness that can be set when adjusting the lighting of any 3D control + +### Light Intensity Maximum +- **Default Value**: 10 +- **Function**: Sets the maximum light intensity value allowed in 3D scenes. This defines the upper limit of brightness that can be set when adjusting the lighting of any 3D control + + +### Initial Light Intensity +- **Default Value**: 3 +- **Function**: Sets the default brightness level of lights in 3D scenes. This value determines the intensity with which lights illuminate objects when creating new 3D controls, but each control can be adjusted individually after creation + + +## Scene + +### Initial Background Color +- **Function**: Controls the default background color of 3D scenes. This setting determines the background appearance when creating new 3D components, but each component can be adjusted individually after creation +- **Default Value**: `282828` (dark gray) + +### Initial Preview Visibility +- **Function**: Controls whether the preview screen is displayed by default when creating new 3D components. This default setting can still be toggled individually for each component after creation +- **Default Value**: true (enabled) + +### Initial Grid Visibility +- **Function**: Controls whether the grid is displayed by default when creating new 3D components. This default setting can still be toggled individually for each component after creation +- **Default Value**: true (enabled) diff --git a/interface/settings/about.mdx b/interface/settings/about.mdx new file mode 100644 index 00000000..d3b71b6a --- /dev/null +++ b/interface/settings/about.mdx @@ -0,0 +1,52 @@ +--- +title: "About Page" +description: "Detailed description of ComfyUI About settings page" +icon: "info" +sidebarTitle: "About" +--- + +The About page is an information display panel in the ComfyUI settings system, used to show application version information, related links, and system statistics. These settings can provide us with critical information when you submit feedback or report issues. + +![about](/images/interface/setting/settings-about.jpg) + +### Version Information Badges + +The About page displays the following core version information: + +- **ComfyUI Version**: Shows the backend ComfyUI version number, linked to the official GitHub repository +- **ComfyUI_frontend Version**: Shows the frontend interface version number, linked to the frontend GitHub repository +- **Discord Community**: Provides a link to the ComfyOrg Discord server +- **Official Website**: Links to the ComfyOrg official website + + +Since the version information here mainly corresponds to stable version information, if you are using the nightly version, the corresponding commit hash will not be displayed here. If you are using the nightly version, you can use the `git log` command in the corresponding ComfyUI main directory to view the corresponding commit hash and other information. +Another common issue is that different dependency packages may fail and rollback during updates. + + +### Custom Node Badges + +If custom nodes are installed, the About page will also display additional badge information provided by custom nodes. These badges are registered by each custom node through the `aboutPageBadges` property. + +### System Info + +The bottom of the page displays detailed system statistics, including: +- Hardware configuration information +- Software environment information +- System performance data + +## Extension Developer Guide + +Extension developers can add custom badges to the About page by adding the `aboutPageBadges` property to their extension configuration: + +```javascript +app.registerExtension({ + name: 'MyExtension', + aboutPageBadges: [ + { + label: 'My Extension v1.0.0', + url: 'https://github.com/myuser/myextension', + icon: 'pi pi-github' + } + ] +}) +``` diff --git a/interface/settings/comfy-desktop.mdx b/interface/settings/comfy-desktop.mdx new file mode 100644 index 00000000..b292da39 --- /dev/null +++ b/interface/settings/comfy-desktop.mdx @@ -0,0 +1,35 @@ +--- +title: "ComfyUI Desktop General Settings" +description: "Detailed description of ComfyUI Desktop general setting options" +icon: "desktop" +sidebarTitle: "ComfyUI Desktop" +--- + +## General + +### Window Style +**Function**: Controls the title bar style of the application window + +### Automatically check for updates +**Function**: Automatically checks for ComfyUI Desktop updates and will remind you to update when updates are available + +### Send anonymous usage metrics +**Function**: Sends anonymous usage statistics to help improve the software. Changes to this setting require a restart to take effect + +## UV + +This section is mainly for users in China, because many of the original mirrors used by Desktop are outside of China, so access may not be friendly for domestic users. You can set your own mirror sources here to improve access speed and ensure that corresponding packages can be accessed and downloaded normally. + +### Python Install Mirror +**Function**: + - Managed Python installation packages are downloaded from the Astral python-build-standalone project + - Can set mirror URL to use different Python installation sources + - The provided URL will replace the default GitHub download address + - Supports using file:// protocol to read distribution packages from local directories +**Validation**: Automatically checks mirror reachability + +### Pypi Install Mirror +**Function**: Default pip package installation mirror source + +### Torch Install Mirror + **Function**: PyTorch-specific pip installation mirror source diff --git a/interface/settings/comfy.mdx b/interface/settings/comfy.mdx new file mode 100644 index 00000000..74dc63d3 --- /dev/null +++ b/interface/settings/comfy.mdx @@ -0,0 +1,227 @@ +--- +title: "Comfy Settings" +description: "Detailed description of ComfyUI core setting options" +icon: "sliders" +sidebarTitle: "Comfy" +--- + +## API Nodes + +### Show API node pricing badge +- **Default Value**: Enabled +- **Function**: Controls whether to display pricing badges on API nodes, helping users identify the usage cost of API nodes + +![Show API node pricing badge](/images/interface/setting/comfy/api_node_pricing_badge.jpg) + +> For more information about API nodes, please refer to [API Nodes](/tutorials/api-nodes/overview) + +## Dev Mode + +### Enable dev mode options (API save, etc.) +- **Default Value**: Disabled +- **Function**: Enables development mode options (such as API save, etc.) + + +## Edit Token Weight + +### Ctrl+up/down precision +- **Default Value**: 0.01 +- **Function**: When using CLIPTextEncode type nodes or text input node widgets, use Ctrl+up/down to quickly adjust weights. This option changes the weight value for each adjustment + + + +## Locale + +### Language +- **Options**: English, 中文 (Chinese),日本語 (Japanese), 한국어 (Korean), Русский (Russian), Español (Spanish), Français (French) +- **Default Value**: Auto-detect browser language +- **Function**: Modify the display language of ComfyUI interface + +## Menu + +### Use new menu +- **Default Value**: Top +- **Function**: Select menu interface and position, currently only supports Top, Bottom, Disabled + + + + The menu interface will be displayed at the top of the workspace + ![Top Menu](/images/interface/setting/comfy/UseNewMenu_top.jpg) + + + The menu bar interface will be displayed at the bottom of the workspace + ![Bottom Menu](/images/interface/setting/comfy/UseNewMenu_bottom.jpg) + + + If you prefer the early legacy menu, you can try this option. + + Since we are constantly updating, some new features will not be synchronized and supported in the legacy menu. + + ![Legacy Menu](/images/interface/setting/comfy/UseNewMenu_disable.jpg) + + + +## Model Library + +Model Library refers to the model management function in the ComfyUI sidebar menu. You can use this function to view models in your `ComfyUI/models` and additionally configured model folders. + +![Model Library](/images/interface/sidepanel/model_library.jpg) + +### What name to display in the model library tree view +- **Default Value**: title +- **Function**: Select the name format to display in the model library tree view, currently only supports filename and title + +### Automatically load all model folders +- **Default Value**: Disabled +- **Function**: Whether to automatically detect model files in all folders when clicking the model library. Enabling may cause loading delays (requires traversing all folders). When disabled, files in the corresponding folder will only be loaded when clicking the folder name. + +## Node + +During the iteration process of ComfyUI, we will adjust some nodes and enable some nodes. These nodes may undergo major changes or be removed in future versions. However, to ensure compatibility, deprecated nodes have not been removed. You can use the settings below to enable whether to display **experimental nodes** and **deprecated nodes**. + +### Show deprecated nodes in search +- **Default Value**: Disabled +- **Function**: Controls whether to display deprecated nodes in search. Deprecated nodes are hidden by default in the UI, but remain effective in existing workflows. + +![Show deprecated nodes in search](/images/interface/setting/comfy/depr_node.jpg) + + +### Show experimental nodes in search +- **Default Value**: Enabled +- **Function**: Controls whether to display experimental nodes in search. Experimental nodes are some new feature support, but are not fully stable and may change or be removed in future versions. + +![Show experimental nodes in search](/images/interface/setting/comfy/beta_node.jpg) + + +## Node Search Box + +### Number of nodes suggestions +- **Default Value**: 5 +- **Function**: Used to modify the number of recommended nodes in the related node context menu. The larger the value, the more related recommended nodes are displayed. + +![Number of nodes suggestions](/images/interface/setting/comfy/node_suggestions.jpg) + +### Show node frequency in search results +- **Default Value**: Disabled +- **Function**: Controls whether to display node usage frequency in search results + +![Show node frequency in search results](/images/interface/setting/comfy/node_frequency.png) + +### Show node id name in search results +- **Default Value**: Disabled +- **Function**: Controls whether to display node ID names in search results + +![Show node id name in search results](/images/interface/setting/comfy/node_id_name.jpg) + + +### Show node category in search results +- **Default Value**: Enabled +- **Function**: Controls whether to display node categories in search results, helping users understand node classification information + +### Node preview +- **Default Value**: Enabled +- **Function**: Controls whether to display node previews in search results, making it convenient for you to quickly preview nodes + +### Node search box implementation +- **Default Value**: default +- **Function**: Select the implementation method of the node search box (experimental feature). If you select `litegraph (legacy)`, it will switch to the early ComfyUI search box + +## Node Widget + +### Widget control mode +- **Options**: before, after +- **Function**: Controls whether the timing of node widget value updates is before or after workflow execution, such as updating seed values + +### Textarea widget spellcheck +- **Default Value**: Disabled +- **Function**: Controls whether text area widgets enable spellcheck, providing spellcheck functionality during text input. This functionality is implemented through the browser's spellcheck attribute + +## Queue + +### Queue history size +- **Default Value**: 100 +- **Function**: Controls the queue history size recorded in the sidebar queue history panel. The larger the value, the more queue history is recorded. When the number is large, loading the page will also consume more memory + +## Queue Button + +### Batch count limit +- **Default Value**: 100 +- **Function**: Sets the maximum number of tasks added to the queue in a single click, preventing accidentally adding too many tasks to the queue + +## Validation + +### Validate node definitions (slow) +- **Default Value**: Disabled +- **Function**: Controls whether to validate all node definitions at startup (slow). Only recommended for node developers. When enabled, the system will use Zod schemas to strictly validate each node definition. This functionality will consume more memory and time +- **Error Handling**: Failed node definitions will be skipped and warning information will be output to the console + + + Since detailed schema validation needs to be performed on all node definitions, this feature will significantly increase startup time, so it is disabled by default and only recommended for node developers + + +### Validate workflows +- **Default Value**: Enabled +- **Function**: Ensures the structural and connection correctness of workflows. If enabled, the system will call `useWorkflowValidation().validateWorkflow()` to validate workflow data +- **Validation Process**: The validation process includes two steps: + - Schema validation: Use Zod schemas to validate workflow structure + - Link repair: Check and repair connection issues between nodes +- **Error Handling**: When validation fails, error prompts will be displayed, but workflow loading will not be blocked + +## Window + +### Show confirmation when closing window +- **Default Value**: Enabled +- **Function**: When there are modified but unsaved workflows, controls whether to display confirmation when closing the browser window or tab, preventing accidental window closure that leads to loss of unsaved workflows + +## Workflow + +### Persist workflow state and restore on page (re)load +- **Default Value**: Enabled +- **Function**: Controls whether to restore workflow state on page (re)load, maintaining workflow content after page refresh + +### Auto Save +- **Default Value**: off +- **Function**: Controls the auto-save behavior of workflows, automatically saving workflow changes to avoid data loss + +### Auto Save Delay (ms) +- **Default Value**: 1000 +- **Function**: Sets the delay time for auto-save, only effective when auto-save is set to "after delay" + +### Show confirmation when deleting workflows +- **Default Value**: Enabled +- **Function**: Controls whether to display a confirmation dialog when deleting workflows in the sidebar, preventing accidental deletion of important workflows + +### Save and restore canvas position and zoom level in workflows +- **Default Value**: Enabled +- **Function**: Controls whether to save and restore canvas position and zoom level in workflows, restoring the previous view state when reopening workflows + +### Opened workflows position +- **Options**: Sidebar, Topbar, Topbar (Second Row) +- **Default Value**: Topbar +- **Function**: Controls the display position of opened workflow tabs, currently only supports Sidebar, Topbar, Topbar (Second Row) + +### Prompt for filename when saving workflow +- **Default Value**: Enabled +- **Function**: Controls whether to prompt for filename input when saving workflows, allowing users to customize workflow filenames + +### Sort node IDs when saving workflow +- **Default Value**: Disabled +- **Function**: Determines whether to sort node IDs when saving workflows, making workflow file format more standardized and convenient for version control + +### Show missing nodes warning +- **Default Value**: Enabled +- **Function**: Controls whether to display warnings for missing nodes in workflows, helping users identify unavailable nodes in workflows + +### Show missing models warning +- **Default Value**: Enabled +- **Function**: We support adding model link information to widget values in workflow files for prompts when loading model files. When enabled, if you don't have the corresponding model files locally, warnings for missing models in workflows will be displayed + +### Require confirmation when clearing workflow +- **Default Value**: Enabled +- **Function**: Controls whether to display a confirmation dialog when clearing workflows, preventing accidental clearing of workflow content + +### Save node IDs to workflow +- **Default Value**: Enabled +- **Function**: Controls whether to save node IDs when saving workflows, making workflow file format more standardized and convenient for version control \ No newline at end of file diff --git a/interface/settings/extension.mdx b/interface/settings/extension.mdx new file mode 100644 index 00000000..d62a3859 --- /dev/null +++ b/interface/settings/extension.mdx @@ -0,0 +1,43 @@ +--- +title: "Extension Settings" +description: "Detailed description of ComfyUI extension management and setting options" +icon: "puzzle-piece" +sidebarTitle: "Extension" +--- + +The Extension settings panel is a special management panel in the ComfyUI frontend settings system, specifically used to manage the enable/disable status of frontend extension plugins. Unlike Custom Nodes, this panel is only used to manage frontend extensions registered by custom nodes, not to disable custom nodes themselves. + +![extension](/images/interface/setting/extension/extension.jpg) + +These frontend extension plugins are used to enhance the ComfyUI experience, such as providing shortcuts, settings, UI components, menu items, and other features. + +Extension status changes require a page reload to take effect: + +## Extension Settings Panel Features + +### 1. Extension List Management +Displays all registered extensions, including: +- Extension Name +- Core extension identification (displays "Core" label) +- Enable/disable status + +### 2. Search Functionality +Provides a search box to quickly find specific extensions: + +### 3. Enable/Disable Control +Each extension has an independent toggle switch: + +### 4. Batch Operations +Provides right-click menu for batch operations: +- Enable All extensions +- Disable All extensions +- Disable 3rd Party extensions (keep core extensions) + +## Notes + +- Extension status changes require a page reload to take effect +- Some core extensions cannot be disabled +- The system will automatically disable known problematic extensions +- Extension settings are automatically saved to the user configuration file + +This Extension settings panel is essentially a "frontend plugin manager" that allows users to flexibly control ComfyUI's functional modules. \ No newline at end of file diff --git a/interface/settings/lite-graph.mdx b/interface/settings/lite-graph.mdx new file mode 100644 index 00000000..fbf5cfe4 --- /dev/null +++ b/interface/settings/lite-graph.mdx @@ -0,0 +1,242 @@ +--- +title: "ComfyUI Canvas (LiteGraph) Settings" +description: "Detailed description of ComfyUI graphics rendering engine LiteGraph setting options" +icon: "diagram-project" +sidebarTitle: "Canvas" +--- + +LiteGraph is the underlying graphics rendering engine of ComfyUI. The settings in this category mainly control the behavior and appearance of graphical interfaces such as canvas, nodes, and links. + +## Canvas + +### Show selection toolbox +- **Default Value**: Enabled +- **Function**: The selection toolbox is a floating quick action toolbar that appears on nodes after they are selected, providing common quick operations such as partial execution, pinning, deletion, color modification, etc. + +![Show selection toolbox](/images/interface/setting/lite-graph/selection-toolbox.jpg) + +### Low quality rendering zoom threshold +- **Default Value**: 0.6 +- **Range**: 0.1 - 1.0 +- **Function**: When rendering the interface, especially when the workflow is particularly complex and the entire canvas is particularly large, the frontend rendering of corresponding elements will consume a lot of memory and cause lag. By lowering this threshold, you can control elements to enter low quality rendering mode when scaled to a specific percentage, thereby reducing memory consumption. The corresponding different rendering modes are shown below + +![Low quality rendering](/images/interface/setting/lite-graph/render-mode.jpg) + +### Maximum FPS +- **Default Value**: 0 (use screen refresh rate) +- **Range**: 0 - 120 +- **Function**: Limits the rendering frame rate of the canvas. 0 means using the screen refresh rate. Higher FPS will make the canvas rendering smoother, but will also consume more performance. Too low values will cause more obvious stuttering. + +### Always snap to grid +- **Default Value**: Disabled +- **Function**: When this option is not enabled, you can hold the `Shift` key to align node edges with the grid. When enabled, node edges will automatically align with the grid without holding the `Shift` key. + + + +### Snap to grid size +- **Range**: 1 - 500 +- **Function**: When auto-snap is enabled or when moving nodes while holding the `Shift` key, this parameter determines the grid size for snapping. The default value is 10, and you can adjust it according to your needs. + +### Enable fast-zoom shortcut (Ctrl + Shift + Drag) +- **Default Value**: Enabled +- **Function**: Enables the `Ctrl + Shift + Left Mouse Button Drag` fast zoom function, providing a faster zoom operation method + + + +### Show graph canvas menu +- **Default Value**: Enabled +- **Function**: Controls whether to display the canvas right-click menu, enable/disable the canvas context menu + +### Canvas zoom speed +- **Default Value**: 1.1 +- **Range**: 1.01 - 2.5 +- **Function**: Controls the speed of canvas zooming, adjusts the sensitivity of mouse wheel zooming + +### Show canvas info on bottom left corner (fps, etc.) +- **Default Value**: Enabled +- **Function**: Controls whether to display canvas information in the bottom left corner, showing performance metrics like FPS + +![Canvas info](/images/interface/setting/lite-graph/canvas-info.jpg) + +## Context Menu + +### Scale node combo widget menus (lists) when zoomed in +- **Default Value**: Enabled +- **Function**: Controls whether to scale node combo widget menus (lists) when zoomed in, allowing users to select node combo widgets + +## Graph + +### Link Render Mode +- **Default Value**: 2 (Spline) +- **Options**: Straight, Linear, Spline, Hidden +- **Function**: Sets the rendering style of connections, controlling the visual style of links between nodes + +![Link Render Mode](/images/interface/setting/lite-graph/link-render-mode.jpg) + +## Group + +This section of settings is mainly related to node group functionality + +![Node Group](/images/interface/setting/lite-graph/node-group.png) + +### Double click group title to edit +- **Default Value**: Enabled +- **Function**: Controls whether you can double-click the node title to edit it, allowing users to rename nodes, marked as part `1` in the image + +### Group selected nodes padding +- **Default Value**: 10 +- **Range**: 0 - 100 +- **Function**: Sets the inner padding when grouping selected nodes, controlling the spacing between the group frame and nodes, marked as the arrow annotation part `2` in the image + +## Link + +### Link midpoint markers +- **Default Value**: Circle +- **Options**: None, Circle, Arrow +- **Function**: Sets the marker style at link midpoints, displaying direction indicators at link midpoints + +![Link midpoint markers](/images/interface/setting/lite-graph/link-midpoint.jpg) + +## Link Release + +This menu section currently mainly controls related operations when link connections are released. The current two related operations are: + +**A node recommendation list related to the current input/output will appear after release** + + +**A search box will be launched after release** + + +### Action on link release (Shift) +- **Default Value**: search box +- **Options**: context menu, search box, no action +- **Function**: Sets the action when releasing links while holding the Shift key, special behavior when releasing links while holding Shift + +### Action on link release (No modifier) +- **Default Value**: context menu +- **Options**: context menu, search box, no action +- **Function**: Sets the default action when releasing links, controls the behavior after dragging and releasing links + +## Node + +### Always shrink new nodes +- **Default Value**: Enabled +- **Function**: Controls whether to automatically shrink when creating new nodes, so nodes can always display the minimum size, but may cause some text display to be truncated when adding, requiring manual adjustment of node size + +### Enable DOM element clipping (enabling may reduce performance) +- **Default Value**: Enabled +- **Function**: Enables DOM element clipping (may affect performance), optimizes rendering but may reduce performance + +### Middle-click creates a new Reroute node +- **Default Value**: Enabled +- **Function**: Creates a new reroute node when middle-clicking, quickly creates reroute nodes for organizing connections + +### Keep all links when deleting nodes +- **Default Value**: Enabled +- **Function**: Automatically bypasses connections when deleting intermediate nodes, attempts to reconnect input and output links when deleting nodes + +### Snap highlights node +- **Default Value**: Enabled +- **Function**: Highlights nodes when dragging links to them, provides visual feedback, shows connectable nodes. When enabled, the effect is as shown in the image below, the corresponding side of the link will display highlighted style + +![Snap highlights node](/images/interface/setting/lite-graph/highlights-node.jpg) + +### Auto snap link to node slot +- **Default Value**: Enabled +- **Function**: Automatically snaps to available slots when dragging links to nodes, simplifies connection operations, automatically finds suitable input slots + + + +### Enable Tooltips +- **Default Value**: Enabled +- **Function**: Some node information will contain tooltips, including parameter descriptions, etc. When enabled, these tooltips will be displayed when hovering the mouse, as shown in the image below + +![Enable Tooltips](/images/interface/setting/lite-graph/tooltips.jpg) + +### Tooltip Delay +- **Default Value**: 500 +- **Function**: Controls the delay time for tooltips, in milliseconds. Setting to 0 means displaying tooltips immediately + +### Node life cycle badge mode +- **Default Value**: Show all +- **Function**: Controls the display of node lifecycle markers, showing node status information + +### Node ID badge mode +- **Default Value**: Show all +- **Function**: Controls the display of node ID markers, showing node unique identifiers + +![Node ID badge mode](/images/interface/setting/lite-graph/node-id-badge.jpg) + +### Node source badge mode +- **Options**: + - None + - Hide built-in + - Show all +- **Function**: Controls the display mode of node source markers, showing node source information. The corresponding display effect is shown in the image below. If show all is selected, it will display labels for both custom nodes and built-in nodes, making it convenient for you to determine the corresponding node source. The corresponding fox logo represents ComfyUI built-in nodes + +![Node source badge mode](/images/interface/setting/lite-graph/node-source-badge.jpg) + +### Double click node title to edit +- **Default Value**: Enabled +- **Function**: Controls whether you can double-click the node title to edit it, allowing users to rename nodes + +## Node Widget + +### Float widget rounding decimal places [0 = auto] +- **Default Value**: 0 (auto) +- **Range**: 0 - 6 +- **Function**: Sets the decimal places for float widget rounding, 0 means auto, requires page reload + +### Disable default float widget rounding +- **Default Value**: Disabled +- **Function**: Controls whether to disable default float widget rounding, requires page reload, cannot be disabled when the node backend has set rounding + +### Disable node widget sliders +- **Default Value**: Disabled +- **Function**: Controls whether to disable slider controls in node widgets, forcing text input instead of sliders + +### Preview image format +- **Default Value**: Empty string (use original format) +- **Function**: Sets the format for preview images in image widgets, converts to lightweight formats like webp, jpeg, etc. + +### Show width × height below the image preview +- **Default Value**: Enabled +- **Function**: Displays width × height information below image previews, showing image dimension information + +![Show width × height below the image preview](/images/interface/setting/lite-graph/show-size.jpg) + +## Pointer + +### Enable trackpad gestures +- **Default Value**: Enabled +- **Function**: This setting enables trackpad mode for the canvas, allowing two-finger pinch zoom and drag. + +### Double click interval (maximum) +- **Default Value**: 300 +- **Function**: Maximum time (milliseconds) between two clicks of a double-click. Increasing this value helps solve issues where double-clicks are sometimes not recognized. + +### Pointer click drift delay +- **Default Value**: 150 +- **Function**: Maximum time (milliseconds) to ignore pointer movement after pressing the pointer button. Helps prevent accidental mouse movement when clicking. + +### Pointer click drift (maximum distance) +- **Default Value**: 6 +- **Function**: If the pointer moves more than this distance while holding the button, it is considered a drag (rather than a click). Helps prevent accidental mouse movement when clicking. + +## Reroute + +### Reroute spline offset +- **Default Value**: 20 +- **Function**: Used to determine the smoothness of curves on both sides of reroute nodes. Larger values make curves smoother, smaller values make curves sharper. + +![Reroute spline offset](/images/interface/setting/lite-graph/reroute-spline-offset.jpg) \ No newline at end of file diff --git a/interface/settings/mask-editor.mdx b/interface/settings/mask-editor.mdx new file mode 100644 index 00000000..55797512 --- /dev/null +++ b/interface/settings/mask-editor.mdx @@ -0,0 +1,34 @@ +--- +title: "ComfyUI Mask Editor Settings" +description: "Detailed description of ComfyUI mask editor setting options" +icon: "brush" +sidebarTitle: "Mask Editor" +--- + +## Brush Adjustment + +### Brush adjustment speed multiplier +- **Function**: Controls the speed of brush size and hardness changes during adjustment +- **Description**: Higher values mean faster changes + +### Lock brush adjustment to dominant axis +- **Function**: When enabled, brush adjustment will only affect size or hardness based on the direction you move +- **Description**: This feature allows users to more precisely control brush property adjustments + +## New Editor + +### Use new mask editor + +- **Function**: Switch to the new brush editor interface +- **Description**: Allows users to switch between new and old editor interfaces + + + + The new version has a better UI interface and interaction, with more complete functionality + ![new](/images/interface/setting/maskeditor/new-mask-editor.jpg) + + + The old version is an early version with relatively simple functionality, but can meet basic needs. It will not be updated in the future. + ![old](/images/interface/setting/maskeditor/old-mask-editor.jpg) + + diff --git a/interface/settings/overview.mdx b/interface/settings/overview.mdx new file mode 100644 index 00000000..c52d2511 --- /dev/null +++ b/interface/settings/overview.mdx @@ -0,0 +1,53 @@ +--- +title: "ComfyUI Settings Overview" +description: "Detailed description of ComfyUI settings overview" +icon: "book" +sidebarTitle: "Overview" +--- + +This section covers detailed setting descriptions in the ComfyUI frontend settings menu. All user settings are automatically saved to the `ComfyUI/user/default/comfy.settings.json` file. + +You can use the `Ctrl + ,` keyboard shortcut to open the settings panel, then click on the corresponding setting options to configure them. + +Since custom nodes can also register corresponding setting categories in the menu, our official documentation currently only includes native setting content. Additionally, some setting options are **only effective for ComfyUI Desktop**, which we have noted on the corresponding pages. + +## ComfyUI Settings Menu + + + + User settings related to ComfyUI account, mainly used for logging into ComfyUI account to use API nodes + + + Entry for purchasing credits and credit balance history, only visible after logging into ComfyUI account + + + Detailed description of ComfyUI core setting options + + + Detailed description of Canvas (Lite Graph) setting options in ComfyUI + + + Modify ComfyUI appearance options such as themes, background colors, sidebar position, etc. + + + Manage the enable/disable status of frontend extension plugins in ComfyUI + + + Some setting options for 3D node initialization + + + Desktop update settings, mirror settings, etc. (only effective for ComfyUI Desktop) + + + Adjust mask editor usage preferences + + + Modify ComfyUI keyboard shortcut settings + + + Learn about current ComfyUI version information, device runtime information, etc., which is very useful for daily feedback + + + Modify ComfyUI configuration file, this setting is only effective for ComfyUI Desktop + + \ No newline at end of file diff --git a/interface/settings/server-config.mdx b/interface/settings/server-config.mdx new file mode 100644 index 00000000..8ccfb4ba --- /dev/null +++ b/interface/settings/server-config.mdx @@ -0,0 +1,251 @@ +--- +title: "Server Config" +description: "Detailed description of ComfyUI server configuration options" +icon: "server" +sidebarTitle: "Server Config" +--- + + +Currently the `Server Config` settings menu only exists in the Desktop version, and this settings menu item does not exist in other versions + + +## Network + +### Host: The IP address to listen on +- **Function**: Sets the IP address the server binds to. Default `127.0.0.1` means only local access is allowed. If you need LAN access, you can set it to `0.0.0.0` + + + Although we provide LAN listening settings for the Desktop version, as a desktop application, it is not suitable for use as a server. We recommend that if you need to use ComfyUI as a public service within the LAN, please refer to the manual deployment tutorial to deploy the corresponding ComfyUI service. + + +### Port: The port to listen on +**Function**: The port number the server listens on. Desktop version defaults to port 8000, Web version typically uses port 8188 + +### TLS Key File: Path to TLS key file for HTTPS +**Function**: The private key file path required for HTTPS encryption, used to establish secure connections + +### TLS Certificate File: Path to TLS certificate file for HTTPS +**Function**: The certificate file path required for HTTPS encryption, used in conjunction with the private key + +### Enable CORS header: Use "*" for all origins or specify domain +**Function**: Cross-Origin Resource Sharing settings, allowing web browsers to access the server from different domains + +### Maximum upload size (MB) +**Function**: Limits the maximum size of single file uploads, in MB, default 100MB. Affects upload limits for images, models and other files + + +## CUDA + +### CUDA device index to use +**Function**: Specifies which NVIDIA graphics card to use. 0 represents the first graphics card, 1 represents the second, and so on. Important for multi-GPU systems + +### Use CUDA malloc for memory allocation +**Function**: Controls whether to use CUDA's memory allocator. Can improve memory management efficiency in certain situations + +## Inference + +### Global floating point precision +**Function**: Sets the numerical precision for model calculations. FP16 saves VRAM but may affect quality, FP32 is more precise but uses more VRAM + +### UNET precision +**Options**: +- `auto`: Automatically selects the most suitable precision +- `fp64`: 64-bit floating point precision, highest precision but largest VRAM usage +- `fp32`: 32-bit floating point precision, standard precision +- `fp16`: 16-bit floating point precision, can save VRAM +- `bf16`: 16-bit brain floating point precision, between fp16 and fp32 +- `fp8_e4m3fn`: 8-bit floating point precision (e4m3), minimal VRAM usage +- `fp8_e5m2`: 8-bit floating point precision (e5m2), minimal VRAM usage + +**Function**: Specifically controls the computational precision of the UNET core component of diffusion models. Higher precision can provide better image generation quality but uses more VRAM. Lower precision can significantly save VRAM but may affect the quality of generated results. + +### VAE precision + +**Options and Recommendations**: +- `auto`: Automatically selects the most suitable precision, recommended for users with 8-12GB VRAM +- `fp16`: 16-bit floating point precision, recommended for users with 6GB or less VRAM, can save VRAM but may affect quality +- `fp32`: 32-bit floating point precision, recommended for users with 16GB or more VRAM who pursue the best quality +- `bf16`: 16-bit brain floating point precision, recommended for newer graphics cards that support this format, can achieve better performance balance + +**Function**: Controls the computational precision of the Variational Autoencoder (VAE), affecting the quality and speed of image encoding/decoding. Higher precision can provide better image reconstruction quality but uses more VRAM. Lower precision can save VRAM but may affect image detail restoration. + +### Run VAE on CPU +**Function**: Forces VAE to run on CPU, can save VRAM but will reduce processing speed + +### Text Encoder precision +**Options**: +- `auto`: Automatically selects the most suitable precision +- `fp8_e4m3fn`: 8-bit floating point precision (e4m3), minimal VRAM usage +- `fp8_e5m2`: 8-bit floating point precision (e5m2), minimal VRAM usage +- `fp16`: 16-bit floating point precision, can save VRAM +- `fp32`: 32-bit floating point precision, standard precision + +**Function**: Controls the computational precision of the text prompt encoder, affecting the accuracy of text understanding and VRAM usage. Higher precision can provide more accurate text understanding but uses more VRAM. Lower precision can save VRAM but may affect prompt parsing effectiveness. + +## Memory + +### Force channels-last memory format +**Function**: Changes the data arrangement in memory, may improve performance on certain hardware + +### DirectML device index +**Function**: Specifies the device when using DirectML acceleration on Windows, mainly for AMD graphics cards + +### Disable IPEX optimization +**Function**: Disables Intel CPU optimization, mainly affects Intel processor performance + +### VRAM management mode +**Options**: +- `auto`: Automatically manages VRAM, allocating VRAM based on model size and requirements +- `lowvram`: Low VRAM mode, uses minimal VRAM, may affect generation quality +- `normalvram`: Standard VRAM mode, balances VRAM usage and performance +- `highvram`: High VRAM mode, uses more VRAM for better performance +- `novram`: No VRAM usage, runs entirely on system memory +- `cpu`: CPU-only mode, doesn't use graphics card + +**Function**: Controls VRAM usage strategy, such as automatic management, low VRAM mode, etc. + +### Reserved VRAM (GB) +**Function**: Amount of VRAM reserved for the operating system and other programs, prevents system freezing + +### Disable smart memory management +**Function**: Disables automatic memory optimization, forces models to move to system memory to free VRAM + +## Preview + +### Method used for latent previews +**Options**: +- `none`: No preview images displayed, only shows progress bar during generation +- `auto`: Automatically selects the most suitable preview method, dynamically adjusts based on system performance and VRAM +- `latent2rgb`: Directly converts latent space data to RGB images for preview, faster but average quality +- `taesd`: Uses lightweight TAESD model for preview, balances speed and quality + +**Function**: Controls how to preview intermediate results during generation. Different preview methods affect preview quality and performance consumption. Choosing the right preview method can find a balance between preview effects and system resource usage. + +### Size of preview images +**Function**: Sets the resolution of preview images, affects preview clarity and performance. Larger sizes provide higher preview quality but also consume more VRAM + +## Cache + +### Use classic cache system +**Function**: Uses traditional caching strategy, more conservative but stable + +### Use LRU caching with a maximum of N node results cached + +**Function**: Uses Least Recently Used (LRU) algorithm caching system, can cache a specified number of node computation results + +**Description**: +- Set a specific number to control maximum cache count, such as 10, 50, 100, etc. +- Caching can avoid repeated computation of the same node operations, improving workflow execution speed +- When cache reaches the limit, automatically clears the least recently used results +- Cached results occupy system memory (RAM/VRAM), larger values use more memory + +**Usage Recommendations**: +- Default value is null, meaning LRU caching is not enabled +- Set appropriate cache count based on system memory capacity and usage requirements +- Recommended for workflows that frequently reuse the same node configurations +- If system memory is sufficient, larger values can be set for better performance improvement + +## Attention + +### Cross attention method +**Options**: +- `auto`: Automatically selects the most suitable attention computation method +- `split`: Block-wise attention computation, can save VRAM but slower speed +- `quad`: Uses quad attention algorithm, balances speed and VRAM usage +- `pytorch`: Uses PyTorch native attention computation, faster but higher VRAM usage + +**Function**: Controls the specific algorithm used when the model computes attention. Different algorithms make different trade-offs between generation quality, speed, and VRAM usage. Usually recommended to use auto for automatic selection. + +### Force attention upcast +**Function**: Forces high-precision attention computation, improves quality but increases VRAM usage + +### Prevent attention upcast +**Function**: Disables high-precision attention computation, saves VRAM + +## General + +### Disable xFormers optimization +**Function**: Disables the optimization features of the xFormers library. xFormers is a library specifically designed to optimize the attention mechanisms of Transformer models, typically improving computational efficiency, reducing memory usage, and accelerating inference speed. Disabling this optimization will: + +- Fall back to standard attention computation methods +- May increase memory usage and computation time +- Provide a more stable runtime environment in certain situations + +**Use Cases**: +- When encountering compatibility issues related to xFormers +- When more precise computation results are needed (some optimizations may affect numerical precision) +- When debugging or troubleshooting requires using standard implementations + +### Default hashing function for model files +**Options**: +- `sha256`: Uses SHA-256 algorithm for hash verification, high security but slower computation +- `sha1`: Uses SHA-1 algorithm, faster but slightly lower security +- `sha512`: Uses SHA-512 algorithm, provides highest security but slowest computation +- `md5`: Uses MD5 algorithm, fastest but lowest security + +**Function**: Sets the hash algorithm for model file verification, used to verify file integrity. Different hash algorithms have different trade-offs between computation speed and security. Usually recommended to use sha256 as the default option, which achieves a good balance between security and performance. + +### Make pytorch use slower deterministic algorithms when it can + +**Function**: Forces PyTorch to use deterministic algorithms when possible to improve result reproducibility. + +**Description**: +- When enabled, PyTorch will prioritize deterministic algorithms over faster non-deterministic algorithms +- Same inputs will produce same outputs, helpful for debugging and result verification +- Deterministic algorithms typically run slower than non-deterministic algorithms +- Even with this setting enabled, completely identical image results cannot be guaranteed in all situations + +**Use Cases**: +- Scientific research requiring strict result reproducibility +- Debugging processes requiring stable output results +- Production environments requiring result consistency + +### Enable some untested and potentially quality deteriorating optimizations +**Function**: Enables experimental optimizations that may improve speed but could potentially affect generation quality + +### Don't print server output to console +**Function**: Prevents displaying server runtime information in the console, keeping the interface clean. + +**Description**: +- When enabled, ComfyUI server logs and runtime information will not be displayed +- Can reduce console information interference, making the interface cleaner +- May slightly improve system performance when there's heavy log output +- Default is disabled (false), meaning server output is displayed by default + +**Use Cases**: +- Production environments where debugging information is not needed +- When wanting to keep the console interface clean +- When the system runs stably and log monitoring is not required + +**Note**: It's recommended to keep this option disabled during development and debugging to promptly view server runtime status and error information. + +### Disable saving prompt metadata in files +**Function**: Does not save workflow information in generated images, reducing file size, but also means the loss of corresponding workflow information, preventing you from using workflow output files to reproduce the corresponding generation results + +### Disable loading all custom nodes +**Function**: Prevents loading all third-party extension nodes, typically used when troubleshooting issues to locate whether errors are caused by third-party extension nodes + +### Logging verbosity level +**Function**: Controls the verbosity level of log output, used for debugging and monitoring system runtime status. + +**Options**: +- `CRITICAL`: Only outputs critical error information that may cause the program to stop running +- `ERROR`: Outputs error information indicating some functions cannot work properly +- `WARNING`: Outputs warning information indicating possible issues that don't affect main functionality +- `INFO`: Outputs general information including system runtime status and important operation records +- `DEBUG`: Outputs the most detailed debugging information including system internal runtime details + +**Description**: +- Log levels increase in verbosity from top to bottom +- Each level includes all log information from higher levels +- Recommended to set to INFO level for normal use +- Can be set to DEBUG level when troubleshooting for more information +- Can be set to WARNING or ERROR level in production environments to reduce log volume + +## Directories + +### Input directory +**Function**: Sets the default storage path for input files (such as images, models) + +### Output directory +**Function**: Sets the save path for generation results \ No newline at end of file diff --git a/snippets/install/user-directory.mdx b/snippets/install/user-directory.mdx index 84ba66d4..8ab0c49f 100644 --- a/snippets/install/user-directory.mdx +++ b/snippets/install/user-directory.mdx @@ -3,23 +3,23 @@ The ComfyUI user directory is where your personal settings, workflows, and custo ``` -C:\Users\\AppData\Roaming\ComfyUI +C:\Users\\AppData\Roaming\ComfyUI\user ``` ``` -~/Library/Application Support/ComfyUI +~//ComfyUI/user ``` ``` -~/.config/ComfyUI +~/.config/ComfyUI/user ``` The user directory is located in your ComfyUI installation folder: ``` -/user/ +/user ``` For example, if you cloned ComfyUI to `C:\ComfyUI`, your user directory would be `C:\ComfyUI\user\default` (or `C:\ComfyUI\user\john` if you've set up a custom username). @@ -31,7 +31,7 @@ ComfyUI supports multiple users per installation. If you haven't configured a cu The user directory is located in your ComfyUI portable folder: ``` -/ComfyUI/user/ +/ComfyUI/user ``` For example: `ComfyUI_windows_portable/ComfyUI/user/default` diff --git a/snippets/zh/install/user-directory.mdx b/snippets/zh/install/user-directory.mdx index bc009f6c..95ea5ed3 100644 --- a/snippets/zh/install/user-directory.mdx +++ b/snippets/zh/install/user-directory.mdx @@ -1,25 +1,23 @@ ComfyUI 用户目录是存储您的个人设置、工作流和自定义内容的地方。位置取决于您的安装类型: - - -``` -C:\Users\\AppData\Roaming\ComfyUI -``` - - + + + ``` -~/Library/Application Support/ComfyUI +C:\Users\\AppData\Roaming\ComfyUI\user ``` - - + + + ``` -~/.config/ComfyUI +~//ComfyUI/user ``` - - + + + 用户目录位于您的 ComfyUI 安装文件夹中: ``` -/user/<用户名> +/user/ ``` 例如,如果您将 ComfyUI 克隆到 `C:\ComfyUI`,您的用户目录将是 `C:\ComfyUI\user\default`(或者如果您设置了自定义用户名,则为 `C:\ComfyUI\user\john`)。 @@ -27,11 +25,13 @@ C:\Users\\AppData\Roaming\ComfyUI ComfyUI 支持每个安装支持多个用户。如果您没有配置自定义用户名,默认为 "default"。每个用户在 `user` 文件夹内都有自己的子目录。 - - + + + + 用户目录位于您的 ComfyUI 便携版文件夹中: ``` -/ComfyUI/user/<用户名> +/ComfyUI/user/ ``` 例如:`ComfyUI_windows_portable/ComfyUI/user/default` @@ -39,7 +39,7 @@ ComfyUI 支持每个安装支持多个用户。如果您没有配置自定义用 ComfyUI 支持每个安装支持多个用户。如果您没有配置自定义用户名,默认为 "default"。每个用户在 `user` 文件夹内都有自己的子目录。 - - + + 此位置包含您的工作流、设置和其他用户特定文件。 \ No newline at end of file diff --git a/zh-CN/interface/appearance.mdx b/zh-CN/interface/appearance.mdx index 127a7b34..2d7bc08a 100644 --- a/zh-CN/interface/appearance.mdx +++ b/zh-CN/interface/appearance.mdx @@ -1,120 +1,155 @@ --- -title: "自定义 ComfyUI 外观" -description: "了解如何使用调色板和高级 CSS 选项自定义 ComfyUI 的外观" +title: "ComfyUI 外观设置" +description: "ComfyUI 外观设置选项的详细说明" sidebarTitle: "外观" -icon: "paintbrush" +icon: "palette" --- import UserDirectory from "/snippets/zh/install/user-directory.mdx" -ComfyUI 提供灵活的外观自定义选项,允许您根据个人喜好来个性化界面。 +这部分的设置主要用于自定义 ComfyUI 的外观,包括色彩主题、背景图片、节点样式等。 -## 调色板系统 +## 色彩主题 -自定义 ComfyUI 外观的主要方式是通过内置的调色板系统。这允许您: +自定义 ComfyUI 外观的主要方式是通过内置的调色板系统。 -- 在预设主题之间切换 -- 修改特定界面元素 -- 创建并保存您自己的自定义主题 -- 导出和导入主题配置 +![色彩主题](/images/interface/setting/appearance/color-palette.jpg) -### 访问调色板 +1. 切换 ComfyUI 主题 +2. 将当前选中的主题导出为Json 格式 +3. 从Json文件中载入自定义主题配置 +4. 删除自定义主题配置 -1. 点击侧边栏中的**设置**齿轮图标 -2. 选择**外观** → **调色板** + + 对于调色板无法满足的外观需求,你可以通过 [user.css](#使用user-css进行高级外观自定义) 文件进行高级外观自定义 + -### 预设主题 +### 如何自定义颜色主题 -ComfyUI 自带几个内置主题: + 调色板允许您修改许多特定属性。以下是一些最常自定义的元素,颜色采用十六进制表示: -- 深色主题(默认) -- 浅色主题 -- 根据您的 ComfyUI 版本,可能有其他可用主题 - -### 自定义颜色 - -调色板系统让您可以自定义界面的几乎每个方面: - -- 节点颜色和样式 -- 背景颜色 -- 文本颜色和字体 -- 小部件外观 -- 连接线颜色和样式 - -### 导出/导入主题 - -您可以保存和分享您的自定义主题: - -1. **导出**:在调色板设置中,点击"导出"将当前主题配置保存为 JSON 文件 -2. **导入**:点击"导入"加载先前保存的主题或社区分享的主题 - -### 颜色配置属性 - -调色板允许您修改许多特定属性。以下是一些最常自定义的元素: + + 1. 下面的 JSON 注释只是为了注释说明,实际使用请不要复制下面的内容进行修改,否则将会导致主题无法正常使用 + 2. 由于我们仍在频繁迭代,下面的这些内容可能会随着 ComfyUI 前端的更新而有所调整,如果需要修改,请从设置中导出主题配置,然后进行修改 + ```json { - "id": "my-custom-theme", // 主题的唯一标识符 - "name": "My Custom Theme", // 主题的显示名称 + "id": "dark", // 必须是唯一的,不能和其它主题的id相同 + "name": "Dark (Default)", // 主题名称,显示在主题选择器中 "colors": { - "node_slot": { // 按数据类型的节点连接槽颜色 - "CLIP": "#FFD500", // CLIP 模型连接 - "IMAGE": "#64B5F6", // 图像数据连接 - "LATENT": "#FF9CF9", // 潜在空间连接 - "MODEL": "#B39DDB", // 模型连接 - "VAE": "#FF6E6E" // VAE 连接 - // (其他 ComfyUI 数据类型) + "node_slot": { // 节点连接槽的颜色配置 + "CLIP": "#FFD500", // CLIP 模型连接槽颜色 + "CLIP_VISION": "#A8DADC", // CLIP Vision 模型连接槽颜色 + "CLIP_VISION_OUTPUT": "#ad7452", // CLIP Vision 输出连接槽颜色 + "CONDITIONING": "#FFA931", // 条件控制连接槽颜色 + "CONTROL_NET": "#6EE7B7", // ControlNet 模型连接槽颜色 + "IMAGE": "#64B5F6", // 图像数据连接槽颜色 + "LATENT": "#FF9CF9", // 潜在空间连接槽颜色 + "MASK": "#81C784", // 蒙版数据连接槽颜色 + "MODEL": "#B39DDB", // 模型连接槽颜色 + "STYLE_MODEL": "#C2FFAE", // 风格模型连接槽颜色 + "VAE": "#FF6E6E", // VAE 模型连接槽颜色 + "NOISE": "#B0B0B0", // 噪声数据连接槽颜色 + "GUIDER": "#66FFFF", // 引导器连接槽颜色 + "SAMPLER": "#ECB4B4", // 采样器连接槽颜色 + "SIGMAS": "#CDFFCD", // Sigmas 数据连接槽颜色 + "TAESD": "#DCC274" // TAESD 模型连接槽颜色 }, - "litegraph_base": { // 画布和图表外观 - "CLEAR_BACKGROUND_COLOR": "#222", // 主画布背景 - "NODE_TITLE_COLOR": "#999", // 节点标题文本颜色 - "NODE_SELECTED_TITLE_COLOR": "#FFF", // 选中节点标题颜色 - "NODE_DEFAULT_BGCOLOR": "#353535", // 默认节点背景 - "WIDGET_BGCOLOR": "#222", // 小部件背景颜色 - "LINK_COLOR": "#9A9" // 连接线颜色 - // (其他 LiteGraph 属性) + "litegraph_base": { // LiteGraph 基础界面配置 + "BACKGROUND_IMAGE": "", // 背景图片,默认为空 + "CLEAR_BACKGROUND_COLOR": "#222", // 主画布背景色 + "NODE_TITLE_COLOR": "#999", // 节点标题文本颜色 + "NODE_SELECTED_TITLE_COLOR": "#FFF", // 选中节点的标题颜色 + "NODE_TEXT_SIZE": 14, // 节点文本大小 + "NODE_TEXT_COLOR": "#AAA", // 节点文本颜色 + "NODE_TEXT_HIGHLIGHT_COLOR": "#FFF", // 节点文本高亮颜色 + "NODE_SUBTEXT_SIZE": 12, // 节点子文本大小 + "NODE_DEFAULT_COLOR": "#333", // 节点默认颜色 + "NODE_DEFAULT_BGCOLOR": "#353535", // 节点默认背景色 + "NODE_DEFAULT_BOXCOLOR": "#666", // 节点默认边框颜色 + "NODE_DEFAULT_SHAPE": 2, // 节点默认形状 + "NODE_BOX_OUTLINE_COLOR": "#FFF", // 节点边框轮廓颜色 + "NODE_BYPASS_BGCOLOR": "#FF00FF", // 节点旁路背景色 + "NODE_ERROR_COLOUR": "#E00", // 节点错误状态颜色 + "DEFAULT_SHADOW_COLOR": "rgba(0,0,0,0.5)", // 默认阴影颜色 + "DEFAULT_GROUP_FONT": 24, // 分组默认字体大小 + "WIDGET_BGCOLOR": "#222", // 小部件背景色 + "WIDGET_OUTLINE_COLOR": "#666", // 小部件轮廓颜色 + "WIDGET_TEXT_COLOR": "#DDD", // 小部件文本颜色 + "WIDGET_SECONDARY_TEXT_COLOR": "#999", // 小部件次要文本颜色 + "WIDGET_DISABLED_TEXT_COLOR": "#666", // 小部件禁用状态文本颜色 + "LINK_COLOR": "#9A9", // 连接线颜色 + "EVENT_LINK_COLOR": "#A86", // 事件连接线颜色 + "CONNECTING_LINK_COLOR": "#AFA", // 正在连接时的连接线颜色 + "BADGE_FG_COLOR": "#FFF", // 徽章前景色 + "BADGE_BG_COLOR": "#0F1F0F" // 徽章背景色 }, - "comfy_base": { // ComfyUI 界面颜色 - "fg-color": "#fff", // 主要文本颜色 - "bg-color": "#202020", // 主背景颜色 - "comfy-menu-bg": "#353535", // 菜单背景颜色 - "comfy-input-bg": "#222", // 输入字段背景 - "input-text": "#ddd", // 输入文本颜色 - "border-color": "#4e4e4e" // 边框颜色 - // (其他 ComfyUI 基础属性) + "comfy_base": { // ComfyUI 基础界面配置 + "fg-color": "#fff", // 前景色 + "bg-color": "#202020", // 背景色 + "comfy-menu-bg": "#353535", // 菜单背景色 + "comfy-menu-secondary-bg": "#303030", // 次级菜单背景色 + "comfy-input-bg": "#222", // 输入框背景色 + "input-text": "#ddd", // 输入文本颜色 + "descrip-text": "#999", // 描述文本颜色 + "drag-text": "#ccc", // 拖拽文本颜色 + "error-text": "#ff4444", // 错误文本颜色 + "border-color": "#4e4e4e", // 边框颜色 + "tr-even-bg-color": "#222", // 表格偶数行背景色 + "tr-odd-bg-color": "#353535", // 表格奇数行背景色 + "content-bg": "#4e4e4e", // 内容区背景色 + "content-fg": "#fff", // 内容区前景色 + "content-hover-bg": "#222", // 内容区悬停背景色 + "content-hover-fg": "#fff", // 内容区悬停前景色 + "bar-shadow": "rgba(16, 16, 16, 0.5) 0 0 0.5rem" // 栏阴影效果 } } } ``` -## 背景图片 +## 画布 -ComfyUI 允许您为画布设置自定义背景图片,提供更加个性化的工作空间。 +### 背景图片 +- 版本要求:ComfyUI 前端版本 1.20.5 或更新版本 +- 功能:为画布设置自定义背景图片,提供更加个性化的工作空间,你可以上传图片或者使用网络图片来为画布设置背景图片 -### 要求 +![设置背景图片](/images/interface/setting/appearance/set-as-bg.jpg) -- ComfyUI 前端版本 1.20.5 或更新版本 -### 通过设置设置背景图片 +## 节点 + +### 节点不透明度 +- 功能:设置节点的不透明度,0表示完全透明,1表示完全不透明 + +![节点不透明度](/images/interface/setting/appearance/node-opacity.jpg) + +## 节点组件 + +### 文本域小部件字体大小** +- **范围**:8 - 24 +- **功能**:设置文本域小部件中的字体大小,调整文本输入框中文字的显示大小,提升可读性 +![文本域小部件字体大小](/images/interface/setting/appearance/textarea-font-size.jpg) -1. 点击侧边栏中的**设置**齿轮图标 -2. 前往**外观** → **背景图片** -3. 您可以: - - 使用上传按钮从本地计算机上传图片 - - 提供远程图片的 URL +## 侧边栏 -### 从生成结果设置背景图片 +### 统一侧边栏宽度 +- **功能**:启用后,当你在不同的侧边栏之间切换时,侧边栏的宽度将统一为一致的宽度,如果禁用,不同的侧边栏的宽度在切换时可以保持自定义的宽度 -您还可以快速将生成的图片设置为背景: +### 侧边栏大小 +- **功能**:控制侧边栏的尺寸大小,可以设置为正常或者小 -1. 使用任何工作流生成图片 -2. 在队列侧边栏中找到该图片 -3. 右键点击图片 -4. 从上下文菜单中选择**设为背景** +### 侧边栏位置 +- **功能**:控制侧边栏显示在界面的左侧还是右侧,允许用户根据使用习惯调整侧边栏位置 -这是一种方便的方式,可以使用您自己的创作作为进一步工作的背景。 +## 树形浏览器 -## 使用 user.css 进行高级自定义 +### 树形浏览器项目内边距 +- **功能**:设置树形浏览器(侧边栏面板)中项目的内边距,调整树形结构中各项目之间的间距 + +![树形浏览器项目内边距](/images/interface/setting/appearance/padding.jpg) + +## 使用user.css进行高级外观自定义 对于调色板不能提供足够控制的情况,您可以通过 user.css 文件使用自定义 CSS。此方法推荐给需要自定义调色板系统中不可用元素的高级用户。 @@ -132,11 +167,13 @@ ComfyUI 允许您为画布设置自定义背景图片,提供更加个性化的 -### CSS 特异性说明 +找到上述文件夹位置后,请将对应的 Css 文件复制到对应的用户目录中如默认用户文件夹为`ComfyUI/user/default`,然后重启 ComfyUI 或刷新页面以应用更改 -user.css 文件在应用程序启动过程早期加载。因此,您可能需要在 CSS 规则中使用 `!important` 来确保它们覆盖默认样式。 +### user.css 示例及相关说明 -### user.css 自定义示例 +`user.css` 文件会在启动的早期就进行加载。所以能需要在 CSS 规则中使用 `!important` 来确保它们覆盖默认样式。 + +**user.css 自定义示例** ```css /* 增加输入框和菜单中的字体大小以提高可读性 */ @@ -158,16 +195,17 @@ user.css 文件在应用程序启动过程早期加载。因此,您可能需 } ``` -## 最佳实践 +**最佳实践** 1. **首先使用调色板**进行大多数自定义 2. **仅在必要时使用 user.css**,用于调色板未涵盖的元素 3. **在进行重大更改前导出您的主题**,以便在需要时恢复 4. **与社区分享您的主题**,以启发他人 -## 故障排除 +**故障排除** - 如果您的调色板更改没有显示,尝试刷新页面 - 如果 CSS 自定义不起作用,检查您是否使用前端版本 1.20.5+ - 尝试在未应用的 user.css 规则中添加 `!important` -- 保留您的自定义备份,以便轻松恢复 \ No newline at end of file +- 保留您的自定义备份,以便轻松恢复 + diff --git a/zh-CN/interface/credits.mdx b/zh-CN/interface/credits.mdx index edb3a6c0..a65f39b8 100644 --- a/zh-CN/interface/credits.mdx +++ b/zh-CN/interface/credits.mdx @@ -52,6 +52,7 @@ ComfyUI将始终保持完全开源,并对本地用户免费。 3. 选择对应的支付方式 - 信用卡 - 微信(仅在选择使用美元支付时才支持) + - 支付宝(仅在选择使用美元支付时才支持) 4. 点击 `Pay` 按钮或者`Generate QR Code` 按钮完成对应的支付流程 @@ -83,4 +84,8 @@ ComfyUI将始终保持完全开源,并对本地用户免费。 由于不同尺寸的图像和生成数量,每次消耗的`Token` 和 `积分`是不一样的,在 `设置` -> `积分` 中,你可以看到每次消耗的积分,以及对应的积分历史 + + + 请确保你选择了美元支付,目前微信支付宝等仅在美元支付时才支持 + \ No newline at end of file diff --git a/zh-CN/interface/settings/3d.mdx b/zh-CN/interface/settings/3d.mdx new file mode 100644 index 00000000..c272151d --- /dev/null +++ b/zh-CN/interface/settings/3d.mdx @@ -0,0 +1,50 @@ +--- +title: "ComfyUI 3D 设置" +description: "ComfyUI 3D 设置选项的详细说明" +icon: "cube" +sidebarTitle: "3D" +--- + +这部分的设置主要用于控制 ComfyUI 中 3D 相关组件的初始化设置,包括相机、光照、场景等,在创建新的3D组件时,会根据这些设置进行初始化,在创建后,这些设置仍然可以单独调整。 + +## 相机 + +### 摄像机类型 +- **选项**: + - `perspective` (透视) + - `orthographic` (正交) +- **功能**: 控制创建新的3D组件时,默认的相机是透视还是正交。这个默认设置仍然可以在创建后为每个组件单独切换 + +## 光照 + +### 光照调整步长 +- **默认值**: 0.5 +- **功能**: 控制在3D场景中调整光照强度时的步长。较小的步长值可以实现更精细的光照调整,较大的值则会使每次调整的变化更加明显 + +### 光照强度下限 +- **默认值**: 1 +- **功能**: 设置3D场景允许的最小光照强度值。此项定义在调整任何3D控件照明时可设定的最低亮度 + +### 最大光照强度 +- **默认值**: 10 +- **功能**: 设置3D场景允许的最大光照强度值。此项定义了在调整任何3D控件照明时可设定的最高亮度上限 + + +### 初始光照强度 +- **默认值**: 3 +- **功能**: 设置3D场景中灯光的默认亮度级别。该数值决定新建3D控件时灯光照亮物体的强度,但每个控件在创建后都可以单独调整 + + +## 场景 + +### 初始背景颜色 +- **作用**: 控制3D场景的默认背景颜色。此设置决定新建3D组件时的背景外观,但每个组件在创建后都可以单独调整 +- **默认值**: `282828` (深灰色) + +### 显示预览 +- **作用**: 控制创建新的3D组件时是否默认显示预览屏幕。此默认设置在创建后仍可为每个组件单独切换 +- **默认值**: true (开启) + +### 显示网格 +- **作用**: 控制创建新的3D组件时是否默认显示网格。此默认设置在创建后仍可为每个组件单独切换 +- **默认值**: true (开启) diff --git a/zh-CN/interface/settings/about.mdx b/zh-CN/interface/settings/about.mdx new file mode 100644 index 00000000..ba497a88 --- /dev/null +++ b/zh-CN/interface/settings/about.mdx @@ -0,0 +1,52 @@ +--- +title: "关于页面" +description: "ComfyUI 关于设置页详细说明" +icon: "info" +sidebarTitle: "关于" +--- + +About 页面是 ComfyUI 设置系统中的一个信息展示面板,用于显示应用程序版本信息、相关链接和系统统计数据,这些设置在向我们提交反馈问题时,可以提供给我们一些非常关键的信息。 + +![about](/images/interface/setting/settings-about.jpg) + +### 版本信息徽章 + +About 页面显示以下核心版本信息: + +- **ComfyUI 版本**:显示后端 ComfyUI 的版本号,链接到官方 GitHub 仓库 +- **ComfyUI_frontend 版本**:显示前端界面的版本号,链接到前端 GitHub 仓库 +- **Discord 社区**:提供 ComfyOrg Discord 服务器的链接 +- **官方网站**:链接到 ComfyOrg 官方网站 + + + 由于这里的版本信息主要是对应稳定版本的信息,如果你正在使用的是 nightly 版本,那么这里并不会显示对应的 commit hash 等,如果你正在使用 nightly 版本,可以在对应的 ComfyUI 主目录中使用 `git log` 命令来查看对应的 commit hash 等信息。 + 另外一个常见的问题是,不同的依赖包会在更新中失败回滚 + + +### 自定义节点徽章 + +如果安装了自定义节点,About 页面还会显示自定义节点提供的额外徽章信息。这些徽章由各个自定义节点通过 `aboutPageBadges` 属性注册。 + +### 系统统计信息 + +页面底部显示详细的系统统计信息,包括: +- 硬件配置信息 +- 软件环境信息 +- 系统性能数据 + +## 扩展开发者指南 + +扩展开发者可以通过在扩展配置中添加 `aboutPageBadges` 属性来向 About 页面添加自定义徽章: + +```javascript +app.registerExtension({ + name: 'MyExtension', + aboutPageBadges: [ + { + label: 'My Extension v1.0.0', + url: 'https://github.com/myuser/myextension', + icon: 'pi pi-github' + } + ] +}) +``` diff --git a/zh-CN/interface/settings/comfy-desktop.mdx b/zh-CN/interface/settings/comfy-desktop.mdx new file mode 100644 index 00000000..2be7f68d --- /dev/null +++ b/zh-CN/interface/settings/comfy-desktop.mdx @@ -0,0 +1,41 @@ +--- +title: "ComfyUI 桌面应用通用设置" +description: "ComfyUI 桌面应用通用设置选项的详细说明" +icon: "desktop" +sidebarTitle: "ComfyUI 桌面版" +--- + +## 常规 + +**窗口样式** +- **默认值**: default +- **说明**: 控制应用窗口的标题栏样式 + +**自动更新检查** +- **默认值**: 启用 +- **说明**: 自动检查 ComfyUI 桌面版的更新,在更新可同时将会提醒你进行更新 + +**发送匿名使用情况统计** +- **默认值**: 启用 +- **说明**: 发送匿名使用情况统计数据,帮助改进软件 ,对应的设置修改需要重启才能生效 + +## UV(包管理器) + +这个部分主要针对中国地区用户设置使用,因为 Desktop 使用的许多原始镜像都是中国境外的,所以对国内用户访问不一定友好,你可以在这里设置你自己的镜像源,以提高访问速度,保证对应包可以正常访问下载。 + +**Python 安装镜像** +- **默认值**: 空(使用默认源) +- **说明**: + - 管理的 Python 安装包从 Astral python-build-standalone 项目下载 + - 可设置镜像 URL 使用不同的 Python 安装源 + - 提供的 URL 将替换默认的 GitHub 下载地址 + - 支持使用 file:// 协议从本地目录读取分发包 +- **验证**: 自动检查镜像可达性 + +**PyPI 安装镜像** +- **默认值**: 空(使用默认源) +- **说明**: 默认的 pip 包安装镜像源 + +**Torch安装镜像** +- **默认值**: 空(使用默认源) +- **说明**: PyTorch 专用的 pip 安装镜像源 diff --git a/zh-CN/interface/settings/comfy.mdx b/zh-CN/interface/settings/comfy.mdx new file mode 100644 index 00000000..41147012 --- /dev/null +++ b/zh-CN/interface/settings/comfy.mdx @@ -0,0 +1,227 @@ +--- +title: "Comfy 设置" +description: "ComfyUI 核心设置选项的详细说明" +icon: "sliders" +sidebarTitle: "Comfy" +--- + +## API 节点 + +### 显示 API 节点定价徽章 +- **默认值**:启用 +- **功能**:控制是否在 API 节点上显示定价徽章,帮助用户识别 API 节点的使用成本 + +![启用效果](/images/interface/setting/comfy/api_node_pricing_badge.jpg) + +> 更多关于 API 节点请参考 [API 节点](/zh-CN/tutorials/api-nodes/overview) + +## 开发者模式 + +### 启用开发模式选项 +- **默认值**:禁用 +- **功能**:启用开发者模式选项(如API保存等) + + +## 编辑令牌权重 + +### Ctrl+上/下 精度 +- **默认值**:0.01 +- **功能**:当你在使用类型 CLIPTextEncode 或者文本框输入类的节点组件时,使用 Ctrl+上/下 可以快速调整权重,这个选项会改变每次调整的权重值 + + + +## 区域设置(本地化) + +### 语言 +- **选项**:中文 (Chinese)、English (英文)、日本語 (日文)、한국어 (韩文)、Русский (俄文)、Español (西班牙语)、Français (法语) +- **默认值**:自动检测浏览器语言 +- **功能**:修改 ComfyUI 界面显示语言 + +## 菜单 + +### 使用新菜单 +- **默认值**:顶部 +- **功能**:选择菜单界面和位置,目前仅支持顶部、底部、禁用 + + + + 菜单界面将会显示在工作界面的顶部 + ![顶部菜单](/images/interface/setting/comfy/UseNewMenu_top.jpg) + + + 菜单栏界面将会显示工作界面的底部 + ![底部菜单](/images/interface/setting/comfy/UseNewMenu_bottom.jpg) + + + 如果你偏好早期旧版菜单,可以尝试使用这个选项。 + + 由于我们在不断更新,一些新功能支持并不会在旧版菜单中同步支持。 + + ![旧版菜单](/images/interface/setting/comfy/UseNewMenu_disable.jpg) + + + +## 模型库 + +模型库指的是 ComfyUI 侧边菜单栏中的模型管理功能,你可以通过这个功能来查看你在 `ComfyUI/models` 及额外配置的模型文件夹中的模型 + +![模型库](/images/interface/sidepanel/model_library.jpg) + +### 模型库名称格式 +- **默认值**:标题 +- **功能**:选择在模型库树视图中显示的名称格式,目前仅支持文件名、标题 + +### 自动加载所有模型文件夹 +- **默认值**:禁用 +- **功能**:是否在点击模型库时自动检测所有文件夹下的模型文件,启用可能导致加载延迟(需要循环遍历所有文件夹),禁用时只有点击文件夹名称才会加载对应文件夹下的文件 + +## 节点 + +在 ComfyUI 的迭代过程中,我们会对一些节点进行调整,也会启用一些节点,这些节点可能在未来版本中发生重大变化或被移除,但是为了保证兼容性类似弃用的节点并没有被移除,你可以通过下面的设置来启用是否显示 **实验性节点** 和 **已弃用节点** + +### 显示已弃用节点 +- **默认值**:禁用 +- **功能**:控制是否在搜索中显示已弃用的节点,已弃用节点在UI中默认隐藏,但在现有工作流中仍然有效 + +![已弃用节点](/images/interface/setting/comfy/depr_node.jpg) + + +### 显示实验性节点 +- **默认值**:启用 +- **功能**:控制是否在搜索中显示实验性节点,实验性节点说一些新的功能支持,但未完全稳定,可能在未来版本中发生变化或被移除 + +![已弃用节点](/images/interface/setting/comfy/beta_node.jpg) + + +## 节点搜索框 + +### 节点建议数量 +- **默认值**:5 +- **功能**:用于修改相关节点上下文菜单中推荐的节点数量,数值越大显示的相关推荐节点数量越多 + +![节点建议数量](/images/interface/setting/comfy/node_suggestions.jpg) + +### 显示节点频率 +- **默认值**:禁用 +- **功能**:控制是否在搜索结果中显示节点使用频率 + +![节点频率](/images/interface/setting/comfy/node_frequency.png) + +### 显示节点ID名称 +- **默认值**:禁用 +- **功能**:控制是否在搜索结果中显示节点ID名称 + +![节点ID名称](/images/interface/setting/comfy/node_id_name.jpg) + + +### 显示节点类别 +- **默认值**:启用 +- **功能**:控制是否在搜索结果中显示节点类别,帮助用户了解节点的分类信息 + +### 节点预览 +- **默认值**:启用 +- **功能**:控制是否在搜索结果中显示节点预览,方便你快速预览节点 + +### 节点搜索框 +- **默认值**:默认 +- **功能**: 选择节点搜索框的实现方式(实验性功能),如果选择 `litegraph(旧版)` 则会切换到早期的 ComfyUI 的搜索框 + +## 节点组件 + +### 组件控制模式 +- **选项**:之前、之后 +- **功能**:控制节点组件值的更新时机是在工作流运行之前还是滞后,比如更新 seed 种子的值 + +### 文本框组件拼写检查 +- **默认值**:禁用 +- **功能**:控制文本域小部件是否启用拼写检查, 在文本输入时提供拼写检查功能, 这一功能是通过浏览器的 spellcheck 属性实现的 + +## 队列 + +### 队列历史大小 +- **默认值**:100 +- **功能**:控制侧边栏队列历史面板里记录的队列历史大小,数值越大记录的队列历史越多,数量多大时加载页面时也会占用更多内存 + +## 执行按钮 + +### 批处理计数限制 +- **默认值**:100 +- **功能**:设置单次点击添加到队列的最大任务数量,防止意外添加过多任务到队列 + +## 验证和开发者设置 + +### 验证节点定义 +- **默认值**:禁用 +- **功能**:控制是否在启动时验证所有节点定义(慢),仅推荐给节点开发者使用,当启用时系统会使用 Zod 模式对每个节点定义进行严格验证,这一功能会消耗更多内存和时间 +- **错误处理**:验证失败的节点定义会被跳过,并在控制台输出警告信息 + + + 由于需要对所有节点定义进行详细的模式验证,这个功能会显著增加启动时间,因此默认关闭,仅推荐给节点开发者使用 + + +### 校验工作流 +- **默认值**:启用 +- **功能**:确保工作流的结构和连接正确性, 如果启用,系统会调用 `useWorkflowValidation().validateWorkflow()` 对工作流数据进行验证 +- **验证过程**:验证过程包含两个步骤: + - 模式验证: 使用 Zod 模式验证工作流结构 + - 链接修复: 检查并修复节点间的连接问题 +- **错误处理**:验证失败时会显示错误提示,但不会阻止工作流加载 + +## 窗口 + +### 关闭窗口时显示确认 +- **默认值**:启用 +- **功能**:当存在已修改但未保存的工作流时,控制关闭浏览器窗口或标签页时是否显示确认,防止意外关闭窗口导致未保存的工作流丢失 + +## 工作流 + +### 持久化工作流状态并在页面(重新)加载时恢复 +- **默认值**:启用 +- **功能**:控制是否在页面(重新)加载时恢复工作流状态,在页面刷新后保持工作流内容 + +### 自动保存 +- **默认值**:关闭 +- **功能**:控制工作流的自动保存行为,自动保存工作流更改,避免数据丢失 + +### 自动保存延迟(毫秒) +- **默认值**:1000 +- **功能**:设置自动保存的延迟时间,仅在自动保存设置为"延迟后"时生效 + +### 删除工作流时显示确认 +- **默认值**:启用 +- **功能**:控制在侧边栏删除工作流时是否显示确认对话框,防止意外删除重要工作流 + +### 在工作流中保存和恢复视图位置及缩放 +- **默认值**:启用 +- **功能**:控制是否在工作流中保存和恢复画布位置和缩放级别,在重新打开工作流时恢复之前的视图状态 + +### 已打开工作流位置 +- **选项**:侧边栏、顶部栏、顶部栏(第二行) +- **默认值**:顶部栏 +- **功能**:控制打开的工作流标签的显示位置,目前仅支持侧边栏、顶部栏、顶部栏(第二行) + +### 保存工作流时提示文件名 +- **默认值**:启用 +- **功能**:控制保存工作流时是否提示输入文件名,允许用户自定义工作流文件名 + +### 保存工作流时排序节点ID +- **默认值**:禁用 +- **功能**:决定保存工作流时是否对节点ID进行排序,使工作流文件格式更规范,便于版本控制 + +### 显示缺失节点警告 +- **默认值**:启用 +- **功能**:控制是否显示工作流中缺失节点的警告,帮助用户识别工作流中不可用的节点 + +### 显示缺失模型警告 +- **默认值**:启用 +- **功能**: 我们支持在工作流文件中对 widget 的值添加模型链接信息,用于加载模型文件时的提示,当启用时如果你本地没有对应的模型文件则会显示工作流中缺失模型的警告 + +### 清除工作流时需要确认 +- **默认值**:启用 +- **功能**:控制清除工作流时是否显示确认对话框,防止意外清除工作流内容 + +### 保存节点ID到工作流 +- **默认值**:启用 +- **功能**:控制是否在保存工作流时保存节点ID,使工作流文件格式更规范,便于版本控制 \ No newline at end of file diff --git a/zh-CN/interface/settings/extension.mdx b/zh-CN/interface/settings/extension.mdx new file mode 100644 index 00000000..4de8920f --- /dev/null +++ b/zh-CN/interface/settings/extension.mdx @@ -0,0 +1,44 @@ +--- +title: "扩展设置" +description: "ComfyUI 扩展管理和设置选项的详细说明" +icon: "puzzle-piece" +sidebarTitle: "扩展" +--- + +扩展设置面板是 ComfyUI 前端设置系统中的一个特殊管理面板,专门用于管理前端扩展插件的启用/禁用状态,区别于自定义节点(Custom Node),这个面板只是用于管理自定义节点注册的前端扩展,而不是禁用自定义节点。 + +![extension](/images/interface/setting/extension/extension.jpg) + +这些前端扩展插件是用于增强 ComfyUI 的体验,比如提供快捷键、设置、UI 组件、菜单项等功能。 + +扩展状态更改后需要重新加载页面才能生效: + +## Extension 设置面板功能 + +### 1. 扩展列表管理 +显示所有已注册的扩展,包括: +- 扩展名称 +- 核心扩展标识(显示 "Core" 标签) +- 启用/禁用状态 + +### 2. 搜索功能 +提供搜索框快速查找特定扩展: + +### 3. 启用/禁用控制 +每个扩展都有独立的切换开关: + +### 4. 批量操作 +提供右键菜单进行批量操作: +- 启用所有扩展 +- 禁用所有扩展 +- 禁用第三方扩展(保留核心扩展) + + +## 注意事项 + +- 扩展状态更改需要重新加载页面才能生效 +- 某些核心扩展无法被禁用 +- 系统会自动禁用已知有问题的扩展 +- 扩展设置会自动保存到用户配置文件中 + +这个 Extension 设置面板本质上是一个"前端插件管理器",让用户可以灵活控制 ComfyUI 的功能模块。 \ No newline at end of file diff --git a/zh-CN/interface/settings/lite-graph.mdx b/zh-CN/interface/settings/lite-graph.mdx new file mode 100644 index 00000000..ddaa99ae --- /dev/null +++ b/zh-CN/interface/settings/lite-graph.mdx @@ -0,0 +1,238 @@ +--- +title: "ComfyUI 画面(LiteGraph)设置" +description: "ComfyUI 图形渲染引擎 LiteGraph 的设置选项详细说明" +icon: "diagram-project" +sidebarTitle: "画面" +--- + +LiteGraph 是 ComfyUI 的底层图形渲染引擎,这个分类下的设置主要控制画布、节点、链接等图形界面的行为和外观。 + +## 画布相关设置 + +### 显示选择工具箱 +- **默认值**:启用 +- **功能**:选择工具箱是选中节点后在节点上浮动显示的快捷操作工具栏,提供了常用的快捷操作如部分运行、固定、删除、颜色修改等等 + +![显示选择工具箱](/images/interface/setting/lite-graph/selection-toolbox.jpg) + +### 低质量渲染缩放阈值 +- **默认值**:0.6 +- **范围**:0.1 - 1.0 +- **功能**: 在渲染界面时,特别是当工作流特别复杂及整个画布特别大时,对应元素的前端渲染会消耗特别多的内存而造成卡顿,通过调低此阈值,可以控制元素在缩放到特定百分比时进入低质量渲染模式,从而降低内存消耗,对应不同渲染模式如下图 + +![低质量渲染](/images/interface/setting/lite-graph/render-mode.jpg) + +### 最大FPS +- **默认值**:0(使用屏幕刷新率) +- **范围**:0 - 120 +- **功能**:限制画布的渲染帧率,0表示使用屏幕刷新率,越高的 FPS 会让画面(Canvas) 渲染越流畅,但同时也会消耗更多性能,但过小时则会有越明显的卡顿感。 + +### 始终吸附到网格 +- **默认值**:禁用 +- **功能**:在此选项没有启用时,你可以按住 `Shift` 键来使节点边缘和网格对齐,在启用后则无需按住 `Shift` 键即可自动对齐网格 + + + +### 吸附网格大小 +- **范围**:1 - 500 +- **功能**:在启用自动吸附或者按住 `Shift` 键进行节点的移动时,这个参数会决定吸附的网格大小,默认值为 10,你可以根据你的需求进行调整。 + +### 启用快速缩放快捷键 +- **默认值**:启用 +- **功能**:启用 `Ctrl + Shift + 鼠标左键拖拽` 的快速缩放功能,提供更快速的缩放操作方式 + + + +### 画布缩放速度 +- **默认值**:1.1 +- **范围**:1.01 - 2.5 +- **功能**:控制画布缩放的速度,调整鼠标滚轮缩放的敏感度 + +### 在左下角显示画布信息(fps等) +- **默认值**:启用 +- **功能**:控制是否显示画布右键菜单,启用/禁用画布的上下文菜单 + +![快速缩放](/images/interface/setting/lite-graph/canvas-info.jpg) + +## 上下文菜单 + +### 放大时缩放节点组合部件菜单(列表) +- **默认值**:启用 +- **功能**:控制是否在放大时显示节点组合部件菜单(列表),允许用户选择节点组合部件 + +## 画面 + +### 连线渲染模式 +- **默认值**:2(Spline样条线) +- **选项**:直线、线性、样条线、隐藏 +- **功能**:设置连线的渲染样式,控制节点间连线的视觉样式 + +![连线渲染模式](/images/interface/setting/lite-graph/link-render-mode.jpg) + +## 组 + +这部分的设置主要和节点组功能相关 + +![节点组](/images/interface/setting/lite-graph/node-group.png) + +### 双击组标题以编辑 +- **默认值**:启用 +- **功能**:控制是否可以双击节点标题进行编辑,允许用户重命名节点,图中标注为 `1` 的部分 + +### 分组选中节点填充 +- **默认值**:10 +- **范围**:0 - 100 +- **功能**:设置分组选中节点时的内边距,控制分组框与节点间的间距,图中标注为 `2` 箭头标注部分 + +## 连线 + +### 链接中点标记 +- **默认值**:Circle(圆形) +- **选项**:无、圆形、箭头 +- **功能**:设置链接中点的标记样式,在链接中点显示方向指示 + +![连线渲染模式](/images/interface/setting/lite-graph/link-midpoint.jpg) + +## 释放链接 + +这部分的菜单目前主要控制当链接连线释放时的相关操作,目前两个相关操作为: + +**释放后会出现和当前输入 / 输出相关的节点推荐列表** + + +**释放后会启动搜索框** + + +### 链接释放动作(Shift键) +- **默认值**: 搜索框 +- **选项**: 上下文菜单、搜索框、无操作 +- **功能**:设置按住Shift键释放链接时的动作,按住Shift释放链接时的特殊行为 + +### 链接释放动作(无修饰键) +- **默认值**: 上下文菜单 +- **选项**: 上下文菜单、搜索框、无操作 +- **功能**:设置释放链接时的默认动作,控制拖拽链接后释放时的行为 + +## 节点 + +### 始终收缩新节点 +- **默认值**:启用 +- **功能**:控制是否在创建新节点时自动收缩,从而让节点能够始终显示最小的尺寸,但可能会导致添加时有些文本显示会被截断,需要手动调整节点大小 + +### 启用DOM元素裁剪(启用可能会降低性能) +- **默认值**:启用 +- **功能**:启用DOM元素裁剪(可能影响性能),优化渲染但可能降低性能 + +### 中键单击创建新的转接点 +- **默认值**:启用 +- **功能**:中键点击时创建新的重路由节点,快速创建用于整理连线的重路由节点 + +### 删除节点时保留连线 +- **默认值**:启用 +- **功能**:删除中间节点时自动绕过连接,删除节点时尝试重新连接其输入输出链接 + +### 吸附高亮节点 +- **默认值**:启用 +- **功能**:拖拽链接到节点时高亮显示节点,提供视觉反馈,显示可连接的节点,启用后效果如下图,对应链接的一侧会显示高亮的样式 + +![吸附高亮节点](/images/interface/setting/lite-graph/highlights-node.jpg) + +### 连线自动吸附到节点接口 +- **默认值**:启用 +- **功能**:拖拽链接到节点上时自动吸附到可用插槽,简化连接操作,自动找到合适的输入插槽 + + + +### 启用工具提示 +- **默认值**:启用 +- **功能**:在部分节点信息中会包含一些工具提示,包含了一些参数说明等,当启用后会在鼠标悬停时显示这些工具提示,如下图 + +![工具提示](/images/interface/setting/lite-graph/tooltips.jpg) + +### 工具提示延迟 +- **默认值**:500 +- **功能**:控制工具提示的延迟时间,单位为毫秒,设置为0表示立即显示工具提示 + +### 节点制作周期标签 +- **默认值**:ShowAll(显示全部) +- **功能**:控制节点生命周期标记的显示,显示节点的状态信息 + +### 节点ID标签 +- **默认值**:None(不显示) +- **功能**:控制节点ID标记的显示,显示节点的唯一标识符 + +![节点ID标签](/images/interface/setting/lite-graph/node-id-badge.jpg) + +### 节点源标签 +- **选项**: + - None(不显示) + - HideBuiltIn(隐藏内置) + - ShowAll(显示全部) +- **功能**:控制节点源标记的显示模式,显示节点来源信息,对应的显示效果如下图,如果显示全部则会显示自定义节点和内置节点的标签,方便你判断对应的节点来源,对应小狐狸标志为 ComfyUI 内置节点 + +![节点源标签](/images/interface/setting/lite-graph/node-source-badge.jpg) + +### 双击节点标题以编辑 +- **默认值**:启用 +- **功能**:控制是否可以双击节点标题进行编辑,允许用户重命名节点 + +## 节点组件 + +### 浮点组件四舍五入的小数位数 [0 = 自动] +- **默认值**:0(自动) +- **范围**:0 - 6 +- **功能**:设置浮点小部件四舍五入的小数位数,0表示自动,需要页面重新加载 + +### 禁用默认浮点组件四舍五入 +- **默认值**:禁用 +- **功能**:控制是否禁用默认的浮点小部件四舍五入,需要页面重新加载,当节点后端设置了四舍五入时无法禁用 + +### 禁用节点组件滑块 +- **默认值**:禁用 +- **功能**:控制是否禁用节点小部件中的滑块控件,强制使用文本输入而非滑块 + +### 预览图像格式 +- **默认值**:空字符串(使用原格式) +- **功能**:设置图像小部件中预览图像的格式,转换为轻量级格式如 webp、jpeg 等 + +### 在图像预览下方显示宽度×高度 +- **默认值**:启用 +- **功能**:在图像预览下方显示宽度×高度信息,显示图像的尺寸信息 + +![在图像预览下方显示宽度×高度](/images/interface/setting/lite-graph/show-size.jpg) + +## 指针 + +### 启用触控板手势 +- **默认值**:启用 +- **功能**:此设置为画布启用触控板模式,允许使用双指捏合缩放和拖动。 + +### 双击间隔(最大) +- **默认值**:300 +- **功能**:双击的两次点击之间的最大时间(毫秒)。增加此值有助于解决双击有时未被识别的问题。 + +### 指针点击漂移延迟 +- **默认值**:150 +- **功能**:按下指针按钮后,忽略指针移动的最大时间(毫秒)。有助于防止在点击时意外移动鼠标。 + +### 指针点击漂移(距离) +- **默认值**:6 +- **功能**:如果指针在按住按钮时移动超过此距离,则视为拖动(而不是点击)。有助于防止在点击时意外移动鼠标 + +## 重新路由 + +### 重新路由样条偏移 +- **默认值**:20 +- **功能**:用于确定重路由节点两侧的曲线的平滑程度,值越大,曲线越平滑,值越小,曲线越尖锐 + +![重新路由样条偏移](/images/interface/setting/lite-graph/reroute-spline-offset.jpg) \ No newline at end of file diff --git a/zh-CN/interface/settings/mask-editor.mdx b/zh-CN/interface/settings/mask-editor.mdx new file mode 100644 index 00000000..65ca8c41 --- /dev/null +++ b/zh-CN/interface/settings/mask-editor.mdx @@ -0,0 +1,34 @@ +--- +title: "ComfyUI 遮罩编辑器设置" +description: "ComfyUI 遮罩编辑器设置选项的详细说明" +icon: "brush" +sidebarTitle: "遮罩编辑器" +--- + +## 画笔调整 + +### 画笔调整速度倍增器 +- **功能**: 控制调整时画笔大小和硬度变化的速度 +- **说明**: 更高的值意味着更快的变化 + +### 将画笔调整锁定到主轴 +- **功能**: 启用后,画笔调整将仅根据您移动的方向影响大小或硬度 +- **说明**: 这个功能可以让用户更精确地控制画笔属性的调整 + +## 新编辑器 + +### 使用新画笔编辑器 + +- **功能**: 切换到新的画笔编辑器界面 +- **说明**: 允许用户在新旧编辑器界面之间切换 + + + + 新版本具有更好的 UI 界面和交互,功能会更加完整 + ![new](/images/interface/setting/maskeditor/new-mask-editor.jpg) + + + 旧版本是早期版本,功能比较简单,但是可以满足基本需求,后续不会再进行更新 + ![old](/images/interface/setting/maskeditor/old-mask-editor.jpg) + + diff --git a/zh-CN/interface/settings/overview.mdx b/zh-CN/interface/settings/overview.mdx new file mode 100644 index 00000000..abf1abd3 --- /dev/null +++ b/zh-CN/interface/settings/overview.mdx @@ -0,0 +1,53 @@ +--- +title: "ComfyUI 设置概览" +description: "ComfyUI 设置概览的详细说明" +icon: "book" +sidebarTitle: "概览" +--- + +这个部分是关于 ComfyUI 前端设置菜单中详细的设置说明, 对于所有的用户设置将会自动保存到 `ComfyUI/user/default/comfy.settings.json` 文件夹 + +你可以使用 `ctrl + ,` 快捷键来打开设置面板, 然后点击对应的设置选项进行设置。 + +由于自定义节点也可以在菜单中注册对应的设置类目,在我们的官方文档说明中目前仅包含原生的设置内容,另外有部分选项设置 **仅针对 ComfyUI 桌面版** 有效,我们也在对应页面中做了注释说明。 + +## ComfyUI 设置菜单 + + + + 用户设置与 ComfyUI 账户相关,主要用于登录 ComfyUI 账户,以使用 API 节点 + + + 购买积分及积分余额的历史入口,仅在登录 ComfyUI 账户后可见 + + + ComfyUI 核心设置选项的详细说明 + + + ComfyUI 中画面(Lite Graph)设置选项的详细说明 + + + 修改 ComfyUI 的外观选项,如主题、背景色、侧边栏位置等等 + + + 管理 ComfyUI 中前端扩展插件的启用/禁用状态 + + + 针对 3D 节点初始化时的一些设置选项 + + + 桌面版更新设置,镜像设置等(仅针对 ComfyUI 桌面版有效) + + + 调整蒙版编辑器的使用偏好 + + + 修改 ComfyUI 的快捷键设置 + + + 了解当前的 ComfyUI 版本信息,设备运行信息等,这在日常反馈中非常有用 + + + 修改 ComfyUI 的配置文件, 此设置仅针对 ComfyUI 桌面版有效 + + \ No newline at end of file diff --git a/zh-CN/interface/settings/server-config.mdx b/zh-CN/interface/settings/server-config.mdx new file mode 100644 index 00000000..8816312b --- /dev/null +++ b/zh-CN/interface/settings/server-config.mdx @@ -0,0 +1,260 @@ +--- +title: "服务器配置" +description: "ComfyUI 服务器配置选项的详细说明" +icon: "server" +sidebarTitle: "服务器配置" +--- + + +目前 `Server-Config` 设置菜单仅在针对 Desktop 版本中存在,其它版本中并无此设置菜单项目 + + +## 网络 + +### 主机:要监听的IP地址 +- **主机地址 (listen)**: +- **功能**:设置服务器绑定的IP地址。默认 `127.0.0.1` 表示只允许本地访问,如果需要局域网访问可设置为 `0.0.0.0` + + + 虽然我们为 Desktop 版本提供了局域网监听设置的能力,但是作为桌面版,它本身并不适合作为服务器使用,我们建议如果你需要将 ComfyUI 示例作为局域网内的公共服务使用,请参考手动部署教程部署对应的 ComfyUI 服务。 + + +### 端口端口:要监听的端口 +**功能**:服务器监听的端口号。桌面版默认8000端口,Web版通常使用8188端口 + + +### TTLS 密钥文件:HTTPS 的 TLS 密钥文件路径 +**功能**:HTTPS加密所需的私钥文件路径,用于建立安全连接 + + +### TLS 证书文件:HTTPS 的 TLS 证书文件路径 +**功能**:HTTPS加密所需的证书文件路径,与私钥配合使用 + +### 最大上传大小 +- **最大上传大小 (max-upload-size)**: +- **功能**:限制单个文件上传的最大尺寸,单位为MB,默认100MB。影响图片、模型等文件的上传限制 + 限制单个文件上传的最大尺寸,单位为MB,默认100MB。影响图片、模型等文件的上传限制 + + +## CUDA + +### 要使用的 CUDA 设备索引 +**功能**:指定使用哪块NVIDIA显卡。0表示第一块显卡,1表示第二块,以此类推。对多GPU系统很重要 + +### 使用 CUDA malloc 进行内存分配 +**功能**:控制是否使用CUDA的内存分配器。可以改善某些情况下的内存管理效率 + +## 推理 + +### 全局浮点精度 +**功能**:设置模型计算的数值精度。FP16节省显存但可能影响质量,FP32更精确但占用更多显存 + +### UNET 精度 +**选项**: +- `auto`:自动选择最合适的精度 +- `fp64`:64位浮点精度,精度最高但显存占用最大 +- `fp32`:32位浮点精度,标准精度 +- `fp16`:16位浮点精度,可节省显存 +- `bf16`:16位brain浮点精度,介于fp16和fp32之间 +- `fp8_e4m3fn`:8位浮点精度(e4m3),显存占用最小 +- `fp8_e5m2`:8位浮点精度(e5m2),显存占用最小 + +**功能**:专门控制扩散模型核心组件UNET的计算精度。更高的精度可以提供更好的图像生成质量,但会占用更多显存。较低的精度可以显著节省显存,但可能会影响生成结果的质量。 + +### VAE 精度 + +**选项与建议**: +- `auto`:自动选择最合适的精度,推荐8-12GB显存的用户使用 +- `fp16`:16位浮点精度,推荐6GB及以下显存的用户使用,可节省显存但可能影响质量 +- `fp32`:32位浮点精度,推荐16GB及以上显存且追求最佳质量的用户使用 +- `bf16`:16位brain浮点精度,推荐支持此格式的新型显卡使用,可获得更好的性能平衡 + +**功能**:控制变分自编码器(VAE)的计算精度,影响图像编码/解码的质量和速度。更高的精度可以提供更好的图像重建质量,但会占用更多显存。较低的精度可以节省显存,但可能会影响图像的细节还原。 + +### 文本编码器精度 +**选项**: +- `auto`:自动选择最合适的精度 +- `fp8_e4m3fn`:8位浮点精度(e4m3),显存占用最小 +- `fp8_e5m2`:8位浮点精度(e5m2),显存占用最小 +- `fp16`:16位浮点精度,可节省显存 +- `fp32`:32位浮点精度,标准精度 + +**功能**:控制文本提示词编码器的计算精度,影响文本理解的准确性和显存占用。更高的精度可以提供更准确的文本理解,但会占用更多显存。较低的精度可以节省显存,但可能会影响提示词的解析效果。 + +## 内存 + +### 强制使用 channels-last 内存格式 +**功能**:改变内存中数据的排列方式,可能提升某些硬件上的性能 + +### DirectML 设备索引 +**功能**:在Windows上使用DirectML加速时指定设备,主要用于AMD显卡 + +### 禁用IPEX优化 +**功能**:关闭Intel CPU优化,主要影响Intel处理器的性能 + +### VRAM 管理模式 +**选项**: +- `auto`:自动管理显存,根据模型大小和需求自动分配显存 +- `lowvram`:低显存模式,只使用最低限度的显存,可能会影响生成质量 +- `normalvram`:标准显存模式,平衡显存使用和性能 +- `highvram`:高显存模式,使用较多显存以获得更好性能 +- `novram`:不使用显存,完全使用系统内存运行 +- `cpu`:仅使用CPU运行,不使用显卡 + +**功能**:控制显存的使用策略,如自动管理、低显存模式等 + +### 保留VRAM +**功能**:为操作系统和其他程序预留的显存量,防止系统卡死 + + +### 禁用智能内存管理 +**功能**:关闭自动内存优化,强制将模型移到系统内存以释放显存 + +### CPU 运行 VAE +**功能**:强制VAE在CPU上运行,可以节省显存但会降低处理速度 + +## 预览 + +### 用于潜空间预览的方法 +**选项**: +- `none`: 不显示预览图像,生成过程中只显示进度条 +- `auto`: 自动选择最合适的预览方法,根据系统性能和显存情况动态调整 +- `latent2rgb`: 直接将潜空间数据转换为RGB图像进行预览,速度较快但质量一般 +- `taesd`: 使用轻量级的TAESD模型进行预览,在速度和质量之间取得平衡 + +**功能**: 控制生成过程中如何预览中间结果。不同的预览方法会影响预览的质量和性能消耗。选择合适的预览方法可以在预览效果和系统资源占用之间找到平衡点。 + +### 预览图像大小 +**功能**:设置预览图像的分辨率,影响预览清晰度和性能,尺寸越大,预览质量越高,但也会占用更多显存 + + +### 算法优化 +- **确定性算法 (deterministic)**: + 启用后使用确定性算法,相同输入会产生相同输出,但计算速度较慢 + +- **快速模式 (fast)**: + 启用实验性优化,可能提升速度但可能影响生成质量 + +## 缓存 + +### 经典缓存系统 +**功能**:使用传统的缓存策略,更保守但稳定 + +### 使用 LRU 缓存,最多缓存 N 个节点结果 + +**功能**:使用最近最少使用(Least Recently Used)算法的缓存系统,可以缓存指定数量的节点计算结果 + +**说明**: +- 通过设置一个具体的数字来控制最大缓存数量,如 10、50、100 等 +- 缓存可以避免重复计算相同的节点操作,提高工作流执行速度 +- 当缓存达到上限时,会自动清除最久未使用的结果 +- 缓存的结果会占用系统内存(RAM/VRAM),数值越大占用越多 + +**使用建议**: +- 默认值为 null,表示不启用 LRU 缓存 +- 根据系统内存容量和使用需求设置合适的缓存数量 +- 对于经常重复使用相同节点配置的工作流,建议启用此功能 +- 如果系统内存充足,可以设置较大的数值以获得更好的性能提升 + +## 注意力 + +### 交叉注意力方法 +**选项**: +- `auto`: 自动选择最合适的注意力计算方法 +- `split`: 分块计算注意力,可以节省显存但速度较慢 +- `quad`: 使用四分注意力算法,在速度和显存使用上取得平衡 +- `pytorch`: 使用PyTorch原生注意力计算,速度较快但显存占用大 + +**功能**: 控制模型计算注意力时使用的具体算法。不同的算法会在生成质量、速度和显存占用之间做出不同的权衡。通常建议使用auto自动选择。 + + +- **强制upcast-attention (force-upcast-attention)**: + 强制使用高精度计算注意力,提升质量但增加显存使用 + +- **禁用upcast-attention (dont-upcast-attention)**: + 禁用高精度注意力计算,节省显存 + +## 常规 + +### 禁用xFormers优化 +**功能**:关闭 xFormers 库的优化功能。xFormers 是一个专门优化 Transformer 模型注意力机制的库,通常可以提高计算效率、减少内存使用并加快推理速度。禁用此优化后会: + +- 回退到标准的注意力计算方法 +- 可能增加内存使用和计算时间 +- 在某些情况下提供更稳定的运行环境 + +**使用场景**: +- 遇到与 xFormers 相关的兼容性问题时 +- 需要更精确的计算结果时(某些优化可能影响数值精度) +- 在调试或排查问题时需要使用标准实现 + +### 模型文件的默认哈希函数 +**选项**: +- `sha256`: 使用 SHA-256 算法进行哈希校验,安全性高但计算较慢 +- `sha1`: 使用 SHA-1 算法,速度较快但安全性稍低 +- `sha512`: 使用 SHA-512 算法,提供最高安全性但计算最慢 +- `md5`: 使用 MD5 算法,速度最快但安全性较低 + +**功能**:设置模型文件校验的哈希算法,用于验证文件完整性。不同的哈希算法在计算速度和安全性之间有不同的权衡。通常建议使用 sha256 作为默认选项,它能在安全性和性能之间取得较好的平衡。 + +### 使 pytorch 在可以时使用较慢的确定性算法 + +**功能**: 强制 PyTorch 在可能的情况下使用确定性算法,以提高结果的可重现性。 + +**说明**: +- 启用后 PyTorch 会优先使用确定性算法而不是更快的非确定性算法 +- 相同的输入将产生相同的输出,有助于调试和结果验证 +- 确定性算法通常比非确定性算法运行更慢 +- 即使启用此设置,也不能完全保证在所有情况下都能产生完全相同的图像结果 + +**使用场景**: +- 科学研究需要严格的结果可重现性 +- 调试过程中需要稳定的输出结果 +- 生产环境中需要保证结果一致性 + +### 不打印服务器输出 +**功能**:禁止在控制台显示服务器运行信息,保持界面整洁。 + +**说明**: +- 启用后将不显示 ComfyUI 服务器的日志和运行信息 +- 可以减少控制台的信息干扰,使界面更加清爽 +- 在大量日志输出时可能略微提升系统性能 +- 默认为关闭状态(false),即默认显示服务器输出 + +**使用场景**: +- 生产环境中不需要查看调试信息时 +- 希望保持控制台界面整洁时 +- 系统运行稳定无需监控日志时 + +**注意**:在开发和调试过程中建议保持此选项关闭,以便及时查看服务器的运行状态和错误信息。 + +### 禁用在文件中保存提示元数据 +**功能**:不在生成的图片中保存工作流信息,减少文件大小,但同时也意味着对应工作流信息的缺失,你无法再使用工作流输出的文件来重现对应的生成结果 + +### 禁用所有自定义节点 +**功能**:禁止加载所有第三方扩展节点,通常用于在排查问题时使用,用于来定位对应的错误是否由于第三方扩展节点导致 + +### 日志详细级别 +**功能**:控制日志输出的详细程度,用于调试和监控系统运行状态。 + +**选项**: +- `CRITICAL`: 仅输出严重错误信息,这些错误可能导致程序无法继续运行 +- `ERROR`: 输出错误信息,表示某些功能无法正常工作 +- `WARNING`: 输出警告信息,表示可能存在的问题但不影响主要功能 +- `INFO`: 输出一般信息,包括系统运行状态和重要操作记录 +- `DEBUG`: 输出最详细的调试信息,包括系统内部运行的细节 + +**说明**: +- 日志级别从上到下详细程度递增 +- 每个级别都会包含比它更高级别的所有日志信息 +- 建议在正常使用时设置为 INFO 级别 +- 在排查问题时可以设置为 DEBUG 级别以获取更多信息 +- 在生产环境中可以设置为 WARNING 或 ERROR 级别以减少日志量 + +## 目录 + +### 输入目录 +**功能**:设置输入文件(如图片、模型)的默认存放路径 + +### 输出目录 +**功能**:设置生成结果的保存路径 \ No newline at end of file