Nodes/ComfyUI-A5Nodes/A5Note_Database
ComfyUI Node

A5Note_Database

Stop keeping your notes in twenty abandoned workflows

By A5Projects·Created 3 days ago·Updated 3 days ago· 1
A5Note_Database
      name
      note

      Everyone has the same note storage system: a workflow called notes.json that you open when you need the sampler settings you liked, plus four more half-copies of it, plus a sticky note somewhere on a canvas you'll never reopen. A5Note_Database replaces that with one node and one JSON file.

      It's part of a nine-node pack from A5Projects, and it's the simplest node in it - two fields in, nothing out.

      What it does

      Type a name, type a note, hit Save/Update. The node keeps notes in three categories - General, Workflow, Reference - with a dropdown of everything saved in the current one, six quick buttons for the most recent entries, and tooltips that show the full note when you hover a name. There's a preview panel, a "load selected" button, per-note delete, delete-all, and an export to Markdown.

      Notes live in a file inside the node's own folder, which means they're available from every workflow in that ComfyUI install. That's the point: your notes stop being a property of whichever graph you happened to be in.

      The one mechanic worth knowing

      The node has no outputs. Its keep_note function returns nothing at all, and it isn't an output node. So how does anything get saved?

      Through the pack's own HTTP endpoints. The buttons in the node's UI call routes the pack registers with ComfyUI's server, and those write the JSON. The Python class exists mostly to describe the two widgets and to be a place to hang the routes on.

      Two consequences follow, and both are good news. First, saving doesn't need a generation to run - writing a note is instant and independent of your queue. Second, this is a passive node: it will never be the reason a graph re-executes, and it can't be pruned or re-run into a weird state, because execution was never involved.

      The storage is dead simple: a JSON file with names, text, categories and timestamps, written via a temp file and an atomic replace so a crash mid-save doesn't leave you with a corrupt database.

      The inputs

      • name - the key. This is the field that matters, because of the update rule: if the name is unchanged, saving overwrites that entry; if you change the name, you get a brand new entry and the old one stays. In practice, rename an existing note and you'll silently duplicate it.
      • note - the multiline body. Markdown works as text; the author's own README says the Markdown display is still a work in progress, so don't expect a rendered preview yet.

      No outputs, no wiring. Drop it anywhere on the canvas.

      Installing it

      cd ComfyUI/custom_nodes
      git clone https://github.com/A5Projects/ComfyUI-A5Nodes
      

      Restart ComfyUI, hard-refresh the browser. Or search A5 Custom Nodes in ComfyUI Manager, where the README asks you to pick the numbered version rather than the Nightly one. Nothing to pip install, no weights to download. The README also notes that the pack preserves the original node IDs, so workflows built with the old standalone versions keep loading - but you should disable those standalone copies anyway, or ComfyUI will complain about duplicates.

      Because the note UI is JavaScript-heavy, the pack's browser caveat applies here more than anywhere else: in Firefox, stay in classic node mode, and if Nodes 2.0 has mangled the layout, reload the node from the context menu.

      Where people get burned

      The database lives in custom_nodes. Specifically, in custom_nodes/ComfyUI-A5Nodes/comfyui_A5Note_Database/a5note_database.json. Ordinary git pull updates leave it alone - and the pack's own .comfyignore deliberately excludes it from version control, so nobody's committing your notes by accident. But a clean reinstall of the pack replaces the directory. Copy that JSON somewhere before you nuke anything, the same way you'd back up a LoRA config.

      It's plain text. Notes are stored as readable JSON, not encrypted, and the README says so in as many words. Don't put an API key in there.

      Categories are per-node, not global. The category you're looking at is a widget property that gets saved into the workflow, so a freshly dropped node opens on General. Your notes are still all in the same file; you're just changing which shelf you're looking at.

      One more honest note: the author describes this node as work in progress - database and storage solid, display as Markdown unfinished. Given how obvious the "sticky note that survives my workflow" gap is, that's a fair trade. Take it for what it is: a plain-text notebook with a ComfyUI UI, kept out of your graphs.

      Categoryutils/notes

      Inputs (2)

      NameTypeDefaultDescription
      nameSTRING
      noteSTRING

      Outputs (0)

      No outputs