RedNode Studio Assistant
A local LLM that reads your settings and leaves them alone
Every all-in-one studio node eventually hides something from you. Fifteen tabs, prompt rows, a couple hundred LoRA slots - after a week of fiddling you genuinely cannot say which rig is active, whether the camera LoRAs are firing, or why a pass is standing aside. This node answers that question: it reads a snapshot of the Workspace's own configuration, sends it to a model running on your machine, and explains what it sees.
It's not a prompt enhancer and it isn't an agent. The name is honest for once - it never queues a render, never opens a file, never inspects an image, and never changes a setting by itself.
How it works, and why it's shaped that way
The panel serialises the Workspace node's config into a snapshot, and the context builder turns that into labelled facts chopped into sections: rig, LoRAs, prompts, galleries, paint, detailer, post, save, connections, diagnostics. Each section has a character budget, counted as Unicode characters divided by four - budget units, not real token counts, so read them as "roughly this much room" rather than anything exact.
The summary is deliberately lossy: when a question needs more, the model can pull one section in full - two expansions per question - and anything omitted gets named in the panel.
Replies are constrained to a small JSON schema: an answer, a request to look at a section, or an answer plus proposed changes. Temperature 0.2, a 1400-token cap, three attempts, and <think> blocks from reasoning models get stripped. If you ask it to change something, the only operations it can emit are set and prompt_add, against a fixed vocabulary of paths - so a plausible-sounding setting it invented gets refused on the way in rather than written. You get a before and an after, and nothing moves until you press Apply. Undo last change rolls the Workspace back, ten steps deep.
The fields
There is one input, config (a multiline string, default {}), and it's the panel's state store: your conversation, the target Workspace and the Include my words switch live in it. The panel owns it; don't hand-edit it. There are no outputs, and the node is a terminal one, so it can sit on the canvas contributing nothing to the render.
The panel controls worth knowing: a Workspace picker (only needed when several are on the canvas), Show context, Ask, Refresh models, Include my words, Clear conversation, Cancel, and Apply/Dismiss on a proposal. Show context renders the snapshot without loading a model - a decent "what did I actually configure" inspector even if you never open the chat.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/RedNodeAI/ComfyUI-RedNodeStudio.git
Or search RedNode Studio in ComfyUI Manager, then restart. Then install Ollama as a separate program, pull a model, and press Refresh models in the panel.
One thing the Guide and the source disagree about, and the source wins: the Guide points you at comfyui-ollama-describer for the ollama client library, and the shipped transport does fall back to that library when the pack's own HTTP shim isn't there. But the pack talks to Ollama over plain HTTP - what actually matters is that Ollama is running and reachable on this machine at 127.0.0.1:11434.
Where people get burned
Ollama on another machine won't work here, on purpose. The caption engines accept a OLLAMA_HOST pointing at a box on your LAN; the assistant refuses anything that isn't localhost, 127.0.0.1 or ::1, because it sends your entire Workspace setup rather than one picture. And if ComfyUI runs in Docker, 127.0.0.1 is the container's own loopback, not your desktop.
"Ollama could not return a reply" with a working-looking panel. That's the soft-fail path: the transport couldn't be built or the call died, the panel only reports the empty reply, and the actual reason goes to the console. Read the console line before you go hunting.
One question at a time. A second request mid-reply comes back as Assistant is busy, and Cancel only stops you waiting - a call Ollama already started may well finish.
It can't read your prompts by default. With Include my words off, it knows a row holds text, which rig it serves and which row will render, but never the words. Turn it on and they go no further than Ollama on your own machine.
The conversation saves with the workflow, so clear it before you share one.
One last bit of context: a node expected to reach the network and read your pipeline is the shape that got weaponized once before, in the ComfyUI_LLMVISION incident. Localhost-only is a real mitigation here, not a marketing line.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| config | STRING | {} | — |
Outputs (0)
No outputs