发布自定义节点到 Comfy Registry
了解如何创建 Comfy Registry 账户、创建 publisher、生成 API 密钥、添加元数据,以及通过 Comfy CLI 或 GitHub Actions 发布自定义节点。
发布自定义节点到 Comfy Registry
了解如何创建 Comfy Registry 账户、创建 publisher、生成 API 密钥、添加元数据,以及通过 Comfy CLI 或 GitHub Actions 发布自定义节点。
设置注册表账户
按照以下步骤设置注册表账户并发布您的第一个节点。
观看教程
创建发布者
发布者是一个可以向注册表(registry)发布自定义节点的身份。每个自定义节点都需要在 pyproject.toml [文件]() 中包含发布者标识符。
访问 Comfy Registry,创建一个发布者账户。您的发布者 ID 是全球唯一的,并且之后不能更改,因为它用于您的自定义节点的 URL 中。
您的发布者 ID 可以在个人资料页面上 @ 符号后面找到。

创建注册表发布 API Key
[!NOTE] 重要提示: 此 API 密钥专门用于将自定义节点发布到注册表和 ComfyUI-Manager。如果您想在工作流中使用付费 API 节点,请参阅 API 节点总览。
访问这里并点击你想要为其创建 API 密钥的发布者。此密钥将用于通过 CLI 或 GitHub Actions 将自定义节点发布到注册表(为 ComfyUI-Manager 提供支持)。

为 API 密钥命名并将其安全保存。如果密钥丢失了它,请重新创建一个新的密钥。

添加元数据
[!TIP] 安装 comfy-cli了吗? 如果没有请 先安装它。
comfy node init
这个命令将会生成下面这样的元数据:
# pyproject.toml
[project]
name = "" # 节点的唯一标识符。创建后不可更改。
description = ""
version = "1.0.0" # Custom Node 版本。必须符合语义化版本。
license = { file = "LICENSE.txt" }
dependencies = [] # 从 requirements.txt 填充
[project.urls]
Repository = "https://github.com/..."
[tool.comfy]
PublisherId = "" # TODO(从 Comfy Registry 网站填入 Publisher ID)。
DisplayName = "" # Custom Node 的显示名称。之后可以更改。
Icon = "https://example.com/icon.png" # SVG、PNG、JPG 或 GIF(最大 800x400px)
将此文件添加到您的仓库中。查看规范以获取有关 pyproject.toml 文件的更多信息。
使用 .comfyignore 排除文件
默认情况下,comfy node publish 会打包所有被 git 跟踪的文件。如果要将仅供开发使用的文件(测试、设计资源、大型样本等)排除在发布的归档之外,请在仓库根目录添加 .comfyignore 文件。其语法与 .gitignore 一致:
# 仅供开发使用的资源
docs/
tests/
*.psd
.vscode/
[!NOTE].comfyignore叠加在.gitignore之上——未被 git 跟踪的文件本来就会被排除。.comfyignore用于过滤那些你保留在 git 中、但不希望出现在注册表归档中的文件。 在[tool.comfy].includes中列出的目录会被强制包含,即使匹配.comfyignore的模式(例如,构建产物dist/被.gitignore忽略但仍需要发布时,这很有用)。 * 请将.comfyignore提交到仓库,以便本地运行和 CI 生成相同的归档。
发布到注册表(registry)
选项 1: Comfy CLI
运行下面的命令手动将您的节点发布到注册表。
comfy node publish
会被提示要求输入 API 密钥。
API Key for publisher '<publisher id>': ****************************************************
...Version 1.0.0 Published.
See it here: https://registry.comfy.org/publisherId/your-node
[!WARNING] 请记住,API 密钥默认是隐藏的。
[!WARNING] 当使用 CTRL+V 复制粘贴时,您的 API 密钥可能会有一个额外的 \x16 在后面,例如: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\x16。 建议通过右键点击复制粘贴您的 API 密钥。
选项 2: Github Actions
通过 Github Actions 自动发布您的节点。
1. 设置一个 Github Secret
前往 Settings -> Secrets and Variables -> Actions -> Under Secrets Tab and Repository secrets -> New Repository Secret.
创建一个名为 REGISTRY_ACCESS_TOKEN 的 secret 并存储您的 API 密钥作为值。
2. 创建一个 Github Action
复制下面的代码并粘贴到 /.github/workflows/publish_action.yml
name: Publish to Comfy registry
on:
workflow_dispatch:
push:
branches:
- main
paths:
- "pyproject.toml"
jobs:
publish-node:
name: Publish Custom Node to registry
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v7
- name: Publish Custom Node
uses: Comfy-Org/publish-node-action@main
with:
personal_access_token: ${{ secrets.REGISTRY_ACCESS_TOKEN }} ## 在 GitHub 仓库 secrets 中添加你自己的个人访问令牌,并在此引用。
[!WARNING] 如果您的分支名称不是main,例如master,请在 branches 部分添加名称。
3. 测试 Github Action
推送到您的 pyproject.toml 的版本号。您应该在注册表中看到您的更新节点。
[!TIP] Github Action 会自动在您每次推送 pyproject.toml 文件的更新时运行。