Back to App

Node Catalog

The Node Catalog is the complete library of building blocks you drag onto the canvas in the SETI AI visual editor. Each node is a self-contained capability — read a sensor, call an AI model, query a cloud API, control a load — with typed input/output ports you wire together into a workflow.

This page documents every one of the 148 node types across all 14 categories, exactly as defined in web/nodes.js. For how to place, wire, and run nodes see Node Editor; for how workflows actually execute see Workflow Engine.

How to read this page. Each table lists the display name (what you see in the palette), the node-type id (the key used in saved workflows and code), and a plain-English description. Where a node runs server-side (hardware/sensor drivers, shell, MQTT publish, CORS-blocked HTTP), it dispatches to POST /api/node/run; otherwise it runs in your browser.

Port color legend

Port type Color Carries
data cyan structured objects / numbers
trigger yellow fire-once signals
text green strings / prompts
tool orange tool handles for agents
model pink model handles

The 14 categories at a glance

Category Nodes What it's for
Input 4 Get data into a workflow — text, files, timers, HTTP
AI Models 3 Local model inference (Ollama chat, embeddings, Gemini)
Agents 4 Autonomous multi-step reasoning, delegation, evaluation, chat
Tools 12 Real capabilities — code, scraping, network diagnostics, shell
Transform 3 Reshape data — parse JSON, fill templates, split text
Output 4 Send results out — display, cluster store, webhook, monitor
Control 4 Flow logic — branch, loop, delay, error handling
Hardware 21 Industrial/IoT buses, gateways and field devices
Sensors 41 Adafruit + SparkFun I²C/Qwiic sensor breakouts
Google 6 Gmail, Calendar, Drive, Sheets, YouTube, Search
Cloudflare 6 DNS, Workers, KV, R2, Tunnels, Firewall/WAF
NetBird 6 Mesh VPN peers, networks, routes, policies, groups, users
AI Providers 20 Cloud LLM / TTS / STT / image / embed APIs
Energy 14 Power-system telemetry and control (live + driver_pending)
Total 148

Input

Source nodes — they start workflows by producing data with no upstream dependency.

Display name Node-type id What it does
Text Input text-input Emits a fixed block of text you type into the node.
File Reader file-reader Reads a file from the server filesystem (via /api/fs/read) and outputs its content plus metadata (size, modified).
Timer timer Fires a tick trigger on an interval; repeat mode supports once / loop / 5× / 10×.
HTTP Request web-api Makes an outbound HTTP call (GET/POST/PUT/PATCH/DELETE) with custom headers and an optional JSON body; outputs response + status.

AI Models

Direct model inference against the local Ollama server (and Google Gemini).

Display name Node-type id What it does
Ollama Chat ollama-chat Chats with a local Ollama model; live-loads the installed model list, supports system prompt, temperature and max-tokens; outputs the reply + token usage.
Embeddings embeddings Turns text into a vector using an Ollama embedding model (nomic-embed-text / mxbai-embed-large / all-minilm).
Gemini Chat gemini-chat Chats with a Google Gemini model and returns the response.

Agents

Higher-order reasoning nodes — the "co-worker" level.

Display name Node-type id What it does
SETI Agent seti-agent Autonomous tool-using agent: discovers connected Tool nodes, reasons in a plan/act (or ReAct / chain-of-thought / autonomous) loop up to max steps, dispatches tools, and returns a result plus an action/artifact log. Honors an approval policy (never/always/dangerous) and optional code sandbox.
Supervisor supervisor Analyzes a task and delegates across agents using a strategy (round-robin / best-fit / parallel / sequential); outputs a delegation plan and report.
Critic / Evaluator critic Scores an input 1–10 against a rubric via the LLM (strict JSON), emits feedback, and fires a pass trigger when the score clears a threshold.
SETI Chat seti-chat Conversational chat node tied into the SETI assistant; outputs a reply.

Tools

