Node-RED 管理器:自动化流程与节点部署 - Openclaw Skills

作者:互联网

2026-03-26

AI教程

什么是 Node-RED 管理器?

Node-RED 管理器是一个专门设计的工具,旨在简化 Node-RED 环境的管理。它提供了一个强大的 Node-RED Admin API 接口,允许开发人员以编程方式管理流程、节点和全局上下文。通过将此技能集成到您的工作流中,您可以告别手动 GUI 更新,转而采用以 DevOps 为中心的自动化逻辑方法。

作为 Openclaw Skills 生态系统中的核心组件,该管理器可促进复杂的自动化任务,例如跨环境同步流程、执行自动备份以及管理运行时状态。它对于在 Docker 容器中运行 Node-RED 的用户特别有效,提供用于服务监控和日志管理的直接命令。

下载入口:https://github.com/openclaw/skills/tree/main/skills/1999azzar/node-red-manager

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install node-red-manager

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 node-red-manager。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

Node-RED 管理器 应用场景

  • 在不使用浏览器的情况下将预配置的自动化流程部署到生产环境。
  • 在多个实例中自动化节点模块的安装和维护。
  • 创建逻辑流程的计划备份,以防止更新期间的数据丢失。
  • 以编程方式更新流程上下文和全局变量,以触发特定的自动化行为。
  • 通过基于 CLI 的诊断和日志追踪对远程 Node-RED 实例进行故障排除。
Node-RED 管理器 工作原理
  1. 该技能使用本地环境配置中定义的凭据连接到 Node-RED Admin API。
  2. 用户与 scripts/nr 工具交互,发送流程、节点或上下文管理命令。
  3. 管理器向目标实例进行身份验证并执行请求的操作,例如获取流程定义或部署新的 JSON 资产。
  4. 对于容器化设置,该技能利用 Docker Compose 来管理底层服务生命周期并检索实时日志。
  5. 所有操作都会被记录,并以开发人员友好的格式返回结果,确保对每个管理操作都有清晰的反馈。

Node-RED 管理器 配置指南

要在 Openclaw Skills 上开始使用此技能,请按照以下步骤操作:

  1. 复制示例环境文件:
cp .env.example .env
  1. .env 文件中配置您的 Node-RED 连接详细信息:
NODE_RED_URL="https://your-node-red-url"
NODE_RED_USERNAME="admin"
NODE_RED_PASSWORD="your-secure-password"
  1. 运行任何管理命令;脚本将在第一次执行时自动处理依赖项安装。

Node-RED 管理器 数据架构与分类体系

Node-RED 管理器围绕流程定义和部署元数据组织数据。以下是此技能使用的主要结构:

数据类型 描述 主要位置
流程资产 代表 Node-RED 逻辑的 JSON 文件 assets/flows/*.json
备份 实例流程的完整快照 node-red-backup-[时间戳].json
环境 连接字符串和凭据 .env
持久化数据 Node-RED 状态的 Docker 卷存储 deployments/node-red/data
name: node-red-manager
description: Manage Node-RED instances via Admin API or CLI. Automate flow deployment, install nodes, and troubleshoot issues. Use when user wants to "build automation", "connect devices", or "fix node-red".

Node-RED Manager

Setup

  1. Copy .env.example to .env.
  2. Set NODE_RED_URL, NODE_RED_USERNAME, and NODE_RED_PASSWORD in .env.
  3. The script automatically handles dependencies on first run.

Infrastructure

  • Stack Location: deployments/node-red
  • Data Volume: deployments/node-red/data
  • Docker Service: mema-node-red
  • URL: https://flow.glassgallery.my.id

Usage

Flow Management

# List all flows
scripts/nr list-flows

# Get specific flow by ID
scripts/nr get-flow 

# Deploy flows from file
scripts/nr deploy --file assets/flows/watchdog.json

# Update specific flow
scripts/nr update-flow  --file updated-flow.json

# Delete flow
scripts/nr delete-flow 

# Get flow runtime state
scripts/nr get-flow-state

# Set flow runtime state
scripts/nr set-flow-state --file state.json

Backup & Restore

# Backup all flows to file
scripts/nr backup
scripts/nr backup --output my-backup.json

# Restore flows from backup
scripts/nr restore node-red-backup-20260210_120000.json

Node Management

# List installed nodes
scripts/nr list-nodes

# Install node module
scripts/nr install-node node-red-contrib-http-request

# Get node information
scripts/nr get-node node-red-contrib-http-request

# Enable/disable node
scripts/nr enable-node node-red-contrib-http-request
scripts/nr disable-node node-red-contrib-http-request

# Remove node
scripts/nr remove-node node-red-contrib-http-request

Runtime Information

# Get runtime settings
scripts/nr get-settings

# Get runtime diagnostics
scripts/nr get-diagnostics

Context Management

# Get context value
scripts/nr get-context flow my-key
scripts/nr get-context global shared-data

# Set context value
scripts/nr set-context flow my-key '"value"'
scripts/nr set-context global counter '42'
scripts/nr set-context global config '{"key": "value"}'

Docker Operations

# Restart Node-RED
cd deployments/node-red && docker compose restart

# View logs
docker logs mema-node-red --tail 100

# Follow logs
docker logs -f mema-node-red

Environment Variables

  • NODE_RED_URL: Node-RED API endpoint (default: http://localhost:1880)
  • NODE_RED_USERNAME: Admin username
  • NODE_RED_PASSWORD: Admin password

Legacy variable names (NR_URL, NR_USER, NR_PASS) are supported for backward compatibility.

API Reference

See references/admin-api.md for complete Admin API endpoint documentation.