ComfyUI 插件发布 GitHub Release + Comfy Registry (官方节点商店)完整复盘教程(从零开始)

【实战教程】ComfyUI 插件从 GitHub 仓库到 Comfy Registry 全流程发布指南(附完整踩坑实录)
【笔记】把已有的 ComfyUI 插件发布到 Comfy Registry(官方节点商店)全流程实录


📘 ComfyUI 插件发布完整复盘教程(从零开始)

ComfyUI 插件发布 GitHub Release + Comfy Registry (官方节点商店)完整复盘教程(从零开始)

一、前置准备

需要 说明
GitHub 账号 github.com 注册
Comfy Registry 账号 registry.comfy.org,用 GitHub 登录
本地插件代码 写好的自定义节点,至少包含 __init__.py

二、第一步:搭建标准仓库结构

在你的插件目录里确保有以下文件:

复制代码
comfyui-sage-guard/           ← 你的插件文件夹
├── __init__.py                 # 节点代码本体,必须有 NODE_CLASS_MAPPINGS
├── pyproject.toml              # ⭐ Registry 核心配置文件
├── README.md                   # 说明文档
├── LICENSE                     # 开源协议(MIT 等)
└── .github/
    └── workflows/
        └── publish_action.yml  # ⭐ GitHub Action 自动发布配置

三、第二步:写 pyproject.toml(最容易踩坑!)

复制代码
[project]
name = "comfyui-sage-guard"                                    # Registry 唯一 ID,不能含"ComfyUI",创建后不可改
description = "Non-invasive SageAttention compatibility guard..." # 建议包含关键词,方便搜索
version = "1.0.0"                                              # 语义化版本,每次发布必须递增
license = { file = "LICENSE" }
dependencies = ["torch"]

[project.urls]
Repository = "https://github.com/love530love/comfyui-sage-guard"

[tool.comfy]
PublisherId = "love"              # ⭐ 必须等于 registry.comfy.org 上的 Publisher 用户名!
DisplayName = "SageAttention Guard"
Icon = "🛡️"

⚠️ 关键踩坑点

