Chaoses-Ib/ComfyScript

A Python frontend and library for ComfyUI

解决的问题

ComfyScript 为 ComfyUI 提供了一个基于 Python 的接口,用可读的 Python 代码取代了传统的基于图形的节点 GUI。这解决了复杂工作流在比较、重用和版本控制方面的困难,并实现了在可视化编辑器中难以实现的循环和自定义函数等标准编程结构。

工作原理

它作为一个前端和库,既可以在本地运行,也可以连接到远程 ComfyUI 服务器。它包含一个可以将现有的 ComfyUI JSON 工作流转换为 Python 脚本的转译器,以及一个允许这些脚本像 Python 函数一样执行 ComfyUI 节点的运行时。它还会生成类型存根(type stubs),以便在 VS Code 等编辑器中提供自动补全和类型检查。

适用对象

  • 开发者和研究人员:希望将 ComfyUI 节点作为机器学习研究的函数库,或将其集成到更大的 Python 项目中的人员。
  • 高级用户:比起可视化节点图更喜欢编程,或者需要使用循环以编程方式生成大规模工作流的人员。
  • LLM 开发者:希望训练 LLM 生成工作流的人员,因为 LLM 处理 Python 代码通常比处理复杂的 JSON 结构更好。

亮点

  • 工作流转译:自动将 ComfyUI Web UI 工作流转换为人类可读的 Python 代码。
  • 编程控制:允许将 Python 逻辑(循环、条件语句)与 ComfyUI 节点混合使用。
  • 开发者体验:为 Checkpoint 和 Embedding 提供类型存根和 Python 枚举,以实现 IDE 自动补全。
  • 灵活的执行:支持本地和远程服务器执行,包括异步任务队列。
  • UI 集成:兼容 ipywidgets 和 Solara,用于创建基于 Python 的自定义图像生成界面。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目