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 |
| 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-commandis 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 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_pendingnodes (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-costis computed from its inputs.
See also
- Node Editor — placing, wiring, running, debugging nodes on the canvas.
- Workflow Engine — how nodes execute and pass data at runtime.
- Energy Nodes — deep dive on the power-system nodes.
- Inverter Drivers — per-brand driver support matrix.