Chaoses-Ib/ComfyScript

A Python frontend and library for ComfyUI

解決的問題

ComfyScript 為 ComfyUI 提供了一個基於 Python 的介面,用可讀的 Python 程式碼取代了傳統的圖形化節點 GUI。這解決了複雜工作流在比較、重用與版本控制方面的困難,並實現了在視覺化編輯器中難以實現的迴圈與自定義函數等標準程式設計結構。

工作原理

它作為一個前端與函式庫,既可以在本地執行,也可以連接到遠端 ComfyUI 伺服器。它包含一個可以將現有的 ComfyUI JSON 工作流轉換為 Python 腳本的轉譯器,以及一個允許這些腳本像 Python 函式一樣執行 ComfyUI 節點的執行期(runtime)。它還會生成類型存根(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 的自定義圖像生成介面。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案