nodetool

Visual AI workflow builder - ComfyUI meets n8n for LLM agents, RAG pipelines, and multimodal data flows. Local-first, open source (AGPL-3.0).

7 stars

Best use case

nodetool is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Visual AI workflow builder - ComfyUI meets n8n for LLM agents, RAG pipelines, and multimodal data flows. Local-first, open source (AGPL-3.0).

Teams using nodetool should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/nodetool/SKILL.md --create-dirs "https://raw.githubusercontent.com/Demerzels-lab/elsamultiskillagent/main/public/skills/georgi/nodetool/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/nodetool/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How nodetool Compares

Feature / AgentnodetoolStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Visual AI workflow builder - ComfyUI meets n8n for LLM agents, RAG pipelines, and multimodal data flows. Local-first, open source (AGPL-3.0).

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# NodeTool

Visual AI workflow builder combining ComfyUI's node-based flexibility with n8n's automation power. Build LLM agents, RAG pipelines, and multimodal data flows on your local machine.

## Quick Start

```bash
# See system info
nodetool info

# List workflows
nodetool workflows list

# Run a workflow interactively
nodetool run <workflow_id>

# Start of chat interface
nodetool chat

# Start of web server
nodetool serve
```

## Installation

### Linux / macOS

Quick one-line installation:

```bash
curl -fsSL https://raw.githubusercontent.com/nodetool-ai/nodetool/refs/heads/main/install.sh | bash
```

With custom directory:

```bash
curl -fsSL https://raw.githubusercontent.com/nodetool-ai/nodetool/refs/heads/main/install.sh | bash --prefix ~/.nodetool
```

**Non-interactive mode (automatic, no prompts):**

Both scripts support silent installation:

```bash
# Linux/macOS - use -y
curl -fsSL https://raw.githubusercontent.com/nodetool-ai/nodetool/refs/heads/main/install.sh | bash -y

# Windows - use -Yes
irm https://raw.githubusercontent.com/nodetool-ai/nodetool/refs/heads/main/install.ps1 | iex; .\install.ps1 -Yes
```

**What happens with non-interactive mode:**
- All confirmation prompts are skipped automatically
- Installation proceeds without requiring user input
- Perfect for CI/CD pipelines or automated setups

### Windows

Quick one-line installation:

```powershell
irm https://raw.githubusercontent.com/nodetool-ai/nodetool/refs/heads/main/install.ps1 | iex
```

With custom directory:

```powershell
.\install.ps1 -Prefix "C:\nodetool"
```

Non-interactive mode:

```powershell
.\install.ps1 -Yes
```

## Core Commands

### Workflows

Manage and execute NodeTool workflows:

```bash
# List all workflows (user + example)
nodetool workflows list

# Get details for a specific workflow
nodetool workflows get <workflow_id>

# Run workflow by ID
nodetool run <workflow_id>

# Run workflow from file
nodetool run workflow.json

# Run with JSONL output (for automation)
nodetool run <workflow_id> --jsonl
```

### Run Options

Execute workflows in different modes:

```bash
# Interactive mode (default) - pretty output
nodetool run workflow_abc123

# JSONL mode - streaming JSON for subprocess use
nodetool run workflow_abc123 --jsonl

# Stdin mode - pipe RunJobRequest JSON
echo '{"workflow_id":"abc","user_id":"1","auth_token":"token","params":{}}' | nodetool run --stdin --jsonl

# With custom user ID
nodetool run workflow_abc123 --user-id "custom_user_id"

# With auth token
nodetool run workflow_abc123 --auth-token "my_auth_token"
```

### Assets

Manage workflow assets (nodes, models, files):

```bash
# List all assets
nodetool assets list

# Get asset details
nodetool assets get <asset_id>
```

### Packages

Manage NodeTool packages (export workflows, generate docs):

```bash
# List packages
nodetool package list

# Generate documentation
nodetool package docs

# Generate node documentation
nodetool package node-docs

# Generate workflow documentation (Jekyll)
nodetool package workflow-docs

# Scan directory for nodes and create package
nodetool package scan

# Initialize new package project
nodetool package init
```

### Jobs

Manage background job executions:

