npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@jhe.zheng/node-red-make-iot-smart

v0.1.5

Published

A AI tools for Node-RED

Readme

Node-RED Make IoT Smart

🌐 Languages

English 中文 Deutsch Español Français 日本語 한국어 Português Русский 繁體中文


An AI intelligent assistant extension designed specifically for Node-RED, making IoT development smarter and more efficient. npm version License: MIT Node-RED

Overview

Node-RED Make IoT Smart is a comprehensive AI agent designed specifically for Node-RED development. It provides intelligent code assistance, automated flow optimization, and smart debugging capabilities to enhance your IoT development experience. The extension now supports six major scenarios: Learning, Solution, Integration, Development, Configuration, and Management.

Features

🤖 AI Assistant

  • Intelligent Code Suggestions: Provides context-aware code recommendations for Node-RED flows.
  • Smart Flow Analysis: Analyzes flows and provides optimization suggestions.
  • Natural Language Interface: Interact with the Node-RED environment using natural language commands.
  • Multi-language Support: Supports Chinese, English, Japanese, Korean, and other languages. Follows Node-RED language configuration changes.
  • Multi-provider Support: Based on LangChain.js framework, supports OpenAI, Anthropic, Google, DeepSeek, and other AI models.
  • Intelligent Memory Management: SQLite-based short-term and long-term memory system, supporting conversation history, user preferences, and flow template storage.
  • Scenario-based Prompts: JSON-configured scenario-based prompt management with dynamic parameter injection support.
  • MCP Tools Integration: Supports Model Context Protocol (MCP) tool calls to extend AI assistant capabilities.

🔧 Development Tools

  • Real-time Code Analysis: Continuously analyzes Node-RED flows.
  • Configuration Management: Centralized API configuration for different AI providers.
  • Interactive Sidebar: Dedicated AI assistant panel integrated into the Node-RED editor.
  • JSON Editor: Built-in configuration file editor with syntax highlighting.
  • MCP Tool Integration: Supports Model Context Protocol (MCP) tool calls to extend AI assistant capabilities.
  • LangChain Tool Management: Unified tool management framework supporting built-in tools and MCP tools.
  • Scenario-based Support: Provides customized support for seven major scenarios:
    • Learning: Explains nodes and concepts, provides example flows.
    • Solution: Provides multiple IoT solutions with flow JSON and node installation guidance.
    • Integration: Assists with protocol integration (e.g., MQTT, Modbus) or software.
    • Development: Optimizes existing flows and function node code.
    • Configuration: Guides modification of Node-RED settings (e.g., settings.js).
    • Management: Supports remote access, Git integration, and batch deployment.

🚀 Upcoming Features

  • Remote Debugging: AI-assisted remote debugging of Node-RED flows.
  • Team Management: Collaborative development with team management features.
  • Advanced Analytics: Deep insights into IoT system performance.
  • Smart Deployment: AI-guided deployment strategies for IoT applications.

Installation

Install from npm

npm install @jhe.zheng/node-red-make-iot-smart

Install from Node-RED Palette Manager

  1. Open the Node-RED editor.
  2. Go to Menu → Manage Palette.
  3. Search for @jhe.zheng/node-red-make-iot-smart.
  4. Click Install.
  5. After installation is complete, restart Node-RED.
  6. After installation, you will see a new AI Assistant tab in the Node-RED sidebar.
  7. Click the Configure button to set up your AI provider.
  8. Choose from supported providers:
    • DeepSeek: Cost-effective choice with strong coding capabilities.
    • OpenAI: Industry-leading GPT models.
    • Anthropic: Advanced reasoning capabilities with Claude models.
  9. Enter your API key and select the appropriate model.
  10. After configuration is complete, you can start using the AI assistant. Note that after saving the configuration, Node-RED will automatically generate a configuration node, and Node-RED will prompt for flow changes - just click merge.
  11. Start interacting with your AI assistant!

Quick Start

Type "Analyze current node"

Type "Create a sample flow"

Type "Health check"

Configuration

LangSmith Debug Configuration (Optional)

For better debugging and monitoring of LangChain execution processes, you can configure LangSmith support:

  1. Copy the .env.example file to .env:

    cp .env.example .env
  2. Edit the .env file and fill in your LangSmith configuration:

    LANGCHAIN_TRACING_V2=true
    LANGCHAIN_API_KEY=your_langsmith_api_key_here
    LANGCHAIN_PROJECT=your_project_name
  3. Restart Node-RED to apply the configuration.

  4. Visit LangSmith to view detailed execution traces and debugging information.

Note: LangSmith configuration is optional and will not affect basic functionality if not configured.