Real capabilities an agent (or you) can invoke. Several call the server; one is disabled in production.

Display name Node-type id What it does
Code Sandbox code-executor Runs JavaScript in a locked-down null-origin iframe (CSP default-src 'none'), capturing stdout/stderr/return value. Non-JS languages (python/bash/ts) require a backend runtime and are not implemented — they return a clear error.
Web Scraper web-scraper Server-side scraper (bypasses browser CORS): fetches a URL, applies a CSS selector, returns text/html/markdown plus extracted links.
Ping ping ICMP ping to a host/IP (server-side /api/ping); returns raw output and average latency.
Traceroute traceroute Traces the network path to a host (/api/traceroute); returns the hop list and hop count.
DNS Lookup dns-lookup Resolves a domain for a chosen record type (A/AAAA/MX/NS/TXT/CNAME/SOA/ANY) via /api/dns.
Whois whois-lookup Whois registration lookup for a domain or IP (/api/whois).
Port Scanner port-scanner Checks a comma-separated list of TCP ports on a host (/api/portcheck) and reports which are open.
HTTP Headers http-headers Fetches and returns the raw HTTP response headers for a URL (/api/httpheaders).
Vector Store vector-store Store / search / delete operations against a namespaced vector store (top-K retrieval).
Shell Command shell-command Disabled in production for security. Intended to run a shell command server-side (/api/node/run) with cwd/timeout and an approval gate (defaults to always require approval); the production backend does not expose shell execution.
Debug Probe debug-probe Inspection node — passes data through while surfacing it for debugging; outputs the observed data.
Admin Dashboard admin-dashboard Surfaces administrative stats inside a workflow; outputs a stats object.

Security note: shell-command is the one Tools node deliberately not wired to a live executor in production. Treat it as documentation-only unless an operator explicitly enables a backend runtime.

Transform

Pure data-reshaping nodes (run in the browser).

Display name Node-type id What it does
JSON Parser json-parser Parses a JSON string; optional dot-path extracts a nested value. Outputs parsed data or an error string.
Template template Fills a text template with input values (string interpolation) and outputs the rendered text.
Text Splitter splitter Splits text into chunks (for embeddings / RAG); outputs an array of chunks.

Output

Sink nodes — they consume data and act on it.

Display name Node-type id What it does
Display display Renders incoming data in the node for inspection (terminal sink).
Cluster Output cluster-output Writes results into the SETI cluster/data store (terminal sink).
Webhook Out webhook-out POSTs data to an external webhook URL; outputs the delivery status.
Monitor monitor Live-monitors values flowing through it and passes them through unchanged (passthrough).

Control

Flow-control nodes that shape execution order.

Display name Node-type id What it does
If / Condition condition Evaluates a condition and routes the flow to a true or false branch.
Loop / Iterator loop Iterates over a collection, emitting each item in turn.
Delay delay Pauses the flow for a set time, then fires done.
Error Handler error-handler Catches downstream errors and offers a retry path for resilient workflows.

Hardware

Industrial and IoT connectivity nodes — fieldbus gateways, brokers and protocol clients. All 21 dispatch server-side (/api/node/run) because they touch real interfaces (serial, sockets, radios). They read live device data or publish commands depending on the protocol.

