基本标准

1. 社区价值

自定义节点必须为 ComfyUI 社区提供有价值的功能

避免:

  • 过度自我宣传
  • 冒充或误导行为
  • 恶意行为
  • 自我宣传仅允许在指定的设置菜单部分内
  • 顶部和侧边菜单应仅包含实用功能

2. 节点兼容性

不要干扰其他自定义节点的操作(安装、更新、删除)

  • 对于其他自定义节点的依赖:
    • 使用依赖功能时显示清晰的警告
    • 提供展示所需节点的示例工作流

3. 法律合规性

必须遵守所有适用的法律和法规

5. 质量要求

节点必须功能完整、文档完善且积极维护。

6. 分叉指南

分叉的节点必须:

  • 与原始节点名称有明显区别
  • 在功能或代码上提供显著差异

以下是发布自定义节点到注册表必须满足的标准。

安全标准

自定义节点应该是安全的。我们将开始与违反这些标准的自定义节点合作进行重写。如果有一些应该由核心暴露的主要功能,请在 rfcs 仓库 中提出请求。

eval/exec 调用

政策

由于安全考虑,禁止在自定义节点中使用 evalexec 函数。

原因

这些函数可以启用任意代码执行,在处理用户输入时创建潜在的远程代码执行(RCE)漏洞。包含将用户输入传递给 evalexec 的节点的工作流可能被利用进行各种网络攻击,包括:

  • 键盘记录
  • 勒索软件
  • 其他恶意代码执行

用于 pip install 的 subprocess

政策

不允许通过 subprocess 调用进行运行时包安装。

原因

  • ComfyUI manager 将与 ComfyUI 一起发布,并允许用户安装依赖项
  • 集中式依赖管理提高了安全性和用户体验
  • 有助于防止潜在的供应链攻击
  • 消除了多次重新加载 ComfyUI 的需要

代码混淆

政策

禁止在自定义节点中进行代码混淆。

原因

混淆的代码:

  • 无法审查,很可能具有恶意性