Nodes/Civitai LoRA Rack (CLR)/CLR - LoRA 加载器
ComfyUI Node

CLR - LoRA 加载器

Six Load LoRA Nodes in a Row? This Replaces the Whole Rack

By Hakaki·Created 23 days ago·Updated 23 days ago· 2
CLR - LoRA 加载器
  • model
  • clip
  • CLIP
  • MODEL
  • 触发词
◄lora_stack[]►
◄reset_cachefalse►

If your workflow has six Load LoRA nodes chained model-to-model, you know the three annoyances: the graph is unreadable, you forget which weight went with which file, and the trigger words live in a browser tab instead of your prompt. CFTLoraStack collapses all of that into one box with a list in it.

What it actually is

It's the headline node of Civitai LoRA Rack (CLR), a pack by Hakaki. On the canvas it's CLR - LoRA 加载器 in the Chinese UI and Civitai LoRA Rack (CLR) in English; the node type keeps its historical CFT prefix so old workflows don't go red. Drop it in, hit +, and a picker opens with thumbnails, author, base model, tags and trigger words - all read from metadata already sitting next to your files.

Calibrate expectations first: the README says the code was written by AI, and the pack name returns zero hits across the r/comfyui and r/StableDiffusion corpus. You're early. When something misbehaves you'll be reading a console log, not a forum thread.

Why bother, when Power Lora Loader exists

rgthree's Power Lora Loader is the incumbent and does stacking-with-toggles well. CLR's bet is the library problem around it: once you own a few hundred LoRAs, finding the right one and remembering what each does is the actual work. The picker searches name, author, filename, Civitai tags, trigger words and your own notes. It also reads metadata off your disk before it asks the API - and with roughly a fifth of older Civitai LoRA links reportedly dead, the local sidecar is the more durable copy. Run batch lookup once and you've built an archive.

How the stacking works

The lora_stack field is a hidden JSON string - the panel replaces it visually, but the data lives there:

[{"lora": "Anima/xxx.safetensors", "weight": 1.0, "text_encoder_weight": 1.0, "trigger_weight": 0.0, "hidden": false}]

path and file work as aliases of lora, clip_weight as an alias of text_encoder_weight, so stacks from other LoRA-stack nodes generally drop in. At execution it parses the array, drops anything with hidden: true, resolves each path through ComfyUI's folder_paths, then applies weights with comfy.sd.load_lora_for_models - the function the core node uses - falling back to comfy.lora.load_lora plus add_patches. Same patching as the built-in loader; it just loops. Weights are cached in-process, eight files, so re-queuing doesn't re-read them.

The inputs and outputs that matter

On the node surface: model and clip (both optional, from your checkpoint loader) plus reset_cache. Wire neither and the node logs a warning and passes through nothing useful.

Outputs are CLIP, MODEL and 触发词 (trigger words). Mind the order - CLIP first, the reverse of the core Load LoRA node - and the third is a comma-joined string. MODEL goes on to your sampler, CLIP to whatever builds your conditioning. The trigger string needs a text-concat node in front of your CLIP Text Encode to do anything; otherwise read it and copy the words yourself.

Per entry, three numbers. Model weight is the one you'll tune. text_encoder_weight is CLIP strength - how hard the LoRA pushes on the prompt rather than the image. trigger_weight is CLR's own idea: above 0 and that LoRA's trained words join the trigger output, 0 leaves them out. Useful when trigger words poison the rest of the prompt; the author's tip is to keep the model weight at 1.0 for the look and drop trigger weight to 0 or 0.5. And the classic: weight 0 is not the same as switching a row off. Zero still loads and patches; the switch skips the file.

Install

ComfyUI Manager, search Civitai LoRA Rack, install, restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/Hakaki/ComfyUI-Civitai-LoRA-Rack

No requirements.txt to install - the only dependency is requests, which ComfyUI ships - and nothing downloads models. LoRAs living outside ComfyUI/models/loras go in extra_loras_dirs in ComfyUI/user/default/Civitai-LoRA-Rack/config.json, the same file that holds api_key, site_domain and proxy settings.

Where people get burned

Don't hunt for the lora_stack widget or hand-edit it. It's hidden on purpose; hide it by deleting it and your whole rack drops out of widgets_values.

Replaced a .safetensors in place under the same filename and the old version keeps rendering? Tick reset_cache to flush that eight-file cache.

Blank panel or missing thumbnails: compare the Frontend vX.XX number in the rack footer against the plugin version. Extension JS caches hard - when they disagree, Ctrl+Shift+R.

The one that really bites: a failed file is logged and skipped, never thrown. A typo in a path lets the whole graph run with that LoRA silently missing. If a stack looks weaker than it should, read the console for 找不到 Lora 文件 before you touch a weight.

CategoryCivitai/LoRA

Inputs (4)

NameTypeDefaultDescription
lora_stackSTRING[]—
modeloptMODEL—
clipoptCLIP—
reset_cacheoptBOOLEANfalse—

Outputs (3)

NameTypeDescription
CLIPCLIP—
MODELMODEL—
触发词STRING—