Display name Node-type id What it reads / controls
Victron Solar victron-solar Pulls live telemetry from a Victron solar/battery system (via the VRM cache).
Adafruit Sensor adafruit-sensor Generic Adafruit breakout reader; outputs a sensor reading (umbrella node for the Sensors family).
SCADA Gateway scada-gateway Reads tag values from a SCADA system.
PLC Connector plc-connector Reads/writes PLC register values.
Schneider Electric schneider-electric Reads measurements from Schneider Electric power equipment.
ESPHome Device esphome-device Reads entity states from an ESPHome (ESP32/ESP8266) device over WiFi.
CAN Bus Reader canbus Decodes signals off a CAN bus (vehicle/industrial).
Modbus RTU/TCP modbus-rtu-tcp Reads/writes Modbus holding/input registers over serial (RTU) or TCP.
MQTT Client mqtt-client Subscribes to / publishes MQTT topics; outputs received messages.
MQTT Server / Broker mqtt-server Publishes to a broker server-side; outputs an ok acknowledgement.
CoAP Client coap-client Talks to constrained IoT devices over CoAP; outputs the response.
AMQP Client amqp-client Consumes/publishes messages on an AMQP queue (e.g. RabbitMQ).
Zigbee Gateway zigbee-gateway Lists and reads Zigbee devices through a gateway.
Z-Wave Controller zwave-controller Reads Z-Wave node states from a controller.
BLE Scanner ble-scanner Scans for Bluetooth Low Energy devices and reports them.
LoRaWAN Gateway lorawan-gateway Receives LoRaWAN uplink packets from field nodes.
DDS Participant dds-participant Subscribes to a DDS topic (robotics/real-time middleware); outputs samples.
Thread / Matter thread-matter Reads attributes from Thread/Matter smart-home devices.
BACnet Gateway bacnet-gateway Reads BACnet objects from building-automation equipment.
KNX Interface knx-interface Reads/writes KNX telegrams on a building-control bus.
OPC-UA Client opcua-client Reads node values from an OPC-UA industrial server.

Sensors

The Sensors category is the largest in the catalog — 41 nodes wrapping specific Adafruit and SparkFun (Qwiic) I²C breakouts. Every sensor node dispatches server-side to read the physical chip over I²C and returns named measurement ports (each also exposes an error port). Wire them into Transform, Control or Output nodes to act on readings.

Adafruit sensors (21)

Display name Node-type id What it reads
BME280 adafruit-bme280 Temperature, humidity, barometric pressure, derived altitude.
BMP390 adafruit-bmp390 High-precision pressure + temperature (altimeter).
SHT45 adafruit-sht45 High-accuracy temperature + humidity.
AHT20 adafruit-aht20 Temperature + humidity.
DHT22 / AM2302 adafruit-dht22 Temperature + humidity (single-wire).
CCS811 Air Quality adafruit-ccs811 Equivalent CO₂ (eCO₂) and TVOC air-quality.
PM2.5 AQI adafruit-pm25aqi Particulate matter (PM1.0 / PM2.5 / PM10) air-quality.
BNO055 9-DOF IMU adafruit-bno055 Fused orientation: Euler angles, quaternion, accel, gyro, mag, calibration.
ICM-20948 9-DOF adafruit-icm20948 9-axis motion: accelerometer, gyroscope, magnetometer.
LSM6DSOX 6-DOF adafruit-lsm6dsox 6-axis accelerometer + gyroscope.
TSL2591 Light adafruit-tsl2591 High-dynamic-range ambient light (lux).
APDS9960 Gesture/Color adafruit-apds9960 Gesture, RGB color, and proximity.
INA219 Power Monitor adafruit-ina219 Bus voltage, current, power, shunt voltage.
INA260 Precision Power adafruit-ina260 Precision voltage / current / power (integrated shunt).
VL53L0X ToF Distance adafruit-vl53l0x Time-of-flight distance (mm).
MLX90614 IR Thermo adafruit-mlx90614 Non-contact object + ambient temperature (IR).
MAX31865 RTD/PT100 adafruit-max31865 RTD / PT100 platinum-probe temperature.
MCP9808 Precision Temp adafruit-mcp9808 High-accuracy digital temperature.
MPR121 Touch (12-ch) adafruit-mpr121 12-channel capacitive touch state.
TCS34725 Color Sensor adafruit-tcs34725 RGB + clear color channels.
Fingerprint Scanner adafruit-fingerprint Fingerprint match, confidence, stored-template count.

SparkFun / Qwiic sensors (20)

