Nodes/ComfyUI Arena Suite/πŸ…°οΈ Arena AutoCache v6.1.2
ComfyUI Node

πŸ…°οΈ Arena AutoCache v6.1.2

Model load times killing you? This node copies checkpoints to a fast drive for you

By 3dgopnikΒ·Created 12 months agoΒ·Updated 11 months agoΒ· 1
πŸ…°οΈ Arena AutoCache v6.1.2
    • status
    β—„cache_rootβ–Ί
    β—„min_size_mb0.0β–Ί
    β—„max_cache_gb0β–Ί
    β—„verbosefalseβ–Ί
    β—„cache_modedisabledβ–Ί
    β—„auto_patch_on_startfalseβ–Ί
    β—„auto_cache_enabledfalseβ–Ί
    β—„persist_envfalseβ–Ί
    β—„clear_cache_nowfalseβ–Ί
    β—„enable_cachingfalseβ–Ί
    β—„save_env_nowfalseβ–Ί
    β—„sync_from_envfalseβ–Ί
    β—„live_env_syncfalseβ–Ί
    β—„use_workflow_overridesfalseβ–Ί
    β—„override_discovery_modeinheritβ–Ί
    β—„override_prefetch_strategyinheritβ–Ί

    Arena AutoCache solves one very specific, very annoying problem: your models live on a slow drive, and every workflow starts with a painful wait while ComfyUI drags a 7 GB checkpoint off it. The node's job is to copy models to fast storage the first time you actually use them, then silently redirect ComfyUI to that copy on every load after. If your checkpoints are already on a fast local NVMe, it does nothing for you - which is fine, that's not who it's for. It's for the people with a big slow HDD or a network share full of models, or anyone who's hit the model-loading wall on a NAS.

    Before we go further, the honest context: this is a one-person project with essentially zero community footprint. As of writing it has no Google impressions and no Reddit presence worth finding, and the source is liberally commented in Russian. Treat it as a capable personal tool you're borrowing, not battle-tested infrastructure.

    How it works

    The trick is in how ComfyUI finds models. Rather than replacing every model-loading node in your workflow, the pack patches folder_paths.get_full_path() - the function ComfyUI uses to resolve a model filename to a real path - and points it at the cache directory. When you load a workflow, a JavaScript extension scans it, spots model files by their extensions, and arranges for them to be copied to your cache root on first real use. Version 6.1.2 specifically removed the old "pre-copy everything at queue time" behavior; now a model is only copied when load_checkpoint or load_lora actually fires. That's on-demand caching, and it means the first run is still slow - the payoff is run two onward.

    There's a global on/off switch: the Arena button in the header has three modes. Gray means fully disabled (original paths, no caching). Red means active - cache new models and use the cache. Green means read-only - use what's cached but don't add anything. The mode gets persisted to user/arena_autocache.env if you tell it to.

    The inputs that matter

    The node is really a settings panel that happens to live on the canvas, so most of its sixteen inputs are switches you'll flip once. The ones you actually touch:

    • enable_caching - the master switch. Everything defaults to off, and the pack is deliberately safe that way.
    • cache_root - where the cache lives. Point it at an SSD with room to spare.
    • cache_mode - ondemand or disabled. On-demand is the only mode that does anything; it copies a model when it's first used.
    • min_size_mb / max_cache_gb - skip tiny files under min_size_mb, cap the whole cache at max_cache_gb (0 = unlimited).
    • persist_env - the gotcha. Enabling this writes settings to the .env file, and per the source that enables global caching on restart. If you want it only for this workflow, leave it off.
    • clear_cache_now - wipe the cache folder when the node runs.

    The single output, status, is a string describing what the node decided to do. Wire it to a text display if you want visibility, or just ignore it - it's informational, not data.

    Installing it

    The easiest path is ComfyUI Manager: search for ComfyUI Arena Suite and install. Manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/3dgopnik/comfyui-arena-suite
    

    Then restart ComfyUI. Dependencies are light - just pydantic-settings, aiohttp, and pathlib2 - so no heavy installs and no model downloads. One caution: the python_module is custom_nodes.comfyui-arena-suite, so keep the cloned folder named exactly comfyui-arena-suite. The older README told people to copy the tree into a folder called ComfyUI-Arena, and that mismatch breaks the import. If the node doesn't show up, check the folder name first.

    Where people get burned

    The .env persistence trap is the big one - flip persist_env on once and you've made caching global, which can surprise you later with an unexpected full disk on a big model collection. A second real issue: cache_root empty means nothing gets cached and the node quietly reports status instead of failing loudly. And because the pack's own __init__.py has a hardcoded Windows path from the author's machine baked into its NAS auto-scan fallback, the startup logs can look alarming on non-Windows setups even when nothing's wrong.

    If your models are already on a fast drive, skip this. If they're on a slow one and you queue workflows all day, it's the rare custom node that pays for itself in saved seconds.

    CategoryArena

    Inputs (16)

    NameTypeDefaultDescription
    cache_rootSTRINGβ€”
    min_size_mbFLOAT0.00–1000β€”
    max_cache_gbFLOAT00–1000β€”
    verboseBOOLEANfalseβ€”
    cache_modeCOMBOdisabled2 options: ondemand, disabled
    auto_patch_on_startBOOLEANfalseβ€”
    auto_cache_enabledBOOLEANfalseβ€”
    persist_envBOOLEANfalseβ€”
    clear_cache_nowBOOLEANfalseβ€”
    enable_cachingBOOLEANfalseβ€”
    save_env_nowBOOLEANfalseβ€”
    sync_from_envBOOLEANfalseβ€”
    live_env_syncBOOLEANfalseβ€”
    use_workflow_overridesBOOLEANfalseβ€”
    override_discovery_modeCOMBOinherit3 options: inherit, workflow_only, manual_only
    override_prefetch_strategyCOMBOinherit3 options: inherit, lazy, prefetch_allowlist

    Outputs (1)

    NameTypeDescription
    statusSTRINGβ€”