Nodes/SAX Bridge/SAX Text Catalog Manager
ComfyUI Node

SAX Text Catalog Manager

Where Shared Prompt Catalogs Go to Retire (Not Die)

By so16tm·Created 7 months ago·Updated a day ago· 2
SAX Text Catalog Manager

      Every shared resource eventually needs a janitor, and SAX Text Catalog V2 pointedly has none - no delete button, no rename, no "start over" in its UI. All of that got moved into this small, deliberately unfinished-looking node instead. Adding it feels pointless. Then you make your fourth variation of the same catalog and suddenly it isn't.

      What it is

      SAX_Bridge_Text_Catalog_Manager is the housekeeping node for SAX_Bridge's shared V2 text catalogs. Four things happen here and nowhere else: list, duplicate, archive, restore. The author's own description calls it a 暫定 node - provisional - which is refreshingly honest for a utility that manages other people's data.

      Why would you need it? Because V2 catalogs are shared state. Items and set definitions live on the ComfyUI server, in the sax_text_catalog system user directory, and every V2 node that references a catalog ID sees the same content. That's the feature. It's also why editing an item in one workflow can change the output of another at the same seed, and why you want a cheap way to snapshot something before you start pulling it apart.

      How it works

      No inputs, no outputs, nothing to wire. The node is a panel of buttons that talk to routes on the ComfyUI server - queueing it does nothing at all, by design.

      List shows every active catalog with its item count, set count, last-updated time and the first eight characters of its ID. Same-named catalogs get flagged, because two catalogs called "prompts" is a thing that happens, and the ID prefix is how you tell them apart.

      Duplicate copies the content into a brand new catalog with a new ID, revision 1, and the name plus コピー ("copy"). Any pending unsaved edit is saved first, so you don't get a duplicate of the version you were about to abandon.

      Archive is the interesting one. It does not delete. It moves the catalog file into an archive/ subfolder of the same system directory. The confirmation dialog tells you the item and set counts and how many V2 nodes in this workflow use that catalog - and then admits the important limit: other workflows referencing the same catalog can't be detected. Archive a catalog that lives in three workflows and the other two fail with "catalog not found" the next time you queue them. That's not a bug; there's no registry to check.

      Restore lists what's in archive/ and moves a catalog back. Restore refuses to run, rather than overwriting, if an active catalog with the same ID already exists. There's also an Undo immediately after archiving, which is the realistic safety net.

      For permanent deletion you delete the file from the archive folder by hand. No button, no undo. That's a sensible line to draw - archiving is routine, deleting is a deliberate act in a file browser.

      Why the shared-catalog model makes this necessary

      Once you stop treating prompts as text you type and start treating them as a library, you've signed up for library problems: versions, duplicates, the wrong one being used. The ComfyUI plumbing layer exists to fight repetition - one value, many consumers - and a shared catalog is that idea applied to prompt text. It's the same trade as a context node carrying model, clip and latent down one wire: enormous convenience, plus one invisible place where state lives. Here the failure mode is "a catalog someone edited last month". Duplicating before you experiment is the habit that keeps it from biting.

      Install and use it

      cd ComfyUI/custom_nodes
      git clone https://github.com/so16tm/SAX_Bridge
      

      Restart ComfyUI, then add SAX/Bridge/Utility → SAX Text Catalog Manager. Manager's own "Install via Git URL" field with https://github.com/so16tm/SAX_Bridge does the same thing. No dependencies, no downloads.

      Practical order of operations for a messy library: duplicate the one you're about to change, archive the ones no workflow points at, then edit the copy. Two extra clicks, and you keep an undo for the rest of the month.

      Common issues

      "Catalog not found" in a workflow you didn't touch. You archived a catalog another graph uses. Restore it, or point that workflow's V2 node at a live catalog.

      The duplicate's name has Japanese in it. コピー is just "copy". Rename isn't offered here, so if the name matters, duplicate then select the catalog in the V2 node and give it the name you want there.

      Restore is greyed out or refused. An active catalog with that ID already exists - usually because you archived, then imported a copy of the same catalog. Archive the active one first, or keep the newer one.

      Archived the broken catalog to get it out of the list. Fine, that's supported, and it's a good use: a corrupt catalog can be set aside after a confirmation instead of blocking your picker.

      Being provisional, expect this node's surface to shift. Everything it does is file movement under a directory you can inspect with ls, so nothing it does is unfixable - more than you can say for most management UI.

      CategorySAX/Bridge/Utility

      Inputs (0)

      No inputs

      Outputs (0)

      No outputs