扩展 Comfy 客户端

Comfy 可以通过扩展机制进行修改。要添加一个扩展,你需要:

  • 从你的 Python 模块中导出 WEB_DIRECTORY
  • 将一个或多个 .js 文件放入该目录,
  • 使用 app.registerExtension 注册你的扩展。

下面是这三个步骤。了解如何添加扩展后,可以查阅可用的钩子以让你的代码被调用, 也可以了解你可能需要的各种 Comfy 对象, 或者直接跳转到一些示例代码片段

导出 WEB_DIRECTORY

可以通过在你的自定义节点目录下创建一个子目录(通常叫 js),并导出 WEB_DIRECTORY 来扩展 Comfy 网页客户端——所以你的 __init__.py 应该包含如下内容:

WEB_DIRECTORY = "./js"
__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS", "WEB_DIRECTORY"]

包含 .js 文件

所有 Javascript .js 文件会在 Comfy 网页加载时被浏览器自动加载。你无需指定扩展所在的文件。

只有 .js 文件会被添加到网页。其他资源(如 .css 文件)可以通过 extensions/custom_node_subfolder/the_file.css 访问,并可通过代码动态添加。

该路径不包含子文件夹名称。WEB_DIRECTORY 的值由服务器插入。

注册扩展

扩展的基本结构是导入主 Comfy app 对象,并调用 app.registerExtension, 传入一个包含唯一 name 和一个或多个由 Comfy 钩子调用的函数的字典。

一个完整、简单且“烦人”的扩展示例如下:

import { app } from "../../scripts/app.js";
app.registerExtension({ 
	name: "a.unique.name.for.a.useless.extension",
	async setup() { 
		alert("Setup complete!")
	},
})