Node-RED Make IoT Smart
🌐 Языки
Расширение ИИ-помощника, специально разработанное для Node-RED, делающее разработку IoT более умной и эффективной.
Обзор
Node-RED Make IoT Smart - это комплексный ИИ-агент, специально разработанный для разработки Node-RED. Он улучшает опыт разработки IoT, предоставляя интеллектуальную поддержку кода, автоматическую оптимизацию потоков и возможности умной отладки. Это расширение в настоящее время поддерживает 6 основных сценариев: обучение, решение, интеграция, разработка, конфигурация и управление.
Возможности
🤖 ИИ-помощник
- Интеллектуальные предложения кода: Контекстно-зависимые рекомендации кода для потоков Node-RED.
- Умный анализ потоков: Анализирует потоки и предоставляет предложения по оптимизации.
- Интерфейс естественного языка: Взаимодействуйте с средой Node-RED, используя команды естественного языка.
- Многоязычная поддержка: Поддерживает китайский, английский, японский, корейский и другие языки. Автоматически адаптируется к изменениям в языковых настройках Node-RED.
- Поддержка нескольких провайдеров: Основан на фреймворке LangChain.js, поддерживает модели ИИ, такие как OpenAI, Anthropic, Google, DeepSeek и другие.
- Интеллектуальное управление памятью: Система краткосрочной и долгосрочной памяти на основе SQLite, поддерживает хранение истории разговоров, пользовательских настроек и шаблонов потоков.
- Промпты на основе сценариев: Управление промптами на основе сценариев через конфигурацию JSON, поддерживает динамическую инъекцию параметров.
- Интеграция инструментов MCP: Поддерживает вызовы инструментов Model Context Protocol (MCP) для расширения возможностей ИИ-помощника.
🔧 Инструменты разработки
- Анализ кода в реальном времени: Непрерывный анализ потоков Node-RED.
- Управление конфигурацией: Централизованная конфигурация API для различных провайдеров ИИ.
- Интерактивная боковая панель: Специальная панель ИИ-помощника, интегрированная в редактор Node-RED.
- JSON-редактор: Встроенный редактор файлов конфигурации с подсветкой синтаксиса.
- Интеграция инструментов MCP: Поддерживает вызовы инструментов Model Context Protocol (MCP) для расширения возможностей ИИ-помощника.
- Управление инструментами LangChain: Унифицированный фреймворк управления инструментами, поддерживает встроенные инструменты и инструменты MCP.
- Поддержка на основе сценариев: Индивидуальная поддержка для 7 основных сценариев:
- Обучение: Объясняет узлы и концепции, предоставляет примеры потоков.
- Решение: Предоставляет различные IoT-решения, включая JSON потоков и руководства по установке узлов.
- Интеграция: Поддерживает интеграцию протоколов (таких как MQTT, Modbus) и программного обеспечения.
- Разработка: Оптимизирует существующие потоки и код функциональных узлов.
- Конфигурация: Направляет изменения в конфигурации Node-RED (например,
settings.js
). - Управление: Поддерживает удаленный доступ, интеграцию Git и массовое развертывание.
🚀 Будущие возможности
- Удаленная отладка: Удаленная отладка потоков Node-RED с помощью ИИ.
- Управление командой: Совместная разработка с возможностями управления командой.
- Расширенная аналитика: Глубокие инсайты о производительности IoT-систем.
- Умное развертывание: Стратегии развертывания IoT-приложений, управляемые ИИ.
Установка
Установка через npm
npm install @jhe.zheng/node-red-make-iot-smart
Установка через менеджер палитры Node-RED
- Откройте редактор Node-RED.
- Перейдите в Меню → Управление палитрой.
- Найдите
@jhe.zheng/node-red-make-iot-smart
. - Нажмите Установить.
- Перезапустите Node-RED после установки.
- После установки новая вкладка ИИ-помощник появится в боковой панели Node-RED.
- Нажмите кнопку Настройки для настройки вашего провайдера ИИ.
- Выберите из поддерживаемых провайдеров:
- DeepSeek: Экономичный вариант с сильными возможностями кодирования.
- OpenAI: Ведущие в отрасли модели GPT.
- Anthropic: Расширенные возможности рассуждения через модели Claude.
- Введите ваш API-ключ и выберите подходящую модель.
- После настройки вы можете начать использовать ИИ-помощника. Обратите внимание, что после сохранения настроек NodeRED автоматически создаст узел конфигурации. NodeRED покажет изменения в потоке, и вам нужно только нажать слияние.
- Начните взаимодействовать с ИИ-помощником!
Быстрый старт
Введите "Анализировать текущий узел"

