hswq_AnythingSomewhere
The Anything Everywhere? regex node
- anything
Here's the honest version of the Use Everywhere sales pitch: broadcasting a value to everywhere is a great demo and a terrible default. The moment your graph has two CLIP encoders or two models, unrestricted broadcast becomes the thing that silently ruins a run.
hswq_AnythingSomewhere is the fix - it's the "Anything Everywhere?" node, the one with a question mark, where the question is "everywhere, or just over there?" The author's own summary of the family: the plain node broadcasts, the "3" is three inputs mostly for model/clip/vae, and the "?" variant "has matching regex capabilities to restrict where it sends."
What it looks like and what it becomes
The node has one anything input (typed *, optional), no outputs, and three string widgets: title_regex, input_regex, group_regex. That's the classic upstream shape - regex against node titles, against input names, and against group names.
It's filed under everywhere/deprecated with "Deprecated - should automatically be replaced", and that's literal. On load, the extension's converter hides all three widgets, moves their values into the node's properties.ue_properties block (as title_regex, input_regex, group_regex, each with an invert flag alongside), and rewrites the node type to hswq_AnythingEverywhere. Any regex left as the match-everything .* gets nulled out, so a default node is a plain unrestricted broadcast.
So the regexes didn't go away - they moved into the right-click properties editor, where they now sit next to group restrictions, colour restrictions, invert toggles and priority. If you're looking at a converted node and wondering where your regex boxes went, that's where. The Python class stays registered purely so old workflows referencing this class name still load instead of throwing.
How the matching works
The frontend analyses the graph when you queue. For each broadcast, it finds unconnected inputs of the broadcast's type and applies your restrictions: title regex against the target node's title, input regex against the target input's name or label, group regex against group membership. Priority decides ties - the converter's default priority is base 10, plus 20 if the node carries regex restrictions or if the same type is being broadcast by more than one controller, plus 3 for a group restriction and 6 for a colour restriction. Two candidates at identical priority means ambiguity: it refuses to guess, and nothing is connected.
That numbering is why "be specific" works. Add a regex and you jump 20 points and win against every unrestricted broadcast of the same type. Someone else's sloppy Anything Everywhere can't hijack your sampler.
The inputs that matter
Honestly, just the one socket, and the three regex fields before they get converted. Unconnected anything does nothing at all - there's no output to look for either, so a "dead" node appearance is normal.
For a beginner, the practical pattern is: give the receiving nodes descriptive titles (right-click → Title), then set a title regex like ^SDXL or upscale and watch the virtual links only appear on the matching half of the canvas. It's the difference between a broadcast you can reason about and one that fills in every empty slot on the board.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/ussoewwin/ComfyUI-NunchakuFluxLoraStacker.git
cd ComfyUI-NunchakuFluxLoraStacker
pip install -r requirements.txt
Then restart and look in everywhere/deprecated. It's in that folder, not the top-level everywhere menu, which is why people think it's missing.
The requirements oddity applies here too: nothing this node does needs nunchaku, Florence-2, or the TensorRT/CCSR stack, but the pack imports all of its modules at startup, so a half-finished pip install can leave the whole pack absent - and that means no Use Everywhere nodes at all, not just the missing feature. nunchaku itself is import-gated, so ROCm and non-Nunchaku setups still get these.
Traps worth knowing
Two packs at once. If chrisgoringe's original cg-use-everywhere is also installed, you'll have two families of unprefixed and hswq_-prefixed nodes whose broadcasts both see each other's inputs. Ambiguity errors you can't explain usually start there. Pick one.
Old workflows with the group regex. Workflows saved before the third regex existed can load with group_regex not defaulting to .*, so a broadcast that used to go everywhere now goes nowhere. The pack ships a workflow_fixer.py helper that exists precisely for this - though note it keys on the upstream node type name, so on a converted hswq_ workflow you're better off just opening the properties editor and clearing the field.
And the family-wide one: the links aren't stored in your workflow. A regex-restricted broadcast is invisible in the saved JSON, so a graph that works perfectly for you can open as a pile of disconnected samplers for anyone without the pack. Comment your workflows if other people have to read them.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| anythingopt | * | — | |
| title_regexopt | STRING | — | |
| input_regexopt | STRING | — | |
| group_regexopt | STRING | — |
Outputs (0)
No outputs