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:
bashcurl -fsSL https://raw.githubusercontent.com/nodetool-ai/nodetool/refs/heads/main/install.sh | bash
With custom directory:
bashcurl -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:
powershellirm 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:
bashcurl -fsSL https://raw.githubusercontent.com/nodetool-ai/nodetool/refs/heads/main/install.sh | bash
With custom directory:
bashcurl -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:
powershellirm 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-basefrom NodeTool registry - Wrapper scripts —
nodetoolCLI 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:
bashnodetool info
Output shows:
- Version
- Python version
- Platform/Architecture
- Installed AI packages (OpenAI, Anthropic, Google, HF, Ollama, fal-client)
- Environment variables
- API key status