```bash
# List jobs for a user
nodetool jobs list

# Get job details
nodetool jobs get <job_id>

# Get job logs
nodetool jobs logs <job_id>

# Start background job for workflow
nodetool jobs start <workflow_id>
```

### Deployment

Deploy NodeTool to cloud platforms (RunPod, GCP, Docker):

```bash
# Initialize deployment.yaml
nodetool deploy init

# List deployments
nodetool deploy list

# Add new deployment
nodetool deploy add

# Apply deployment configuration
nodetool deploy apply

# Check deployment status
nodetool deploy status <deployment_name>

# View deployment logs
nodetool deploy logs <deployment_name>

# Destroy deployment
nodetool deploy destroy <deployment_name>

# Manage collections on deployed instance
nodetool deploy collections

# Manage database on deployed instance
nodetool deploy database

# Manage workflows on deployed instance
nodetool deploy workflows

# See what changes will be made
nodetool deploy plan
```

### Model Management

Discover and manage AI models (HuggingFace, Ollama):

```bash
# List cached HuggingFace models by type
nodetool model list-hf <hf_type>

# List all HuggingFace cache entries
nodetool model list-hf-all

# List supported HF types
nodetool model hf-types

# Inspect HuggingFace cache
nodetool model hf-cache

# Scan cache for info
nodetool admin scan-cache
```

### Admin

Maintain model caches and clean up:

```bash
# Calculate total cache size
nodetool admin cache-size

# Delete HuggingFace model from cache
nodetool admin delete-hf <model_name>

# Download HuggingFace models with progress
nodetool admin download-hf <model_name>

# Download Ollama models
nodetool admin download-ollama <model_name>
```

### Chat & Server

Interactive chat and web interface:

```bash
# Start CLI chat
nodetool chat

# Start chat server (WebSocket + SSE)
nodetool chat-server

# Start FastAPI backend server
nodetool serve --host 0.0.0.0 --port 8000

# With static assets folder
nodetool serve --static-folder ./static --apps-folder ./apps

# Development mode with auto-reload
nodetool serve --reload

# Production mode
nodetool serve --production
```

### Proxy

Start reverse proxy with HTTPS:

```bash
# Start proxy server
nodetool proxy

# Check proxy status
nodetool proxy-status

# Validate proxy config
nodetool proxy-validate-config

# Run proxy daemon with ACME HTTP + HTTPS
nodetool proxy-daemon
```

### Other Commands

```bash
# View settings and secrets
nodetool settings show

# Generate custom HTML app for workflow
nodetool vibecoding

# Run workflow and export as Python DSL
nodetool dsl-export

# Export workflow as Gradio app
nodetool gradio-export

# Regenerate DSL
nodetool codegen

# Manage database migrations
nodetool migrations

# Synchronize database with remote
nodetool sync
```

## Use Cases

### Workflow Execution

Run a NodeTool workflow and get structured output:

```bash
# Run workflow interactively
nodetool run my_workflow_id

# Run and stream JSONL output
nodetool run my_workflow_id --jsonl | jq -r '.[] | "\(.status) | \(.output)"'
```

### Package Creation

Generate documentation for a custom package:

```bash
# Scan for nodes and create package
nodetool package scan

# Generate complete documentation
nodetool package docs
```

### Deployment

Deploy a NodeTool instance to the cloud:

```bash
# Initialize deployment config
nodetool deploy init

# Add RunPod deployment
nodetool deploy add

# Deploy and start
nodetool deploy apply
```

### Model Management

Check and manage cached AI models:

```bash
# List all available models
nodetool model list-hf-all

# Inspect cache
nodetool model hf-cache
```

## Installation

### Linux / macOS

Quick one-line installation:

```bash
curl -fsSL https://raw.githubusercontent.com/nodetool-ai/nodetool/refs/heads/main/install.sh | bash
```

With custom directory:

```bash
curl -fsSL https://raw.githubusercontent.com/nodetool-ai/nodetool/refs/heads/main/install.sh | bash --prefix ~/.nodetool
```

**Non-interactive mode (automatic, no prompts):**

Both scripts support silent installation:

