Nodes/ComfyUI_Fill-Nodes/FL Workflow Agent
ComfyUI Node

FL Workflow Agent

The experimental workflow-agent node (and what it isn't yet)

By filliptm·Created 3 years ago·Updated about 18 hours ago· 628
FL Workflow Agent
      eventbefore_queued
      code_promptEnter your code generation prompt here
      api_key
      javascript// Generated code will appear here
      scan_nodesfalse

      Let's set expectations up front: this is a work-in-progress node, filed under Fill-Nodes' WIP category, and it's more of a scaffold for an idea than a finished tool. If you found it hoping for a drop-in "AI that builds your workflow for you," it isn't that today. What it actually is: a node that scans your installed nodes into a cached definition file and runs client-side JavaScript in response to ComfyUI execution events, as the plumbing for AI-assisted workflow manipulation. Interesting direction, early days.

      How it works

      Two things are going on. First, when you flip scan_nodes on, the node runs a scanner (as a subprocess) that walks your ComfyUI node definitions and writes them to a cache file. The point of that cache is to give an AI model a machine-readable map of what nodes exist and what their inputs and outputs are - the raw material you'd need if you wanted a model to reason about or generate a graph.

      Second, it hooks the ComfyUI event system. You pick an event - before_queued, executing, executed, execution_success, and so on - and the node's javascript runs on the client when that event fires. In practice you'd pair that with code_prompt and an api_key to have generated code dropped into the JS field. It's an output node with no wired outputs; its job is the side effect (the cache file, the script run), not passing data downstream.

      The inputs, honestly

      • scan_nodes - the toggle that actually does the concrete, useful thing: dump node definitions to a cache file. If you want to feed your node inventory to an LLM, this is the button.
      • event - which ComfyUI lifecycle event triggers the JavaScript (ten options, from before_queued to execution_cached).
      • code_prompt and api_key - the prompt describing code you want generated, and the key for whatever service generates it.
      • javascript - where generated (or hand-written) client-side code lives and runs.

      There are no data outputs - it's marked as an output node because it exists for its effects, not to hand a tensor to the next node.

      Installing it

      Part of the Fill-Nodes pack. ComfyUI Manager: search ComfyUI_Fill-Nodes, install, restart. Manual:

      cd ComfyUI/custom_nodes
      git clone https://github.com/filliptm/ComfyUI_Fill-Nodes
      

      then restart. Expect the usual Fill-Nodes startup banner in the console - it's a splash screen, not an error.

      Where people get tripped up

      • It's WIP - treat it that way. This lives in the pack's experimental drawer. Don't wire it into a workflow you depend on and expect stable behavior. If it does something surprising, that's the category doing its job.
      • A beginner doesn't need this. Nine times out of ten, if you landed here you actually wanted a normal node and got routed here by search. For building images and video, ignore this one entirely; it's tooling-for-tooling.
      • scan_nodes writes a file; it doesn't "do AI." The scanner is the boring, real half. The generation half depends on you supplying a prompt and a key and is the part that's least baked.
      • Running arbitrary JavaScript on ComfyUI events is powerful and sharp. That's the same double edge every scriptable node carries. Only put code in the javascript field that you understand - this is a place to be deliberate, not to paste something you didn't read.
      Category🏵️Fill Nodes/WIP

      Inputs (5)

      NameTypeDefaultDescription
      eventCOMBObefore_queued10 options: before_queued, after_queued, status, progress, executing, executed, +4
      code_promptSTRINGEnter your code generation prompt here
      api_keySTRING
      javascriptSTRING// Generated code will appear here
      scan_nodesoptBOOLEANfalse

      Outputs (0)

      No outputs