Nodes/displayHistory/Display History
ComfyUI Node

Display History

The Node That Watches Every Knob You Turn

By system-out-cho·Created about a year ago·Updated about a year ago· 1
Display History
      node
      history

      You're iterating on a workflow, nudging the seed, then the CFG, then the steps, and at some point you realize the last good image came from a combination of values you've already overwritten. ComfyUI saves the winning workflow inside the PNG - drag the image back in and everything comes with it - but that's the finish line, not the trail. Display History is the trail: a node that watches every other node in your graph and keeps a running log of their parameter values as you change them between runs.

      The node itself is tiny. One dropdown, one read-only text field, no outputs. Pick a target from the dropdown - it lists every node on your canvas as "KSampler, ID: 3" style labels - and the text field renders that node's widget values as a history list, newest first. Rerun with a different seed and the log grows. It's a monitor, not a data node, which is why it lives under the "example" category in the node menu.

      How it works will surprise you if you go looking for the logic: the whole feature is frontend JavaScript. On every run the pack's extension (registered in web/js/example.js) listens for execution_success, snapshots each node's widget values, and appends to a per-node list only when a value actually changed. The DisplayHistory nodes then read that in-memory map and render it. The Python side is basically placeholder - show_history prints "this is the message" and returns the string "whaaaat". That's the tell that this is a work-in-progress scaffold (it's built from Comfy Org's cookiecutter template). Don't try to understand the node by reading nodes.py; the real work happens in the browser.

      The inputs that matter

      • node - the dropdown that picks which node's history you're watching. This is the whole point of the node.
      • history - a multiline text field whose tooltip literally reads "dont put anything there". That's the author's own note: leave it alone. The log appears there automatically.

      That's it. No outputs, so it can't feed anything downstream - it's pure information.

      Installing it

      Standard ComfyUI Manager flow: open Manager, search "displayHistory", install, restart. Or manually:

      cd ComfyUI/custom_nodes
      git clone https://github.com/system-out-cho/displayHistory_ComfyUI
      

      Then restart ComfyUI. There's no requirements.txt and the pyproject.toml dependencies list is empty - the pack only uses what ComfyUI already ships (a few lines of Python against PromptServer/torch, plus the one JS file). No model downloads, no heavy dependencies. The README is the stock cookiecutter boilerplate, so don't go there for docs; there are none.

      The honest take

      Set your expectations before you fall in love with the idea. The history lives in browser memory, so reloading the page or reopening the workflow wipes the log - it tracks the current session's knob-turning, not a permanent record. There's also zero community signal around this pack: no threads about it, no impressions, placeholder messages in the code. It's a demo of a genuinely nice idea, not a polished tool.

      And for the actual "what exact values made that image" question, you don't need it - that's what dragging the PNG back in is for. Display History answers the live-iteration question: what did I already try since I started, and what changed between the last run and this one? If you iterate a lot and lose track of your own tweaks, that's a real itch and this scratches it. Just don't bet your reproducibility on a log that vanishes on refresh.

      Categoryexample

      Inputs (2)

      NameTypeDefaultDescription
      nodeCOMBO1 options: No Node Selected
      historyoptSTRINGdont put anything there

      Outputs (0)

      No outputs