Nodes/ovum-spotlight/Spotlight Sample Node
ComfyUI Node

Spotlight Sample Node

This Node Does Nothing (On Purpose) — It's the ovum-spotlight Demo

By sfinktah·Created 11 months ago·Updated 10 months ago· 4
Spotlight Sample Node
  • any
  • any

Drop SpotlightSampleNode into a workflow and absolutely nothing happens. That's not a bug. Read the source and it's one function - identity() - an optional any input passed straight to an any output. It's a wire, not a tool. The whole point of this node is to be the docstring: a worked example showing custom node authors how to plug into the ovum-spotlight search palette.

So before you're disappointed, know what you actually installed. ovum-spotlight (from sfinktah, who posts as ChineseMenuDev on r/StableDiffusion) is a fuzzy-find palette for your whole graph - think the VS Code command palette or actual macOS Spotlight, aimed at ComfyUI. Hit Ctrl+K (or just / if you're lazy), start typing, and it matches node titles, node IDs, widget values, and more. Want to find where you set a width to 480? Type width:480. Stuck with an error that shows only a node number in the red bar? Type that number and Spotlight takes you there - prefix with # to isolate it from other matches. Subgraph paths work too: 123:456:111 jumps straight to a nested node. There's even a math 16/9 keyword for quick calculations. Hold Shift while scrolling and the graph scrolls with you to the highlighted match, burrowing into subgraphs.

This node is one half of that story. The other half is a frontend JavaScript extension in the same pack (spotlight-plugin-sample.js), which registers a sample keyword handler on window.OvumSpotlight that searches your node titles, plus google and age handlers that call backend routes and render results inline. The Python node exists to prove the pattern: your custom node can ship both a server-side class and a frontend contribution, and the two don't have to be entangled.

The inputs and outputs

There are exactly two, and you can't get them wrong:

  • any (optional input) - ANYTYPE, meaning it accepts literally any data type ComfyUI has: images, latents, text, checkpoints, whatever.
  • any (output) - the same value, passed through untouched.

That's the whole schema. You can't misconfigure it because there's nothing to configure. is_output_node is false, so it won't flag the workflow as finished, either. It's a no-op by design.

Installing it

Same as the pack it ships in - it's not a standalone thing.

  • ComfyUI Manager: open Manager, search ovum-spotlight (or just spotlight), hit Install, restart ComfyUI.
  • Manual: clone into custom_nodes and restart.
cd ComfyUI/custom_nodes
git clone https://github.com/sfinktah/ovum-spotlight

Then restart ComfyUI. No model files, no heavy dependencies - the pack's pyproject.toml lists only aiohttp and requests, both already present in a stock ComfyUI install. Nothing to download.

Using it (spoiler: you skip the node)

The useful thing is the palette, not this node. Open it with Ctrl+K or / and just search. If you're here because a tutorial told you to add SpotlightSampleNode to make something work, you can remove it immediately - it's a demo, not a dependency.

The reason to keep it around is if you want to write your own keyword handler. Copy js/spotlight-plugin-sample.js from the pack, register a handler on window.OvumSpotlight, drop your node into the custom_nodes/ovum-spotlight folder, restart, and your search appears in the palette. That's the entire intended use.

Where people get burned

  • Expecting it to transform data. It doesn't. If you wired something through it expecting a side effect, you'll be waiting forever.
  • The google and age demo keywords error out. They call /spotlight/google and /spotlight/age routes that aren't wired into the shipped build - spotlight_routes.py is commented out of the pack's __init__.py. They're examples; they fail gracefully into a fallback. Only sample works out of the box.
  • Palette not showing after a ComfyUI update. This is a frontend-heavy pack, and ComfyUI's Nodes 2.0 frontend rewrite has a history of breaking frontend extensions from unpaid single maintainers. If Spotlight vanishes after an update, that's the ecosystem's fault, not yours - check the pack's repo for a fix and consider pinning ComfyUI.

One honest take: this node has essentially zero standalone value, and it knows it. But it's the cheapest possible way to learn the extension API of one of the better QoL tools in the ecosystem - a genre rgthree-comfy made essential, and this one actually fills the "find anything by value" gap. Use the palette, skip the wire, and if you're curious, copy the sample.

Categoryovum-spotlight/demo

Inputs (1)

NameTypeDefaultDescription
anyopt*

Outputs (1)

NameTypeDescription
any*