Nodes/ComfyCollectorNodes/Prompt Store (CCN)
ComfyUI Node

Prompt Store (CCN)

Prompt Store (CCN)

By valkymaera·Created 4 months ago·Updated 10 days ago· 1
Prompt Store (CCN)
    • prompt
    • metadata
    • features
    • scene
    • details
    • feedback
    store_namedefault
    delimiter\n\n
    prefix_sectionsfalse
    clearfalse
    input_modeoverride
    separator,
    metadata
    features
    scene
    details
    feedback
    debugfalse

    Here's the trick this node pulls: you build a prompt once, and it keeps it. Prompt Store (CCN) is the persistent big brother of the pack's Prompt Builder. Same five sections - metadata, features, scene, details, feedback - same assembly, except everything you type gets stashed in session memory keyed by a store_name, and the next time any Prompt Store with that same name runs, it starts from what's already stored instead of a blank slate.

    The author built this for a very real workflow pain: you're juggling a set of prompt blocks across multiple workflows - an "action_shots" store whose mood is always "dark, gritty, and chaotic" - and you don't want to retype the shared bits every time you open a new graph. Store it once under a name, and any workflow in your ComfyUI session can pick it back up.

    How the persistence works

    Storage lives in ComfyUI's process memory (a module-level dict, not a file on disk). That means two things worth internalizing:

    • It survives across workflows - you can write it in one graph and read it in another, until ComfyUI restarts.
    • It survives until ComfyUI restarts. Restart clears everything, as does the clear toggle or a Prompt Store Clear node.

    The input_mode dropdown decides what happens when you type into a section that already has a stored value:

    • override - replace what's stored with your new text.
    • merge - split your input on the separator (default , ) and append only the pieces that aren't already there. Great for "same scene, add a new detail" without duplicating tags.
    • append - just add your text onto the end of whatever's stored.

    The subtle one that trips people: an empty section input leaves the stored value untouched. That's deliberate - it's how you run a store without clobbering it. If you want to wipe a section, clear the store or pass an explicit override.

    Inputs and outputs that matter

    • store_name - the key. Matching name = shared storage.
    • input_mode / separator / clear / prefix_sections / delimiter - behavior knobs, above.
    • The five section boxes - your content, one per section.
    • Outputs: the assembled prompt STRING, plus each section individually (metadata, features, scene, details, feedback) so you can wire one section somewhere else in the graph without re-parsing the combined string.

    Install

    One pack, one install:

    cd ComfyUI/custom_nodes
    git clone https://github.com/valkymaera/ComfyCollectorNodes
    

    then restart ComfyUI, or use ComfyUI Manager and search "ComfyCollectorNodes". No models, no extra dependencies.

    Where people get burned

    The big one is forgetting the storage is session memory, not per-workflow. A value you thought you cleared last week is still there because you never restarted ComfyUI - or conversely, you restart and a store you depended on is suddenly empty and you didn't notice. Keep a Prompt Store List node around to see what's actually stored. And the empty-input-means-keep-existing behavior: if you're used to blanking a field to remove it, that won't work here - use clear mode.

    CategoryComfyCollectorNodes/Prompt

    Inputs (12)

    NameTypeDefaultDescription
    store_nameSTRINGdefault
    delimiterSTRING\n\n
    prefix_sectionsBOOLEANfalse
    clearBOOLEANfalse
    input_modeCOMBOoverride3 options: override, merge, append
    separatorSTRING,
    metadataoptSTRING
    featuresoptSTRING
    sceneoptSTRING
    detailsoptSTRING
    feedbackoptSTRING
    debugoptBOOLEANfalse

    Outputs (6)

    NameTypeDescription
    promptSTRING
    metadataSTRING
    featuresSTRING
    sceneSTRING
    detailsSTRING
    feedbackSTRING