Nodes/CMK Flow/CMK Log Set Block
ComfyUI Node

CMK Log Set Block

Write your own notes into the CMK report

By CMKFlow·Created 3 months ago·Updated 2 days ago· 6
CMK Log Set Block
  • log_pipe
  • log_pipe
◄titleModule►
◄order50►
◄text►
◄enabledtrue►

CMK's pipeline writes a report as it runs - resolution, detector, masks, which module bypassed. CMK Log Set Block is the manual entry in that report: you type text, it appends a titled block to the log pipe. That's it, and it's more useful than it sounds once your graph has enough settings that you can't remember what you were testing.

Inputs and outputs

  • log_pipe - the pipe to append to. Required.
  • title - defaults to Module. This becomes the block header in the rendered report.
  • order - integer, default 50, range 0–9999.
  • text - multiline. Each line becomes a line in the block; leading and trailing whitespace is trimmed and blank lines are dropped.
  • enabled - boolean, default on.

Output is the same log_pipe, with your block appended.

The order detail

The pack's modules ship their blocks with order numbers (44 for prepare, 45 for the detailer, 46 for pasteback - the numbering follows the module placement in a reference workflow). You'd think order sorts the report. It doesn't.

CMK's renderer states the rule in its own comments: a log pipe is an append-only representation of the actual data flow, so blocks come out in the order they were appended, and order is retained purely for format compatibility. Practically, that means order on this node is harmless but decorative. What controls position is where you put the node in the chain.

Which is fine, and arguably better: the report reads in the order your graph ran, so the note you add after the detailer sits after the detailer's own block.

Two behaviours worth knowing

Blank text adds nothing. If enabled is on but every line trims to empty, no block is appended at all - the pipe comes back unchanged rather than carrying an empty header. Cleaner output, and a surprise if you were counting blocks.

enabled = false is a real off switch. Flip it and the block is skipped without you rewiring the node, which is the right shape for a note you only want in the report sometimes.

Where it fits

Typical wiring: CMK Log Create (or the LOG output of a CMK loader) → whatever modules run → CMK Log Set Block for your annotation → CMK Log Export Text to render the whole thing as a STRING and preview it. If several branches each contribute blocks, CMK LOG CONCAT merges them first.

The honest use case is keeping a test log. Change cfg from 4.5 to 6, note it, export, and the report tells you which run you're looking at without opening the workflow and reading widget values off the canvas. In a pack where a single node can carry thirty inputs, that's a real quality-of-life win.

Install

cd ComfyUI
git clone https://github.com/CMKFlow/cmk_nodes.git custom_nodes/cmk_nodes
python3 custom_nodes/cmk_nodes/scripts/install_cmk_requirements.py

ComfyUI Manager works too: search CMK Flow (registry name cmk-flow, publisher CMKFlow), install, restart. This node is pure text handling with no model dependencies, but it only exists inside a pack whose requirements.txt drags in ultralytics, onnxruntime, insightface, segment-anything, nudenet==3.4.2 and opencv-python - and the installer script is what gets those into the right Python environment, which matters on ComfyUI Desktop where several environments coexist. Wait for CMK dependency check: OK before you launch.

No model files, no Vue Nodes dependency for this one specifically - though the pack as a whole wants Vue Nodes / Nodes 2.0 enabled and will warn at startup when it isn't.

CategoryCMK/Toolbox/Diagnostics

Inputs (5)

NameTypeDefaultDescription
log_pipeCMK_LOG_PIPE—
titleSTRINGModule—
orderINT500–9999—
textSTRING—
enabledBOOLEANtrue—

Outputs (1)

NameTypeDescription
log_pipeCMK_LOG_PIPE—