Display name Node-type id What it reads / controls
BME688 (Qwiic) sparkfun-bme688 Temp, humidity, pressure + gas/air-quality (AI-capable).
ENS160 Air Quality sparkfun-ens160 eCO₂, TVOC, air-quality index.
SGP40 VOC Index sparkfun-sgp40 VOC index for indoor air quality.
SEN55 Particulate sparkfun-sen55 Particulate matter (PM1/2.5/4/10) + environment.
SCD41 CO₂ (Qwiic) sparkfun-scd41 True (NDIR) CO₂, plus temperature + humidity.
VL53L5CX ToF 8×8 sparkfun-vl53l5cx 8×8 multi-zone time-of-flight depth grid.
TMF8821 dToF 3×3 sparkfun-tmf8821 3×3 direct-ToF distance zones.
ICM-20948 9-DoF sparkfun-icm20948 9-axis accel / gyro / mag.
BNO086 IMU sparkfun-bno086 Fused IMU quaternion orientation.
MAX30101 Pulse Ox sparkfun-max30101 Heart rate, SpO₂, raw IR.
AS7265x 18-ch Spectral sparkfun-as7265x 18-channel spectral data, lux, color temperature.
VEML7700 Ambient Light sparkfun-veml7700 Ambient light (lux).
SHTC3 Temp/Humidity sparkfun-shtc3 Temperature + humidity.
TMP117 Precision Temp sparkfun-tmp117 ±0.1 °C precision temperature.
NAU7802 Load Cell sparkfun-nau7802 Load-cell weight + raw ADC (scales).
AK9754 Human Presence sparkfun-ak9754 IR human-presence level, presence flag, direction.
NEO-M9N GNSS sparkfun-gnss-neo-m9n GPS/GNSS lat, lon, altitude, speed, satellites, HDOP, fix type.
AMG8833 Grid-EYE sparkfun-grid-eye 8×8 thermal-camera pixel grid + min/max/avg temp.
Qwiic Relay sparkfun-qwiic-relay Controls a relay (on/off/toggle); reports relay state + toggle count.
Soil Moisture (Qwiic) sparkfun-soil-moisture Soil-moisture level.

Google

Google Workspace and search integrations. These return simulated results in the current build until live OAuth credentials are wired (except Google Search).

Display name Node-type id What it does
Gmail gmail Send/read/search Gmail messages (simulated pending OAuth).
Google Calendar google-calendar List/create calendar events (simulated pending OAuth).
Google Drive google-drive List/read/upload Drive files (simulated pending OAuth).
Google Sheets google-sheets Read/append spreadsheet rows (simulated pending OAuth).
YouTube Data youtube-data Search YouTube and fetch video metadata (simulated pending OAuth).
Google Search google-search Runs a Google web search and returns results.

Cloudflare

Cloudflare account/edge management nodes. Each takes an API token and operates on one resource type. These return simulated results until live API credentials are configured.

Display name Node-type id What it does
CF DNS cf-dns Manage Cloudflare DNS records (list/create/update/delete).
CF Workers cf-workers Deploy / invoke Cloudflare Workers.
CF KV Store cf-kv Read/write Workers KV key-value pairs.
CF R2 Storage cf-r2 List/get/put objects in R2 buckets.
CF Tunnels cf-tunnels Manage Cloudflare (cloudflared) Tunnels.
CF Firewall / WAF cf-firewall Manage firewall / WAF rules.

NetBird

NetBird mesh-VPN administration nodes (one per API resource). These return simulated results until a live NetBird API token is configured.

Display name Node-type id What it does
NB Peers nb-peers List/manage mesh peers (devices).
NB Networks nb-networks Manage NetBird networks.
NB Routes nb-routes Manage network routes.
NB Policies nb-policies Manage access-control policies.
NB Groups nb-groups Manage peer/user groups.
NB Users nb-users Manage users and service accounts.

AI Providers

