ComfyUI全面掌握-知识点详解——ComfyUI 开发与扩展基础(开发指南+环境搭建)
本文为「ComfyUI 全面掌握」系列第 23 篇,是高阶进阶章节的第一篇知识点详解博客。作为开发系列的起点,本文将带你系统了解 ComfyUI 社区贡献流程,并手把手搭建完整的自定义节点开发环境,为后续的节点开发与发布奠定坚实的技术基础。
知识点详解——ComfyUI 开发与扩展基础(开发指南+环境搭建)
目录
- 一、引言:从使用者到贡献者
- 1.1 为什么要学习 ComfyUI 开发?
- 1.2 本文学习目标
- 二、ComfyUI 开源项目概览与社区贡献指南
- 2.1 仓库结构与核心模块
- 2.2 参与社区贡献的方式
- 2.3 开发规范与代码风格
- 2.4 开发文档体系介绍
- 三、开发环境搭建全流程
- 3.1 整体流程概览
- 3.2 安装 Python 3.10
- 3.3 安装 VS Code 与必备扩展
- 3.4 克隆 ComfyUI 源码仓库
- 3.5 创建虚拟环境与安装依赖
- 3.6 配置 comfy-cli 命令行工具
- 3.7 验证开发环境
- 四、编写第一个测试节点:Hello World
- 4.1 节点目录结构
- 4.2 编写节点代码
- 4.3 在 ComfyUI 中加载测试
- 五、开发调试技巧
- 5.1 日志输出技巧
- 5.2 VS Code 调试配置
- 5.3 热重载与快速迭代
- 5.4 常见错误排查
- 六、总结与下一篇预告
- 官方参考链接
一、引言:从使用者到贡献者
1.1 为什么要学习 ComfyUI 开发?
在过去的四个章节中,你已经全面掌握了 ComfyUI 的使用——从部署安装到工作流搭建,从文生图到视频生成,从使用已有节点到安装社区自定义节点。这是一个了不起的成就,但 ComfyUI 的真正魅力在于它的可扩展性。
ComfyUI 是一个完全开源的项目,这意味着任何人都可以参与它的发展——不仅仅是报告 Bug 或提出功能建议,更可以直接编写代码来扩展它的能力。学习 ComfyUI 开发的价值体现在多个层面:
对个人而言:
- 能够根据特定需求开发专属节点,不再受限于现有节点的功能边界
- 深入理解 ComfyUI 的底层架构,使用起来更加得心应手
- 掌握一项有价值的 AI 工具开发技能,提升技术竞争力
对团队而言:
- 能够将 ComfyUI 的生成能力与内部系统集成,实现自动化生产
- 开发符合业务需求的定制化节点,提升团队工作效率
对社区而言:
- 将优秀的节点发布到 Comfy Hub,与其他开发者分享你的创意
- 参与 ComfyUI 核心仓库的贡献,推动项目持续发展
而这一切,都始于一个正确的开发环境。
1.2 本文学习目标
完成本文学习后,你将能够:
- ✅ 理解 ComfyUI 开源项目的仓库结构和社区贡献流程
- ✅ 独立搭建完整的自定义节点开发环境(Python 3.10 + VS Code + comfy-cli)
- ✅ 编写并加载第一个"Hello World"测试节点
- ✅ 掌握基本的开发调试技巧和常见问题排查方法
一句话总结:本文的目标只有一个——让你的电脑变成一个可用的 ComfyUI 开发工作站。后续的节点开发、API 集成等内容,都将在本文搭建的环境之上进行。
二、ComfyUI 开源项目概览与社区贡献指南
2.1 仓库结构与核心模块
ComfyUI 的官方 GitHub 仓库(comfyanonymous/ComfyUI)是整个项目的中枢。理解仓库结构,是参与开发的第一步。
| 目录/文件 | 作用 |
|---|---|
main.py | ComfyUI 主入口,服务启动脚本 |
comfy/ | 核心引擎目录,包含模型加载、采样、节点注册等核心逻辑 |
comfy_extras/ | 内置扩展节点,官方维护的额外节点集 |
custom_nodes/ | 自定义节点目录,用户安装的第三方节点存放于此 |
nodes.py | 内置基础节点定义文件 |
web/ | 前端 Web 界面代码 |
models/ | 模型文件存放目录(checkpoints, loras, vae 等) |
requirements.txt | Python 依赖列表 |
user/ | 用户配置与数据目录 |
开发相关的核心目录:
comfy/目录包含了 ComfyUI 的核心运行逻辑,包括:comfy/model_management.py:模型加载与内存管理comfy/samplers.py:采样器实现comfy/sd.py:Stable Diffusion 模型处理comfy/clip.py:CLIP 模型处理comfy/controlnet.py:ControlNet 支持
comfy_extras/目录是官方维护的扩展节点集,提供了大量社区常用功能的官方实现。这些节点的代码风格和组织方式,是学习自定义节点开发的最佳参考。custom_nodes/目录是第三方自定义节点的存放位置。当你安装一个新节点时,它会被克隆或复制到这个目录下。ComfyUI 启动时会自动扫描此目录并加载其中的节点。
2.2 参与社区贡献的方式
参与 ComfyUI 社区贡献有多种方式,不一定是写代码:
① 报告 Bug(适合所有用户)
如果使用过程中遇到 Bug,可以在 GitHub Issues 中提交问题报告。好的 Bug 报告应包含:
- 清晰的标题和问题描述
- 复现步骤(越详细越好)
- 运行环境信息(操作系统、Python 版本、ComfyUI 版本)
- 完整的错误日志
- 相关工作流文件(JSON)截图
② 提交功能建议(适合所有用户)
通过 GitHub Issues 的 Feature Request 模板提交。好的功能建议应说明:
- 要解决什么问题
- 建议的解决方案
- 替代方案(如果有)
③ 改进文档(适合有文档编写能力的用户)
ComfyUI 的官方文档也是开源的,可以在文档仓库提交改进。文档贡献是新手参与开源的好起点。
④ 提交 Pull Request(适合开发者)
如果你修复了一个 Bug 或实现了一个新功能,可以通过 Pull Request 将代码贡献到 ComfyUI 主仓库。PR 提交前请注意:
- 确保代码风格符合项目规范
- 确保新功能有充分的测试
- 在 PR 描述中清楚说明改动内容和原因
⑤ 开发自定义节点(适合所有开发者)
这是最常见的贡献方式。通过开发自定义节点,你可以直接扩展 ComfyUI 的功能,并将成果发布到 Comfy Hub 供他人使用。这也是本章节的重点内容。
2.3 开发规范与代码风格
ComfyUI 项目虽然没有严格的编码规范文档,但从源码中可以总结出以下约定:
Python 代码规范:
- 使用 4 空格缩进(标准 Python 风格)
- 类名使用 PascalCase(如
LoadImage,KSampler,CLIPTextEncode) - 函数和变量名使用 snake_case(如
get_timestep_range,model_options) - 常量使用 UPPER_CASE(如
CATEGORY,RETURN_TYPES)
节点命名规范:
- 节点类名应反映其功能,如
ImageUpscale,TextConcatenate - CATEGORY 使用有意义的层级结构,如
"image/processing","text/utils" - 输入/输出名称使用可读的 snake_case
文件组织规范:
- 每个自定义节点包应放在
custom_nodes/下的独立子目录中 - 包内应包含
__init__.py文件 - 建议将节点类定义放在单独的
.py文件中,避免单个文件过于庞大
2.4 开发文档体系介绍
ComfyUI 官方文档的"开发与扩展"模块是你开发过程中最核心的参考资料。该模块包含:
| 文档章节 | 内容 | 适合场景 |
|---|---|---|
| 开发指南 | 开发流程概述、环境搭建建议 | 入门阅读 |
| 自定义节点 | 节点结构、输入输出类型、注册规范 | 核心开发参考 |
| 节点替换 | 旧节点迁移到新节点的方案 | 节点更新升级 |
| API | 本地 API 端点与调用方式 | API 集成开发 |
| 前端扩展 | JS 前端扩展开发 | 高级 UI 定制 |
建议:在开始开发前,花 30 分钟浏览开发与扩展模块的所有页面,建立一个整体的认知框架。开发过程中遇到具体问题时,再回到对应的页面查阅细节。
三、开发环境搭建全流程
3.1 整体流程概览
开发环境的搭建分为以下几个步骤:
安装 Python 3.10 ↓ 安装 VS Code + Python 扩展 ↓ 克隆 ComfyUI 源码仓库 ↓ 创建 Python 虚拟环境 ↓ 安装项目依赖 ↓ 配置 comfy-cli(可选但推荐) ↓ 验证开发环境重要提示:建议在独立的目录中搭建开发环境,与已有 ComfyUI 安装分开。这样既不影响日常使用,也避免开发过程中的修改破坏已有环境。开发环境主要用于编写和测试自定义节点,不需要放置大量模型文件,一个基础模型即可满足测试需求。
3.2 安装 Python 3.10
ComfyUI 推荐的 Python 版本是3.10。虽然较新版本(如 3.11、3.12)可能也能运行,但为了保证兼容性,特别是使用 comfy-cli 和一些自定义节点时,建议严格使用 Python 3.10。
检查是否已有 Python:
python3 --version如果输出Python 3.10.x,则无需重新安装。如果没有 Python 或版本不正确,请按以下步骤安装:
macOS 安装:
# 使用 Homebrew 安装(推荐) brew install python@3.10 # 验证安装 python3.10 --versionWindows 安装:
- 访问 Python 3.10 官方下载页面
- 选择 "Windows Installer (64-bit)" 下载
- 安装时务必勾选 "Add Python 3.10 to PATH"
- 打开命令提示符验证:
python --version
Linux(Ubuntu/Debian)安装:
sudo apt update sudo apt install python3.10 python3.10-venv python3.10-dev -y python3.10 --version3.3 安装 VS Code 与必备扩展
VS Code(Visual Studio Code)是目前最流行的 Python 开发 IDE,免费、轻量、功能强大。
① 下载并安装 VS Code
访问 VS Code 官网 下载对应系统版本。
② 安装 Python 扩展
打开 VS Code,点击左侧扩展图标(或按Cmd+Shift+X/Ctrl+Shift+X),搜索并安装以下扩展:
| 扩展名 | 用途 | 是否为必需 |
|---|---|---|
| Python(微软官方) | Python 语言支持、代码补全、调试 | ✅必需 |
| Pylance | 快速、功能丰富的 Python 语言服务 | ✅必需 |
| Python Debugger | Python 调试器支持 | ✅必需 |
| GitLens | Git 历史可视化,代码溯源 | ⭕ 推荐 |
| Rainbow CSV | CSV 文件语法高亮 | ⭕ 推荐 |
③ 配置 Python 解释器
在 VS Code 中,按Cmd+Shift+P(macOS)或Ctrl+Shift+P(Windows/Linux),输入 "Python: Select Interpreter",选择你刚安装的 Python 3.10。
3.4 克隆 ComfyUI 源码仓库
创建一个专门的开发目录,并从 GitHub 克隆 ComfyUI 源码:
# 创建开发目录(建议放在用户目录下) mkdir ~/comfyui-dev cd ~/comfyui-dev # 克隆 ComfyUI 源码 git clone https://github.com/comfyanonymous/ComfyUI.git # 进入 ComfyUI 目录 cd ComfyUI分支选择建议:
- 默认
master分支包含最新代码,适合开发测试- 如需稳定版本,可以 checkout 到具体的 Release 版本:
git checkout v0.3.0(版本号以实际为准)- 建议使用 master 分支,因为自定义节点通常需要兼容最新版本的 ComfyUI
3.5 创建虚拟环境与安装依赖
① 创建 Python 虚拟环境
虚拟环境可以隔离项目依赖,避免不同项目之间的包冲突。
# macOS / Linux python3.10 -m venv venv source venv/bin/activate # Windows python -m venv venv venv\Scripts\activate激活虚拟环境后,命令行前面会出现(venv)标识。
② 升级 pip
pip install --upgrade pip③ 安装核心依赖
# 安装基础依赖 pip install -r requirements.txt # 安装开发额外依赖(如需调试 PyTorch) pip install torch torchvision torchaudio依赖安装加速:如遇下载缓慢,可使用国内镜像源:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
常见问题处理:
- macOS M1/M2 芯片:如果 PyTorch 安装失败,尝试:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu- 权限问题:如遇权限错误,检查是否在虚拟环境内(
source venv/bin/activate)- 依赖冲突:使用
pip list检查已安装的包,必要时使用pip uninstall先卸载冲突包
3.6 配置 comfy-cli 命令行工具
comfy-cli 是 ComfyUI 的官方命令行工具,提供了项目管理、插件安装、配置管理等功能。虽然不是开发必需的,但它能大大简化开发流程。
① 安装 comfy-cli
pip install comfy-cli② 验证安装
comfy --version③ 常用命令一览
| 命令 | 功能 | 开发中的用途 |
|---|---|---|
comfy node install <url> | 安装自定义节点 | 安装测试依赖节点 |
comfy node list | 列出已安装节点 | 查看节点加载状态 |
comfy node update <name> | 更新指定节点 | 更新节点到最新版本 |
comfy run | 启动 ComfyUI(开发模式) | 快速启动测试 |
comfy env | 显示环境信息 | 排查环境配置问题 |
④ 开发模式启动(关键)
使用 comfy-cli 以开发模式启动 ComfyUI:
# 在 ComfyUI 项目目录下 comfy run --listen 0.0.0.0 --port 8188此时终端会显示更详细的日志信息,包括节点加载过程、错误堆栈等,对开发调试非常有帮助。
3.7 验证开发环境
在正式开始开发之前,先验证环境是否配置正确。
步骤 1:启动 ComfyUI
# 确保虚拟环境已激活 source venv/bin/activate # macOS/Linux # 或 venv\Scripts\activate # Windows # 启动 ComfyUI python main.py步骤 2:验证访问
浏览器访问http://127.0.0.1:8188,应看到 ComfyUI 主界面。
步骤 3:验证节点加载
观察终端输出,确认没有ERROR级别的日志。如果看到Custom nodes loaded相关的提示,说明节点加载正常。
步骤 4:验证 Python 开发环境
在 VS Code 中创建一个测试文件test_env.py:
# test_env.py import torch import comfy print(f"PyTorch 版本: {torch.__version__}") print(f"CUDA 可用: {torch.cuda.is_available()}") print(f"ComfyUI 导入成功: {comfy.__name__}")右键选择 "Run Python File in Terminal" 运行,确认输出正常。
环境验证清单:
- ✅ Python 3.10 可正常调用
- ✅ VS Code 已选择正确的 Python 解释器
- ✅ ComfyUI 可正常启动并访问
- ✅ 虚拟环境已激活,依赖已安装
- ✅ comfy-cli 已安装(可选)
- ✅ PyTorch 可导入
- ✅ comfy 核心模块可导入
四、编写第一个测试节点:Hello World
在搭建好开发环境后,让我们编写第一个自定义节点——一个简单但功能完整的 Hello World 节点。这个节点会接收一个文本输入,在控制台打印问候语,并返回格式化后的字符串。
4.1 节点目录结构
在custom_nodes/目录下创建一个新的节点包:
custom_nodes/ └── comfyui-hello-world/ # 节点包目录 ├── __init__.py # 包初始化文件(必需) └── hello_node.py # 节点实现文件4.2 编写节点代码
第一步:创建目录
cd ~/comfyui-dev/ComfyUI/custom_nodes mkdir comfyui-hello-world cd comfyui-hello-world第二步:编写__init__.py
# __init__.py # ComfyUI 在加载自定义节点时,会首先执行此文件 # 在此文件中导入节点类,确保节点被注册到系统中 from .hello_node import HelloWorldNode第三步:编写hello_node.py
# hello_node.py # Hello World 自定义节点示例 # 功能:接收文本输入,添加问候语前缀并返回 class HelloWorldNode: """ 一个简单的 Hello World 节点。 展示 ComfyUI 自定义节点的基本结构和注册方式。 """ # 节点的类别(显示在节点列表中的路径) CATEGORY = "example" # 节点的输入类型定义 @classmethod def INPUT_TYPES(cls): """ 定义节点的输入端口。 返回一个字典,包含 required(必需)和 optional(可选)输入。 """ return { "required": { "input_text": ("STRING", { "multiline": True, # 允许多行文本 "default": "World", # 默认值 "placeholder": "请输入你的名字" # 占位提示 }), "greeting": (["Hello", "Hi", "Hey", "你好", "Bonjour"], { "default": "Hello" }), }, "optional": { "suffix": ("STRING", { "default": "!" }), } } # 节点的返回类型定义 RETURN_TYPES = ("STRING",) # 节点返回端口的显示名称(可选) RETURN_NAMES = ("greeting_text",) # 节点的功能函数名称 FUNCTION = "greet" # 节点的显示名称(在界面上显示的名称) DISPLAY_NAME = "Hello World 问候" # 节点的描述信息(鼠标悬停时显示) DESCRIPTION = "一个简单的问候节点,输入名字并选择问候语" def greet(self, input_text, greeting, suffix="!"): """ 核心功能函数。 参数名必须与 INPUT_TYPES 中定义的键名一致。 Args: input_text: 用户输入的文本 greeting: 选择的问候语 suffix: 后缀符号 Returns: 包含格式化问候语的元组 """ # 在控制台输出日志 print(f"[HelloWorld] 收到输入: '{input_text}', 问候语: '{greeting}'") # 生成问候文本 result = f"{greeting}, {input_text}{suffix}" # 在控制台输出结果 print(f"[HelloWorld] 输出结果: '{result}'") return (result,) # 节点导出映射(兼容 ComfyUI 的节点发现机制) NODE_CLASS_MAPPINGS = { "HelloWorldNode": HelloWorldNode } NODE_DISPLAY_NAME_MAPPINGS = { "HelloWorldNode": "Hello World 问候" }4.3 在 ComfyUI 中加载测试
步骤 1:重启 ComfyUI
# 确保在 ComfyUI 项目目录,且虚拟环境已激活 python main.py步骤 2:观察启动日志
在终端中,你应该能看到类似以下的输出:
[ComfyUI] Loading custom nodes from: /path/to/comfyui-dev/ComfyUI/custom_nodes/comfyui-hello-world [ComfyUI] Registering node: HelloWorldNode (Hello World 问候)步骤 3:在界面中使用
- 浏览器访问
http://127.0.0.1:8188 - 右键点击工作区域,在菜单中选择 "Add Node" → "example" → "Hello World 问候"
- 节点会出现在工作区,包含一个文本输入框和一个问候语下拉选择
- 添加一个
Text Multiline节点(用于显示输出) - 连接 HelloWorldNode 的输出到 Text Multiline 的输入
- 输入文本,点击 "Queue Prompt" 执行
- 查看输出结果
排错提示:
- 节点没有出现在菜单中 → 检查终端是否有错误日志,确认
__init__.py是否正确导入- 执行时报错 → 检查 FUNCTION 指定的方法名是否与代码中的方法名一致
- 输出为空 → 检查 RETURN_TYPES 定义是否正确,返回值是否匹配
五、开发调试技巧
5.1 日志输出技巧
在节点开发过程中,日志是最常用也最有效的调试手段。ComfyUI 会将标准输出(print)和标准错误(sys.stderr)显示在终端中。
基础日志输出:
print("[MyNode] 这是一个调试信息") print(f"[MyNode] 变量值: {variable}")带前缀的日志风格(推荐):
def process(self, input_data): print(f"[MyCustomNode] 开始处理...") print(f"[MyCustomNode] 输入参数: {input_data}") # 处理逻辑 result = do_something(input_data) print(f"[MyCustomNode] 处理完成,结果: {result}") return (result,)使用 Python logging 模块(高级):
import logging logger = logging.getLogger("comfyui.my_custom_node") class MyAdvancedNode: def process(self, data): logger.info(f"Processing data: {data}") logger.debug(f"Detailed debug info: ...") # ...5.2 VS Code 调试配置
VS Code 的调试功能可以让你在代码中设置断点,逐步执行,检查变量值。
配置调试器:
- 在 VS Code 中打开 ComfyUI 项目目录
- 点击左侧"运行和调试"图标(或按
Cmd+Shift+D) - 点击"创建 launch.json 文件"
- 选择 "Python Debugger" → "Python File"
将生成的launch.json配置修改为:
{ "version": "0.2.0", "configurations": [ { "name": "ComfyUI Debug", "type": "debugpy", "request": "launch", "program": "${workspaceFolder}/main.py", "console": "integratedTerminal", "justMyCode": false, "env": { "PYTHONPATH": "${workspaceFolder}" } } ] }使用调试器:
- 在节点代码中点击行号左侧添加断点(红点)
- 按
F5启动调试 - ComfyUI 启动后,在工作流中执行你的节点
- 当代码执行到断点处时,VS Code 会暂停执行
- 可以使用"变量"面板检查当前变量值
- 使用
F10单步执行,F11进入函数内部
5.3 热重载与快速迭代
方法一:手动重启(最常用)
每次修改代码后,停止 ComfyUI(Ctrl+C),然后重新启动。这种方法简单可靠,适合开发初期。
方法二:使用 --auto-launch 参数
python main.py --auto-launchComfyUI 启动后会自动打开浏览器。
方法三:不重启快速测试
对于纯逻辑测试(不涉及节点注册),可以直接在 Python 中导入并测试:
# 在项目目录下创建 test_quick.py from custom_nodes.comfyui-hello-world.hello_node import HelloWorldNode node = HelloWorldNode() result = node.greet("World", "Hello") print(result) # 输出: ('Hello, World!',)# 运行快速测试(确保虚拟环境已激活) python test_quick.py5.4 常见错误排查
| 错误现象 | 可能原因 | 解决方法 |
|---|---|---|
模块导入错误(ModuleNotFoundError) | 虚拟环境未激活,或依赖未安装 | 激活虚拟环境:source venv/bin/activate;安装依赖:pip install -r requirements.txt |
| 节点未注册(节点列表找不到) | __init__.py未正确导入节点类,或 NODE_CLASS_MAPPINGS 缺失 | 检查__init__.py中的导入语句;确认有NODE_CLASS_MAPPINGS定义 |
执行时报错(TypeError等) | FUNCTION 方法名不匹配,或参数名不一致 | 确认FUNCTION = "method_name"与实际的def method_name():一致;确认方法参数名与 INPUT_TYPES 中的键名一致 |
| 返回类型不匹配 | RETURN_TYPES 与实际返回值类型或数量不匹配 | 确认返回值是元组;确认元素数量与 RETURN_TYPES 定义一致 |
| CUDA 内存不足 | 测试时使用了过大模型或过大的图像尺寸 | 降低图像尺寸;使用 CPU 模式测试逻辑正确性 |
| 端口被占用 | 另一个 ComfyUI 实例已在运行 | 关闭其他实例;或使用--port 8189指定不同端口 |
六、总结与下一篇预告
6.1 本章核心知识点回顾
通过本文的学习,你已经完成了从 ComfyUI 使用者到开发者的第一步。让我们回顾一下本文的核心内容:
社区贡献指南:
- ✅ 理解了 ComfyUI 仓库结构——
comfy/核心引擎、comfy_extras/扩展节点、custom_nodes/自定义节点 - ✅ 了解了五种社区贡献方式——Bug 报告、功能建议、文档改进、Pull Request、自定义节点开发
- ✅ 掌握了开发规范和代码风格要求
开发环境搭建(关键产出):
- ✅ Python 3.10 已安装并可用
- ✅ VS Code 已配置 Python 扩展和正确的解释器
- ✅ ComfyUI 源码已克隆到开发目录
- ✅ 虚拟环境已创建,依赖已安装
- ✅ comfy-cli 已配置(可选)
- ✅ 开发环境验证通过
第一个测试节点:
- ✅ 理解了自定义节点的基本代码结构——CATEGORY、INPUT_TYPES、RETURN_TYPES、FUNCTION
- ✅ 编写了 Hello World 节点并在 ComfyUI 中成功加载
- ✅ 掌握了基本的日志输出和调试方法
6.2 下一篇预告:自定义节点创建与发布
环境搭建完成,Hello World 节点也跑通了。下一篇(博客 24)我们将在此基础上大展拳脚——深入学习自定义节点的完整开发流程,包括:
- 节点代码结构深度拆解(继承体系、输入/输出配置、注册机制)
- 三个实操案例——文本格式化节点、图像尺寸计算节点、条件路由节点
- 调试技巧进阶——断点调试、异常处理、输入验证
- 节点发布至 Comfy Hub——从注册到审核的全流程
准备好了吗?下一篇,我们将真正开始"创造"自定义节点。
官方参考链接
- ComfyUI GitHub 仓库 — 主仓库源码
- ComfyUI 官方文档 — 开发与扩展 — 开发指南与自定义节点文档
- ComfyUI 自定义节点开发文档 → 开发与扩展 → 自定义节点 — 节点结构、输入输出类型规范
- comfy-cli GitHub 仓库 — 命令行工具源码与使用文档
- VS Code Python 扩展文档 — Python 开发环境配置教程
- Python 3.10 下载页面 — 推荐的 Python 版本
- Comfy Hub — 工作流与自定义节点市场
