🦌 Prompt Commander
A visual prompt editor for Stable Diffusion WebUI (Forge / Auto1111).
Stop wrestling with raw text. Prompt Commander replaces your prompt textboxes with an interactive bubble editor that sits directly beneath the existing prompt fields — no scrolling, no extra panels to expand. Each token in your prompt becomes its own clickable, draggable bubble that you can reorder, weight, hide, edit, or save with a single click.
Built originally because sd-webui-prompt-all-in-one broke from API failures — Prompt Commander is lighter, dependency-free, vanilla JS, and stays out of your way.
✨ What It Does
Visual bubble editor — every token in your prompt becomes a pill-shaped bubble, color-coded by type (emphasis orange, de-emphasis blue, LoRA purple, BREAK red, ghost dimmed)
One-click weight adjustment —
+and−buttons on each bubble step the weight by 0.1 and produce clean(word:1.2)or[word:0.8)]syntax automaticallyLoRA-aware — weight buttons on LoRAs adjust the
<lora:name:weight>value safely without corrupting the syntaxGhost system 👻 — temporarily hide tokens from the prompt without losing them. Click the ghost icon to dim a token; click the dimmed bubble to revive it. Toggle styles or LoRAs on/off without retyping
Drag to reorder — grab any bubble and drop it elsewhere to rearrange your prompt
Double-click to edit any bubble's text inline
Selection + batch ops — Ctrl-click bubbles or rubber-band drag to select multiple, then bulk-adjust weight, copy, delete, or save them
Keyword library with categories — left-click a chip to insert into positive, right-click for negative, drag chips between categories to organize
Saved full prompts — name and save complete positive + negative + seed combos, recall them from a dropdown
Token counter with warning when you cross the 77-token CLIP limit
Keyboard shortcuts — Ctrl+Z/Y undo/redo (per-prompt), Ctrl+C copy selected, Delete, Ctrl+A select all,
=and−for batch weight changesLink / Unlink — merge selected tokens into grouped emphasis
(word1, word2)or explode them back
🆕 Recent Updates
Inline positioning — editor panels now sit immediately below your prompt textboxes instead of buried in a Scripts accordion. Less clicking, more painting
LoRA weight controls fixed — +/− buttons now work properly on LoRA bubbles without breaking their syntax. Ghost button works on LoRAs too, so you can quickly toggle them off without removing them
Weight math overhauled — no more accidental double-wrapping like
((word:1.2):1.1); epsilon comparisons handle floating-point drift correctlyGhost system rebuilt — index calculation rewritten so ghosts always revive at their correct positions
Auto-restore — if Gradio re-renders the editor panels (after a library update, for example), they're automatically detected and re-positioned
Modernized UI — pill-shaped bubbles, monospace font, hover glow effects, color theming per token type
Token counter with amber warning at 75+ tokens
Cleaner, more efficient — replaced polling with event-driven updates, fixed undo/redo targeting drift, hardened the chip drag/reorder pipeline
📦 Installation
Drop the extension folder into your WebUI's extensions/ directory and restart. No dependencies, no build step, no API keys.
Compatible with Auto1111 and Forge / Forge-Neo. (img2img tab support is temporarily limited while a tab-switching edge case is being investigated — txt2img works fully.)
💡 Why Use It
If you build prompts with more than five or six concepts, the raw textbox becomes a maze of commas and parentheses. Prompt Commander makes the prompt visible — you can see what you have, rearrange it, weight individual ideas, and try variations without retyping. It's especially useful for:
Tuning multiple LoRAs on the fly
Building complex prompts incrementally
Saving and recalling prompt presets
Curating a personal keyword library you can reuse across sessions
Built by someone who actually uses SD daily. Bug reports and suggestions welcome.