后果 正确做法
name 包含 "ComfyUI" 命名违规,发布失败 去掉前缀,如 comfyui-sage-guard
PublisherId 填成 API Key Failed to validate token PublisherId = Publisher 用户名(如 love
PublisherId 与 API Key 不匹配 Token 验证失败 确保 token 是在该 Publisher 下生成的
文件含中文但非 UTF-8 UnicodeDecodeError 保存为 UTF-8 无 BOM

四、第三步:推送到 GitHub

复制代码
cd <你的插件目录>

git init
git add .
git commit -m "init: first version"
git branch -M main

# 先在 GitHub 网站上创建空仓库!
git remote add origin https://github.com/<用户名>/<仓库名>.git
git push -u origin main

⚠️ 踩坑实录

必须先手动在 GitHub 上创建仓库,再 push! 否则会报:

复制代码
remote: Repository not found.

五、第四步:注册 Publisher + 生成 API Key

  1. 打开 registry.comfy.org,用 GitHub 登录
  2. 点击 Create Publisher
  3. 填写:
    • Username : 你的 Publisher ID(如 love)--- 创建后不可更改!
    • Display Name: 显示名称
  4. 进入 Publisher 页面 → API KeysCreate new key
  5. ⚠️ 立刻复制保存!页面关掉后永远看不到原文,丢了只能重新生成

六、第五步:配置 GitHub Action 自动发布

6.1 添加 GitHub Secret

  1. 打开仓库 Settings → Secrets and variables → Actions → New repository secret
  2. Name : REGISTRY_ACCESS_TOKEN(必须严格一致)
  3. Secret: 粘贴上一步的 API Key
  4. Add secret

6.2 创建 workflow 文件

.github/workflows/publish_action.yml

复制代码
name: Publish to Comfy registry

on:
  workflow_dispatch:          # 允许手动触发
  push:
    branches:
      - main
    paths:
      - "pyproject.toml"      # 只有 pyproject.toml 变化时才触发

jobs:
  publish-node:
    name: Publish Custom Node to registry
    runs-on: ubuntu-latest
    steps:
      - name: Check out code
        uses: actions/checkout@v4

      - name: Publish Custom Node
        uses: Comfy-Org/publish-node-action@main
        with:
          personal_access_token: ${{ secrets.REGISTRY_ACCESS_TOKEN }}

      - name: Extract version from pyproject.toml
        id: get_version
        run: |
          VERSION=$(grep -oP 'version\s*=\s*"\K[^"]+' pyproject.toml)
          echo "version=$VERSION" >> $GITHUB_OUTPUT

      - name: Create GitHub Release
        uses: softprops/action-gh-release@v2
        with:
          tag_name: v${{ steps.get_version.outputs.version }}
          name: Release v${{ steps.get_version.outputs.version }}
          body: |
            ## What's Changed
            - Published to Comfy Registry
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

6.3 推送 workflow

复制代码
git add .github/workflows/publish_action.yml
git commit -m "ci: add auto-publish workflow"
git push origin main

七、第六步:首次手动发布(验证流程)

因为 GitHub Action 是监听 pyproject.toml 变化触发,首次需要手动验证:

复制代码
# 安装 comfy-cli
pip install comfy-cli

# 进入插件目录
cd <你的插件目录>

# 发布(用你保存的 API Key)
comfy node publish --token <你的API_Key>

如果成功,会看到:

复制代码
Upload successful.

八、第七步:以后自动发布

以后每次更新只需要:

复制代码
# 1. 修改代码
# 2. 改 pyproject.toml 里的 version(必须递增!)
version = "1.0.1"

# 3. push
git add pyproject.toml
git commit -m "bump version to 1.0.1"
git push origin main

然后自动完成:

  • ✅ 发布到 Comfy Registry
  • ✅ 创建 GitHub Release(带 tag)

九、完整踩坑记录汇总

阶段 错误 原因 解决
首次发布 UnicodeDecodeError: 'charmap' codec can't decode Windows 默认 cp1252 编码,tomlkit 没指定 UTF-8 修改 comfy_cli/registry/config_parser.pyopen(path)open(path, encoding="utf-8")
首次发布 Failed to validate token: 400 PublisherId 与 API Key 不匹配 PublisherId 改为 API Key 所属 Publisher 的用户名
Git push Repository not found GitHub 上还没创建远程仓库 先在 GitHub 网站创建空仓库
版本更新 Version already exists 版本号没递增 每次发布必须改 version
API Key 丢失/失效 页面刷新后不可见,或重新生成 去 Registry 重新生成新 key

十、验证发布成功

检查点 链接
GitHub 仓库 github.com/love530love/comfyui-sage-guard
GitHub Releases github.com/love530love/comfyui-sage-guard/releases
Comfy Registry 节点页 registry.comfy.org/zh/publishers/love/nodes/comfyui-sage-guard
ComfyUI-Manager 搜索 在 ComfyUI 里搜 sage-guard

这就是你从零到成功发布的完整路径。最核心的两个坑:

  1. Windows UTF-8 编码问题 → 改 comfy-cli 源码
  2. PublisherId 与 API Key 不匹配 → 确保用同一个 Publisher 账号下的 key

以后更新就是改 version + push 一句话的事。🎉

Publishing Nodes - ComfyUI

相关推荐
10岁的博客7 小时前
DevEco Code 的 Plan+Build 模式:审方案再执行的技术深度解析
大数据·数据库·人工智能
沫儿笙7 小时前
焊接机器人氩气节省设备
人工智能·机器人
HackTwoHub7 小时前
等级保护现场测评系统重磅更新,支持 AI 接入,可录入全品类资产清单,自动化巡检核查,批量导出测评归档文件
运维·人工智能·安全·web安全·网络安全·自动化·系统安全
minhuan7 小时前
DeepAgents深度解析:依托MCP与A2A双协议,构建企业级多智能体复杂业务集群应用21.3
人工智能·大模型应用·deepagents深度解析·多智能体复杂业务集群
Z554396zhang9997 小时前
2026年企业AI Agent工具横向评测:类似钉钉悟空的选型指南
人工智能
ofoxcoding7 小时前
Windows 上 Codex 报 “failed to start codex app-server“:成因与修复(2026)
windows·ai
fenglllle7 小时前
langchain简单对话demo
人工智能·langchain
春波petal7 小时前
大模型底层逻辑:优势局限与天生短板
人工智能·自然语言处理·chatgpt·大模型·多模态·语音大模型
laboratory agent开发7 小时前
企业AI Agent落地前,先回答四个工程问题
java·前端·人工智能