Nodes/CRT-Nodes/Unsloth Studio Bridge Thinking Display (CRT)
ComfyUI Node

Unsloth Studio Bridge Thinking Display (CRT)

Watch Your Model Think Out Loud — the CRT Node With No Inputs That's Somehow Useful

By PGCRT·Created 2 years ago·Updated 2 days ago· 137
Unsloth Studio Bridge Thinking Display (CRT)

      This is the most un-ComfyUI node imaginable: no inputs, no outputs, nothing to wire. You drop it anywhere on the canvas, run a chat through the pack's Unsloth Studio Bridge (CRT), and it turns into a live window on the model's chain of thought - the reasoning tokens streaming by in real time with a tok/s readout in the header. If you've ever run a reasoning model and stared at a frozen box for ninety seconds wondering whether it's working or hung, you already know why this exists.

      Worth one context note. ComfyUI's "LLM in the graph" pattern is normally about prompt enhancement, where the consensus is that reasoning models are a trap - a model that thinks out loud is more likely to leak scratch-work into your prompt, so you want small-and-obedient. This node is the opposite job: a plain chat with a loaded model, where the deliberation is the interesting part. That's the whole point of its existence, and it's a niche the broader guidance skips.

      How it actually works

      The backend is a stub. CRT_UnslothThinkingDisplay declares no inputs, no return types, marks itself an output node, and its execute just returns {}. Every bit of the work lives in the pack's JavaScript, which builds a DOM widget and subscribes to a custom websocket event that the Unsloth Studio Bridge broadcasts while it streams.

      The chain underneath: the bridge chats with the model loaded in Unsloth Studio through Studio's local llama-server. As reasoning tokens arrive, the bridge republishes a snapshot of the partial thinking text - throttled to roughly four pushes a second so the viewer doesn't drown the socket - and this node renders whatever it last received. Every instance on the canvas shows the same latest activity, which is why no wiring is involved. The bridge also does the thankless cleanup work: it prefers a dedicated reasoning_content channel when the server offers one, and it strips inline <think>…</think> blocks when a model dumps its reasoning straight into content, so the pane shows actual deliberation instead of tags and scaffolding.

      One honest gotcha: the event is Unsloth-bridge-specific. This display lights up for the pack's Unsloth Studio Bridge and nothing else - drop it beside the Kimi or LM Studio bridges and it stays idle forever. Add it for the bridge you're actually running.

      What you configure (nothing) and what it shows

      You set nothing. There are no inputs to feed and no outputs to route - the finished answer comes out of the bridge's own response socket; this node only ever shows the deliberation, never the answer. All it offers is a text-size slider in its header, and that preference is saved in the node's properties so it survives a workflow save.

      The status dot tells the story: gray idle, amber pulsing while thinking, green on done, red on error. Next to it run live stats - tok/s, token count, and elapsed time once the stream finishes. Each new execution resets the pane to "starting…".

      Installing it

      Via ComfyUI Manager, search for CRT-Nodes. Or the manual route:

      cd ComfyUI/custom_nodes
      git clone https://github.com/PGCRT/CRT-Nodes.git
      pip install -r requirements.txt
      

      Then restart ComfyUI. Fair warning: CRT-Nodes is a big multi-category pack (image, video, audio, FX, LoRAs…), so its requirements.txt is correspondingly heavy - opencv, ultralytics, transformers, whisper and friends. The LLM side needs none of that; it's plain stdlib HTTP. Don't let the installer's haul scare you off if you're only here for the chat nodes, but expect to pull a lot regardless. This particular node downloads no model files and adds zero heavy lifting - it's a window, not an engine.

      When it shows nothing

      If the dot stays gray, no bridge is streaming - the Unsloth Studio Bridge has to actually be mid-chat, and Unsloth Studio itself has to be running with a model loaded. If it flashes "thinking…" then straight to done with barely any text, the bridge is running with thinking disabled (its default); the model isn't emitting a reasoning stream, and since this pane only renders thinking, there's little to see. Flip that behavior off, or load a reasoner in Studio, and the pane fills up. After a pack update, any CRT node whose sockets or widgets changed can appear red or show NaN - right-click and pick Fix node (recreate) to refresh it, though this one's socketless shape rarely trips that.

      CategoryCRT/LLM

      Inputs (0)

      No inputs

      Outputs (0)

      No outputs