ComfyPilotComfyPilot
文档 / 节点包 / 发布自定义节点到 Comfy Registry

发布自定义节点到 Comfy Registry

了解如何创建 Comfy Registry 账户、创建 publisher、生成 API 密钥、添加元数据,以及通过 Comfy CLI 或 GitHub Actions 发布自定义节点。

节点包 publishing 更新于 2026-11-08

查看官方原文

发布自定义节点到 Comfy Registry

了解如何创建 Comfy Registry 账户、创建 publisher、生成 API 密钥、添加元数据,以及通过 Comfy CLI 或 GitHub Actions 发布自定义节点。

设置注册表账户

按照以下步骤设置注册表账户并发布您的第一个节点。

观看教程

YouTube video player

创建发布者

发布者是一个可以向注册表(registry)发布自定义节点的身份。每个自定义节点都需要在 pyproject.toml [文件]() 中包含发布者标识符。

访问 Comfy Registry,创建一个发布者账户。您的发布者 ID 是全球唯一的,并且之后不能更改,因为它用于您的自定义节点的 URL 中。

您的发布者 ID 可以在个人资料页面上 @ 符号后面找到。

Hero Dark

创建注册表发布 API Key

[!NOTE] 重要提示: 此 API 密钥专门用于将自定义节点发布到注册表和 ComfyUI-Manager。如果您想在工作流中使用付费 API 节点,请参阅 API 节点总览。

访问这里并点击你想要为其创建 API 密钥的发布者。此密钥将用于通过 CLI 或 GitHub Actions 将自定义节点发布到注册表(为 ComfyUI-Manager 提供支持)。

为特定发布者创建密钥

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

创建 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 文件的更新时运行。