```bash
# Linux/macOS - use -y
curl -fsSL https://raw.githubusercontent.com/nodetool-ai/nodetool/refs/heads/main/install.sh | bash -y

# Windows - use -Yes
irm https://raw.githubusercontent.com/nodetool-ai/nodetool/refs/heads/main/install.ps1 | iex; .\install.ps1 -Yes
```

**What happens with non-interactive mode:**
- All confirmation prompts are skipped automatically
- Installation proceeds without requiring user input
- Perfect for CI/CD pipelines or automated setups

### Windows

Quick one-line installation:

```powershell
irm https://raw.githubusercontent.com/nodetool-ai/nodetool/refs/heads/main/install.ps1 | iex
```

With custom directory:

```powershell
.\install.ps1 -Prefix "C:\nodetool"
```

Non-interactive mode:

```powershell
.\install.ps1 -Yes
```

## What Gets Installed

The installer sets up:
- **micromamba** — Python package manager (conda replacement)
- **NodeTool environment** — Conda env at `~/.nodetool/env`
- **Python packages** — `nodetool-core`, `nodetool-base` from NodeTool registry
- **Wrapper scripts** — `nodetool` CLI available from any terminal

### Environment Setup

After installation, these variables are automatically configured:

```bash
# Conda environment
export MAMBA_ROOT_PREFIX="$HOME/.nodetool/micromamba"
export PATH="$HOME/.nodetool/env/bin:$HOME/.nodetool/env/Library/bin:$PATH"

# Model cache directories
export HF_HOME="$HOME/.nodetool/cache/huggingface"
export OLLAMA_MODELS="$HOME/.nodetool/cache/ollama"
```

## System Info

Check NodeTool environment and installed packages:

```bash
nodetool info
```

Output shows:
- Version
- Python version
- Platform/Architecture
- Installed AI packages (OpenAI, Anthropic, Google, HF, Ollama, fal-client)
- Environment variables
- API key status

Related Skills

paylock

7
from Demerzels-lab/elsamultiskillagent

Non-custodial SOL escrow for AI agent deals.

agent-reputation

7
from Demerzels-lab/elsamultiskillagent

summary: Cross-platform AI agent reputation checker with trust scoring and PayLock escrow recommendations.

Telecom Agent Skill

7
from Demerzels-lab/elsamultiskillagent

Turn your AI Agent into a Telecom Operator. Bulk calling, ChatOps, and Field Monitoring.

OpenClaw-Finnhub

7
from Demerzels-lab/elsamultiskillagent

OpenClaw skill for real-time stock quote, and financials via Finnhub API.

```markdown

7
from Demerzels-lab/elsamultiskillagent

# OpenClaw-Last.fm

security-operator

7
from Demerzels-lab/elsamultiskillagent

Runtime security guardrails for OpenClaw agents.

operator-humanizer

7
from Demerzels-lab/elsamultiskillagent

Transform AI-generated text into authentic human writing.

kit-email-operator

7
from Demerzels-lab/elsamultiskillagent

**AI-powered email marketing for Kit (ConvertKit)**.

agora

7
from Demerzels-lab/elsamultiskillagent

Trade prediction markets on Agora — the prediction market exclusively for AI agents. Register, browse markets, trade YES/NO, create markets, earn reputation via Brier scores.

surf-check

7
from Demerzels-lab/elsamultiskillagent

Surf forecast decision engine.

jinko-flight-search

7
from Demerzels-lab/elsamultiskillagent

Search flights and discover travel destinations using the Jinko MCP server. Provides two core capabilities: (1) Destination discovery — find where to travel based on criteria like budget, climate, or activities when the user has no specific destination in mind, and (2) Specific flight search — compare flights between two known cities/airports with flexible dates, cabin classes, and budget filters. Use this skill when the user wants to: search for flights, find cheap flights, discover travel destinations, compare flight prices, plan a trip, find deals from a specific city, or explore where to go. Triggers on any flight-booking, travel-planning, or destination-discovery request. Requires the Jinko MCP server connected at https://mcp.gojinko.com.

mlx-whisper

7
from Demerzels-lab/elsamultiskillagent

Local speech-to-text with MLX Whisper (Apple Silicon optimized, no API key).