Введите "Создать пример потока"

Введите "Проверка здоровья"

Конфигурация
Конфигурация отладки LangSmith (Опционально)
Вы можете настроить поддержку LangSmith для лучшей отладки и мониторинга выполнения LangChain:
Скопируйте файл
.env.example
в.env
:bashcp .env.example .env
Отредактируйте файл
.env
для ввода вашей конфигурации LangSmith:envLANGCHAIN_TRACING_V2=true LANGCHAIN_API_KEY=your_langsmith_api_key_here LANGCHAIN_PROJECT=your_project_name
Перезапустите Node-RED для применения конфигурации.
Посетите LangSmith для просмотра подробного трассирования выполнения и информации об отладке.
Примечание: Конфигурация LangSmith является опциональной и не влияет на основную функциональность.
Использование
Базовый интерфейс чата
- Откройте вкладку ИИ-помощник в боковой панели.
- Введите ваши вопросы или инструкции на естественном языке.
- Получайте интеллектуальные ответы с предложениями кода и объяснениями.
Выбор сценария
- Выберите сценарий (обучение, решение, интеграция, разработка, конфигурация, управление) в выпадающем меню боковой панели.
- ИИ адаптирует свои ответы на основе выбранного сценария и предоставит соответствующие инструменты и JSON потоков.
Обработка JSON/кода
- Большие выводы JSON или кода скрыты за кнопками Просмотр JSON/кода для поддержания чистоты UI.
- Редактируйте JSON потоков во встроенном редакторе с подсветкой синтаксиса и применяйте изменения напрямую.
Поддерживаемые сценарии
Обзор сценариев
Сценарий | Русское название | Описание | Поддерживаемые инструменты |
---|---|---|---|
learning | Режим обучения | Помощник по изучению Node-RED, предоставляет образовательные руководства и ответы на знания | get-flows, get-nodes, create-flow, update-flow |
solution | Режим решения | Эксперт по IoT-решениям, предоставляет технические решения и архитектурные советы | create-flow, update-flow, get-flows, create-subflow |
integration | Режим интеграции | Эксперт по системной интеграции, занимается подключением устройств и интеграцией данных | create-flow, update-flow, install-node, get-node-info |
development | Режим разработки | Помощник по разработке кода, поддерживает создание и оптимизацию потоков Node-RED | create-flow, update-flow, create-subflow, get-node-info, install-node, get-flow |
configuration | Режим конфигурации | Эксперт по системной конфигурации, управляет средой Node-RED и конфигурацией узлов | get_settings, update_settings, install_node, get_node_info, get_diagnostics |
management | Режим управления | Помощник по управлению проектами, поддерживает организацию потоков и планирование проектов | get-flows, create-flow, update-flow, create-subflow |
general | Общий режим | Общий ИИ-помощник, обрабатывает различные вопросы, связанные с Node-RED | Без специфических ограничений инструментов |
Примеры предопределенных промптов
Сценарий | Предопределенные промпты |
---|---|
Режим обучения | • Я новичок в Node-RED. Пожалуйста, представьте основные концепции и ключевые функции Node-RED • Пожалуйста, объясните потоки, узлы и соединения в Node-RED • Как создать мой первый простой поток в Node-RED? Пожалуйста, предоставьте подробные шаги • Какие основные узлы обычно используются в Node-RED? Каковы их соответствующие функции? |
Режим решения | • Мне нужно спроектировать систему управления умным домом. Пожалуйста, предоставьте полную архитектуру IoT-решения • Как использовать Node-RED для построения системы сбора и мониторинга данных Индустрии 4.0? • Пожалуйста, спроектируйте сельскохозяйственное IoT-решение, включающее сбор данных с датчиков и автоматическое управление • Я хочу построить сеть экологического мониторинга умного города, какие технические решения необходимы? |
Режим интеграции | • Как интегрировать MQTT-устройства и HTTP API в Node-RED? Пожалуйста, предоставьте подробное интеграционное решение • Мне нужно передавать данные датчиков с Modbus-устройств в облачную базу данных. Как это реализовать? • Пожалуйста, помогите спроектировать поток преобразования данных, который конвертирует JSON в XML и отправляет в сторонние системы • Как реализовать интегрированный сбор и обработку данных с нескольких устройств с разными протоколами в Node-RED? |
Режим разработки | • Подробное объяснение и комментирование текущего потока • Подробное объяснение и комментирование текущего узла • Пожалуйста, помогите написать код функционального узла, который реализует фильтрацию данных и преобразование формата • Как создавать пользовательские узлы в Node-RED? Пожалуйста, предоставьте полную процедуру разработки |
Режим конфигурации | • Какова текущая конфигурация NodeRED? • Какова текущая диагностика NodeRED? • Как настроить конфигурацию безопасности Node-RED, включая аутентификацию пользователей и HTTPS? • Пожалуйста, помогите оптимизировать конфигурацию производительности Node-RED для улучшения эффективности выполнения системы • Как устанавливать и управлять пакетами сторонних узлов в Node-RED? • Мне нужно настроить логирование и мониторинг Node-RED. Как мне это настроить? |
Режим управления | • Пожалуйста, помогите создать план разработки и вехи для IoT-проектов • Как организовать и управлять структурой потоков крупномасштабных проектов в Node-RED? • Мне нужно оценить риски и качество текущего проекта. Пожалуйста, предоставьте рекомендации по анализу • Как установить стандарты совместной разработки Node-RED в команде и лучшие практики? |
Общий режим | • Что такое Node-RED? Каковы его основные характеристики и сценарии применения? • Я столкнулся с проблемами в Node-RED. Пожалуйста, помогите с анализом и решениями • Пожалуйста, порекомендуйте ресурсы для изучения Node-RED и лучшие практики • Как выбрать подходящий режим сценария Node-RED для решения конкретных требований? |
Интеллектуальная активация по ключевым словам
Сценарий | Ключевые слова | Действие активации |
---|---|---|
Режим разработки | создать поток, сгенерировать поток, сделать поток, новый поток | Автоматически переключается в режим разработки для генерации полного JSON-кода потока Node-RED и предоставления подробных объяснений |
Режим конфигурации | текущая конфигурация, конфигурация системы, информация о конфигурации, конфигурация, текущие настройки | Автоматически вызывает инструмент get_settings для получения информации о конфигурации и отображения в табличном формате |
Режим конфигурации | текущая диагностика, диагностика системы, информация о диагностике, проверка здоровья | Автоматически вызывает инструмент get_diagnostics для выполнения системной диагностики |
Динамические входные параметры
Все сценарии поддерживают следующую инъекцию динамических параметров:
nodeRedVersion
- Информация о версии Node-REDnodeVersion
- Информация о версии Node.jscurrentTime
- Текущая временная меткаselectedFlow
- Текущий выбранный потокselectedNodes
- Текущие выбранные узлыlang
- Текущий языковой параметрmcpTools
- Список доступных инструментов MCP
Каждый сценарий также поддерживает специфические динамические параметры:
- Режим обучения:
userLevel
(уровень навыков пользователя) - Режим решения:
projectRequirements
(требования проекта) - Режим интеграции:
integrationTargets
(цели интеграции) - Режим разработки:
developmentTask
(задача разработки) - Режим конфигурации:
configurationNeeds
(потребности в конфигурации) - Режим управления:
projectStatus
(статус проекта)
Характеристики системных промптов
Каждый сценарий настроен с профессиональными системными промптами для обеспечения того, чтобы ИИ-помощник мог:
- Определение роли: Четкая профессиональная роль в конкретных сценариях
- Формат вывода: Структурированный формат ответа в соответствии с требованиями сценария
- Интеграция инструментов: Интеллектуальный вызов соответствующих инструментов MCP и API Node-RED
- Распознавание контекста: Персонализированные рекомендации с использованием динамических параметров
Сценарий | Описание |
---|---|
Обучение | Объясняет узлы/концепции и предоставляет примеры потоков для обучения. |
Решение | Предоставляет различные IoT-решения с JSON потоков и руководствами по установке узлов. |
Интеграция | Поддерживает интеграцию протоколов/программного обеспечения и генерирует соответствующие потоки. |
Разработка | Оптимизирует существующие потоки и код функциональных узлов. |
Конфигурация | Направляет изменения в конфигурации Node-RED (например, settings.js ). |
Управление | Поддерживает удаленный доступ, интеграцию Git и массовое развертывание. |
Поддерживаемые провайдеры ИИ
Провайдер | Модели | Характеристики |
---|---|---|
OpenAI | GPT-3.5, GPT-4, GPT-4o | Общего назначения, широкая совместимость |
Anthropic | Claude-3, Claude-3.5 | Продвинутое рассуждение, фокус на безопасности |
Gemini Pro, Gemini Flash | Мультимодальный, высокая производительность | |
DeepSeek | deepseek-chat, deepseek-coder | Экономичный, фокус на кодировании |
Другие | Все LLM-провайдеры, поддерживаемые LangChain.js | Высокая масштабируемость, гибкая конфигурация |
Конфигурация API
- API-ключи хранятся локально с шифрованием.
- Поддерживает конфигурацию нескольких провайдеров.
- Легкое переключение между различными провайдерами и моделями.
- Отдельная конфигурация моделей для фаз планирования и выполнения.
Разработка
Структура проекта
├── ai-sidebar.html # Основной интерфейс боковой панели
├── ai-sidebar-config.json # Конфигурация UI
├── make-iot-smart.html # Шаблон конфигурации узла
├── make-iot-smart.js # Реализация бэкенда узла
├── lib/
│ ├── langchain-manager.js # Основной менеджер LangChain
│ ├── memory-manager.js # Управление памятью SQLite
│ └── scenario-manager.js # Управление промптами на основе сценариев
├── config/
│ └── scenarios.json # Файл конфигурации сценариев
├── data/
│ └── memory.db # Файл базы данных SQLite
└── package.json # Конфигурация пакета
Техническая архитектура
Этот проект основан на фреймворке LangChain.js и использует модульный архитектурный дизайн:
- LangChain Manager: Основное управление моделями ИИ, поддерживает нескольких провайдеров LLM
- Memory Manager: Интеллектуальная система памяти на основе SQLite, поддерживает краткосрочную и долгосрочную память
- Scenario Manager: Управление промптами на основе сценариев, поддерживает конфигурацию JSON и динамические параметры
- Tool Manager: Унифицированный фреймворк управления инструментами, интегрирует инструменты MCP и встроенные инструменты
- API Layer: RESTful API интерфейс, поддерживает потоковый чат и выполнение инструментов
Вклад в проект
- Сделайте форк репозитория.
- Создайте ветку функции.
- Внесите изменения и зафиксируйте их.
- Отправьте pull request.
Дорожная карта
Фаза 1 (Завершена)
- ✅ Интеграция ИИ-помощника
- ✅ Поддержка нескольких провайдеров
- ✅ Интерактивная боковая панель
- ✅ Управление конфигурацией
- ✅ Поддержка на основе сценариев
- ✅ Миграция архитектуры LangChain.js
- ✅ Система управления памятью SQLite
- ✅ Интеграция инструментов MCP
- ✅ Унифицированный фреймворк управления инструментами
Фаза 2 (Запланирована)
- 🔄 Возможности удаленной отладки
- 🔄 Возможности командного сотрудничества
- 🔄 Расширенный анализ потоков
- 🔄 Инструменты умного развертывания
Фаза 3 (Будущее)
- 📋 Система управления командой
- 📋 Корпоративные возможности
- 📋 Расширенные опции безопасности
- 📋 Обучение пользовательских моделей
Системные требования
- Node.js >= 18.0.0
- Node-RED >= 2.0.0
Лицензия
Лицензировано под лицензией MIT. См. файл LICENSE для подробностей.
Поддержка
Разработка ИИ - это скорее искусство, чем технология, и освоение LLM не является простой задачей, требующей глубокого понимания моделей ИИ, данных и сценариев применения. Каждая сессия Q&A может давать разные результаты, и ранние версии часто неудовлетворительны, но через улучшения в инженерии промптов они постепенно будут удовлетворять ежедневные потребности пользователей Node-RED, будь то IT или OT инженеры. Приглашаем больше заинтересованных людей присоединиться к проекту.
- Сообщить о проблемах: GitHub Issues
- Документация: Wiki
- Обсуждения: GitHub Discussions
Автор
Zheng He
- Email: jhe.zheng@gmail.com
- GitHub: @jimmyfreecoding
- Website: https://www.makeiotsmart.com
Сделайте разработку IoT умнее с поддержкой ИИ!