Why this exists
ComfyUI has no documentation layer. Load anything non-trivial from the community and you get dozens of nodes with cryptic names, coloured wires, and zero indication of what connects to what or why. Then there's the other half of the problem: the single most common complaint about the ecosystem is that you spend your life installing missing nodes and hunting down model files. ComfyUI Manager fixes some of that, but only the node half, and only for people who already have Manager.
QG Workflow Note is a card that draws itself on the canvas and tells whoever opens your workflow what it needs. Title, subtitle, author, a Markdown body, the model files with the folder each belongs in and a download button, the custom node packs it depends on, and your own links.
It is not a node in any meaningful sense: no outputs, never enters the execution queue, and an API prompt that names it does nothing, because nothing can depend on a node with no sockets.
How the checking actually works
Every model row and pack row is checked against this install.
For model rows, the card compares what you listed against the files the ComfyUI server reports for that folder - so a file you moved into a subfolder still counts as installed, because loaders resolve those too. It'll even point out that a LoRA loader row needs to be aimed at the subfolder, which is the red-node trap people hit most often.
For pack rows, the card probes by node class: it asks whether the node classes that pack provides are actually registered in this install, then marks the row installed or missing and offers a "get it" button on the misses. There's also a one-click detect from current workflow, which reads the node types in your graph and writes out the packs it uses - so you don't have to remember whether that reroute came from rgthree or somewhere else.
Type switch in the node search or check the QG-tools category and you'll find it.
Inputs, outputs, storage
There's exactly one field, note, a multiline STRING holding the card as JSON - title, subtitle, author, Markdown body, model rows, pack rows and links. That's the storage behind the pencil editor, and the reason save/undo/API all work normally. You edit the rows on the card; you don't hand-edit that field. Copy-pasting a card to someone else means opening the editor's raw JSON tab and sending that text.
Outputs: none.
The editor also has a layout switch - card (the full styled panel, the default) and banner, which collapses the whole thing down to a single title label so it stops eating canvas. On a busy graph, that's the one you want.
Installing it
cd /path/to/ComfyUI/custom_nodes
git clone https://github.com/live1617/ComfyUI-QG-tools
Or search ComfyUI-QG-Tools in Manager → Install Custom Nodes - that only works once the pack is on the Comfy Registry, so if it doesn't show up, clone it.
Fully restart ComfyUI afterwards. That means the process, not a browser tab reload - the front end reads the extension list once at page load. You should see [QG-tools] v0.5.0 加载完成 | 节点数 4. There's nothing to pip install: the pack declares no third-party dependencies at all, and its requirements.txt is comments-only on purpose.
Expect that count to disagree with the README, which still advertises v0.4.0 and three nodes. A fourth node - an image crop/rotate/pad editor - landed after the README was last touched. Four is correct.
Common issues
The card looks blank or like a tiny label. You're probably in banner layout, or the card was collapsed. Flip it back in the editor.
Rows insisting something is missing when it isn't - usually a file that isn't actually where you think. The card checks the folder you told it about; if you keep models in an extra path configured through extra_model_paths.yaml, verify the file shows up in the folder listing first.
The checks are a snapshot, not a live guarantee. Nothing keeps running in the background. If someone installs a missing pack and nothing updates, the check needs re-running - and if they're missing the pack that provides this node in the first place, they'll get a red box like everyone else.
Don't try to make it a manual. The Markdown body is fine for a short how-to, but the part that actually earns the node a place in your workflow is the model and pack rows, because those get verified instead of being a list of filenames the reader has to eyeball.
That's also the honest comparison to what you already have: Manager's "install missing custom nodes" already covers the pack half for most people. What nobody else covers is the model half - the checkpoints, VAEs and LoRAs a workflow needs, which is where shared workflows break most often. If you post workflows publicly, this is the part worth filling in.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| note | STRING | {} | The card as JSON: title, subtitle, author, Markdown body, model rows, node-pack rows and links. The pencil on the card edits it; this field is the storage behind that editor. |
Outputs (0)
No outputs