Usage

Basic Chat Interface

  • Open the AI Assistant sidebar tab.
  • Enter your questions or instructions in natural language.
  • Get intelligent responses including code suggestions and explanations.

Scenario Selection

  • Select scenarios (Learning, Solution, Integration, Development, Configuration, Management) through the dropdown menu in the sidebar.
  • AI customizes responses based on the selected scenario, providing relevant tools and flow JSON.

JSON/Code Handling

  • Large JSON or code outputs are hidden behind View JSON/Code buttons to keep the UI clean.
  • Edit flow JSON in the built-in editor with syntax highlighting and apply changes directly.

Supported Scenarios

Scenario Overview

| Scenario | Chinese Name | Description | Supported Tools | |----------|--------------|-------------|----------------| | learning | 学习模式 | Node-RED learning assistant providing teaching guidance and knowledge answers | get-flows, get-nodes, create-flow, update-flow | | solution | 解决方案模式 | IoT solution expert providing technical solutions and architecture recommendations | create-flow, update-flow, get-flows, create-subflow | | integration | 集成模式 | System integration expert handling device connections and data integration | create-flow, update-flow, install-node, get-node-info | | development | 开发模式 | Code development assistant helping write and optimize Node-RED flows | create-flow, update-flow, create-subflow, get-node-info, install-node, get-flow | | configuration | 配置模式 | System configuration expert handling Node-RED environment and node configuration | get_settings, update_settings, install_node, get_node_info, get_diagnostics | | management | 管理模式 | Project management assistant helping with flow organization and project planning | get-flows, create-flow, update-flow, create-subflow | | general | 通用模式 | General AI assistant handling various Node-RED related issues | No specific tool restrictions |

Preset Prompt Examples

| Scenario | Preset Prompts | |----------|----------------| | Learning Mode | • I'm new to Node-RED, please introduce the basic concepts and core functions of Node-RED• Please explain what Flow, Node, and Wire are in Node-RED• How to create my first simple flow in Node-RED? Please provide detailed steps• What are the commonly used core nodes in Node-RED? What are their respective functions? | | Solution Mode | • I need to design a smart home control system, please provide a complete IoT solution architecture• How to use Node-RED to build an Industry 4.0 data collection and monitoring system?• Please design an agricultural IoT solution, including sensor data collection and automation control• I want to establish a smart city environmental monitoring network, what technical solutions are needed? | | Integration Mode | • How to integrate MQTT devices and HTTP APIs in Node-RED? Please provide detailed integration solutions• I need to send sensor data from Modbus devices to cloud databases, how to implement this?• Please help me design a data transformation flow that converts JSON format to XML and sends to third-party systems• How to implement unified data collection and processing for multiple different protocol devices in Node-RED? | | Development Mode | • Detailed explanation and description of the current flow• Detailed explanation and description of the current node• Please help me write a Function node code that implements data filtering and format conversion• How to create a custom node in Node-RED? Please provide complete development steps | | Configuration Mode | • How is the current Node-RED configuration?• How is the current Node-RED diagnostics?• How to configure Node-RED security settings, including user authentication and HTTPS?• Please help me optimize Node-RED performance configuration to improve system efficiency• How to install and manage third-party node packages in Node-RED?• I need to configure Node-RED logging and monitoring, how should I set it up? | | Management Mode | • Please help me develop an IoT project development plan and milestone arrangement• How to organize and manage large project flow structures in Node-RED?• I need to assess the risks and quality of the current project, please provide analysis suggestions• How to establish Node-RED development standards and best practices for team collaboration? | | General Mode | • What is Node-RED? What are its main features and application scenarios?• I encountered a Node-RED problem, please help me analyze and solve it• Please recommend some Node-RED learning resources and best practices• How to choose the appropriate Node-RED scenario mode to solve my specific needs? |

Smart Keyword Triggers

| Scenario | Keywords | Trigger Behavior | |----------|----------|------------------| | Development Mode | create flow, generate flow, new flow, build flow | Automatically switches to development mode, generates complete Node-RED flow JSON code with detailed explanations | | Configuration Mode | current config, system config, configuration info, settings, current settings | Automatically calls get_settings tool to retrieve configuration information and displays in table format | | Configuration Mode | current diagnostics, system diagnostics, diagnostic info, health check | Automatically calls get_diagnostics tool for system diagnostics |

Dynamic Input Parameters

All scenarios support the following dynamic parameter injection:

  • nodeRedVersion - Node-RED version information
  • nodeVersion - Node.js version information
  • currentTime - Current timestamp
  • selectedFlow - Currently selected flow
  • selectedNodes - Currently selected nodes
  • lang - Current language setting
  • mcpTools - Available MCP tools list