Cloud AI API nodes — one per vendor. Each is a thin client you give an API key and a model/params; they cover chat, image, TTS, STT and embeddings.

Display name Node-type id What it does
OpenAI / ChatGPT ai-openai Chat completions against OpenAI models.
Anthropic / Claude ai-anthropic Chat completions against Anthropic Claude models.
Hugging Face ai-huggingface Inference against Hugging Face hosted models.
Google Gemini ai-google-gemini Chat against Google Gemini (cloud API).
Ollama ai-ollama-cloud Chat against an Ollama (cloud/remote) endpoint.
NVIDIA NIM ai-nvidia-nim Inference via NVIDIA NIM microservices.
Mistral AI ai-mistral Chat against Mistral models.
Cohere ai-cohere Chat / rerank / embed via Cohere.
DeepSeek ai-deepseek Chat against DeepSeek models.
xAI / Grok ai-xai-grok Chat against xAI Grok.
Perplexity ai-perplexity Online answer/search via Perplexity.
Together AI ai-together Inference via Together AI hosted models.
Groq ai-groq Low-latency inference on Groq LPUs.
Fireworks AI ai-fireworks Inference via Fireworks AI.
Replicate ai-replicate Run models hosted on Replicate.
AI21 Labs / Jamba ai-ai21 Chat against AI21 Jamba models.
Stability AI ai-stability Image generation via Stability AI.
ElevenLabs TTS ai-elevenlabs Text-to-speech via ElevenLabs.
AssemblyAI STT ai-assemblyai Speech-to-text transcription via AssemblyAI.
Voyage AI Embed ai-voyage Text embeddings via Voyage AI.

Energy

The Energy category turns SETI AI into a power-system co-worker: read inverters, batteries, meters and EV chargers, then control loads. Energy nodes dispatch to the server-side energy backend (energy_backend.py), which routes to per-brand inverter drivers (Victron VRM cache, plus Modbus/HTTP drivers for SMA, Sol-Ark, Enphase, SolarEdge, Schneider). When no driver is wired for the configured device, the backend returns an honest driver_pending payload instead of fake data.

See Energy Nodes for configuration detail and Inverter Drivers for the per-brand driver matrix.

Display name Node-type id Status What it reads / controls
Solar Inverter solar-inverter Live (brand drivers) PV power, AC power, today/total yield, string V/A.
Battery Monitor battery-monitor Live State of charge, voltage, current, power, temperature, health, cycles.
Grid Meter grid-meter Live Import/export/net power, frequency, per-phase voltage, power factor.
SETI Power Wall powerwall Live Site / battery / solar / grid power, reserve, operating mode.
Solar Forecast energy-forecast driver_pending Today/tomorrow kWh forecast, hourly profile, peak hour (forecast API).
EV Charger ev-charger Live Charger state, power, session kWh, session cost.
UPS Monitor ups-monitor Live Status, battery %, load %, runtime, input/output voltage.
Utility Rates utility-rates driver_pending Current rate, tier, hourly rate schedule, next peak window.
Energy Cost energy-cost Computed Cost from usage × rate, with monthly/yearly projections.
CO₂ Tracker co2-tracker driver_pending Grid carbon intensity, renewable %, CO₂ offset today.
Load Controller load-controller Live (control) Sheds/keeps loads on a strategy; reports shed/keep lists and total shed watts.
Water Heater water-heater Live (control) Temperature, power, mode; controls heating element.
Demand Response demand-response Live Event active flag, target kW, duration, reward.
Power Quality powerline-quality driver_pending THD, sag/swell counts, flicker, quality score.

Live vs driver_pending. "Live" nodes dispatch to a real server-side driver and return measured data when a supported device is configured. The four driver_pending nodes (energy-forecast, utility-rates, co2-tracker, powerline-quality) render in the editor and return a clearly-labelled placeholder until the relevant data source/meter is wired — by design, never fabricated readings. energy-cost is computed from its inputs.


See also