Each scenario also supports specific dynamic parameters:

  • Learning Mode: userLevel (user skill level)
  • Solution Mode: projectRequirements (project requirements)
  • Integration Mode: integrationTargets (integration targets)
  • Development Mode: developmentTask (development task)
  • Configuration Mode: configurationNeeds (configuration needs)
  • Management Mode: projectStatus (project status)

System Prompt Features

Each scenario is configured with specialized system prompts to ensure the AI assistant can:

  1. Role Positioning: Clearly define its professional role in specific scenarios
  2. Output Format: Provide structured response formats according to scenario needs
  3. Tool Integration: Intelligently call appropriate MCP tools and Node-RED APIs
  4. Context Awareness: Utilize dynamic parameters to provide personalized recommendations

| Scenario | Description | | -------- | --------------------------------------------------------------------------- | | Learning | Explains nodes/concepts and provides example flows for learning. | | Solution | Provides multiple IoT solutions with flow JSON and node installation guidance. | | Integration | Assists with protocol/software integration and generates related flows. | | Development | Optimizes existing flows and function node code. | | Configuration | Guides modification of Node-RED settings (e.g., settings.js). | | Management | Supports remote access, Git integration, and batch deployment. |

Supported AI Providers

| Provider | Models | Features | | --------- | --------------------------------------- | --------------------------- | | OpenAI | GPT-3.5, GPT-4, GPT-4o | General purpose, wide compatibility | | Anthropic | Claude-3, Claude-3.5 | Advanced reasoning, safety-focused | | Google | Gemini Pro, Gemini Flash | Multimodal, high performance | | DeepSeek | deepseek-chat, deepseek-coder | Cost-effective, coding-focused | | Others | All LLM providers supported by LangChain.js | Highly extensible, flexible configuration |

API Configuration

  • API keys are stored locally and encrypted.
  • Support for multiple provider configurations.
  • Easy switching between different providers and models.
  • Separate model settings for planning and execution phases.

Development

Project Structure

├── ai-sidebar.html          # Main sidebar interface
├── ai-sidebar-config.json   # UI configuration
├── make-iot-smart.html      # Node configuration template
├── make-iot-smart.js        # Backend node implementation
├── lib/
│   ├── langchain-manager.js # LangChain core manager
│   ├── memory-manager.js    # SQLite memory management
│   └── scenario-manager.js  # Scenario-based prompt management
├── config/
│   └── scenarios.json       # Scenario configuration file
├── data/
│   └── memory.db           # SQLite database file
└── package.json            # Package configuration

Technical Architecture

This project is built on the LangChain.js framework with a modular architecture design:

  • LangChain Manager: Core AI model management, supporting multiple LLM providers
  • Memory Manager: SQLite-based intelligent memory system, supporting short-term and long-term memory
  • Scenario Manager: Scenario-based prompt management, supporting JSON configuration and dynamic parameters
  • Tool Manager: Unified tool management framework, integrating MCP tools and built-in tools
  • API Layer: RESTful API interface, supporting streaming chat and tool execution

Contributing

  1. Fork the repository.
  2. Create a feature branch.
  3. Make changes and commit.
  4. Submit a pull request.

Roadmap

Phase 1 (Completed)

  • ✅ AI assistant integration
  • ✅ Multi-provider support
  • ✅ Interactive sidebar
  • ✅ Configuration management
  • ✅ Scenario-based support
  • ✅ LangChain.js architecture migration
  • ✅ SQLite memory management system
  • ✅ MCP tool integration
  • ✅ Unified tool management framework

Phase 2 (Coming Soon)

  • 🔄 Remote debugging functionality
  • 🔄 Team collaboration features
  • 🔄 Advanced flow analysis
  • 🔄 Smart deployment tools

Phase 3 (Future)

  • 📋 Team management system
  • 📋 Enterprise features
  • 📋 Advanced security options
  • 📋 Custom model training

System Requirements

  • Node.js >= 18.0.0
  • Node-RED >= 2.0.0

License

Licensed under the MIT License. See LICENSE file for details.

Support

AI development is more like art than technology. Mastering LLMs is not a simple task and requires deep understanding of AI models, data, and application scenarios. Each Q&A session may yield different results. Initial versions are often imperfect, but with the improvement of prompt engineering, they will gradually truly meet the daily needs of Node-RED users, whether IT or OT engineers. We welcome more interested people to join the project.

Author

Zheng He


Let AI-driven assistance make your IoT development smarter!