Install
openclaw skills install @thcjp/flow-editor-pro通过 Admin API 或 CLI 管理 Node-RED 实例的运维专家。聚焦流程部署可回滚、多实例统一管理、 节点依赖可治理、Context 持久化与安全加固,解决无版本控制、部署即翻车、多实例配置散乱痛点。 核心能力: - 流程全生命周期:列表/部署/更新/删除/状态快照/回滚(每次部署自动留版本) -...
openclaw skills install @thcjp/flow-editor-pro核心功能: 本技能提供化工作流场景等能力。
核心功能: 本技能提供结构化的工作流程和配置指引等能力。
通过 Admin API 与 CLI 管理 Node-RED 实例,把"部署即翻车"变为"可回滚、可审计、可治理"的运维流程.
替代原版单实例硬编码,单文件管多实例:
# .env(按实例分块)
NR_PROD_URL=https://flow.example.com
NR_PROD_USERNAME=admin
NR_PROD_PASSWORD=${NR_PROD_PASSWORD}
# ...
NR_STAGING_URL=http://staging.internal:1880
NR_STAGING_USERNAME=admin
NR_STAGING_PASSWORD=${NR_STAGING_PASSWORD}
# ...
NR_DEV_URL=http://localhost:1880
NR_DEV_USERNAME=
NR_DEV_PASSWORD=
CLI 通过 --instance 切换,默认 dev:
(请参考skill目录中的脚本文件) --instance prod list-flows
(请参考skill目录中的脚本文件) --instance staging deploy --file watchdog.json
兼容旧变量 NR_URL / NR_USER / NR_PASS(默认实例).
# 列表与详情
(请参考skill目录中的脚本文件) list-flows
(请参考skill目录中的脚本文件) get-flow <flow-id>
(请参考skill目录中的脚本文件) get-flow-state
# ...
# 部署(自动留版本到 .versions/<flow-id>/<timestamp>.json)
(请参考skill目录中的脚本文件) deploy --file assets/flows/watchdog.json
(请参考skill目录中的脚本文件) deploy --file my-flow.json --instance prod # 部署到生产
# ...
# 更新与删除
(请参考skill目录中的脚本文件) update-flow <flow-id> --file updated-flow.json
(请参考skill目录中的脚本文件) delete-flow <flow-id>
# ...
# 版本树与回滚
(请参考skill目录中的脚本文件) list-versions <flow-id> # 列出该流程所有历史版本
(请参考skill目录中的脚本文件) rollback <flow-id> --to <timestamp> # 回滚到指定版本
(请参考skill目录中的脚本文件) rollback <flow-id> --last # 快速回滚到上一版本
# ...
# 状态快照
(请参考skill目录中的脚本文件) get-flow-state
(请参考skill目录中的脚本文件) set-flow-state --file state.json
部署安全流程:
--instance staging deploy 部署到预发--instance prod deployrollback --last(< 5 秒回滚)# 全量备份(所有流程 + Context + 节点清单)
(请参考skill目录中的脚本文件) backup
(请参考skill目录中的脚本文件) backup --output my-backup.json
(请参考skill目录中的脚本文件) backup --instance prod --include-context
# ...
# 跨实例迁移
(请参考skill目录中的脚本文件) backup --instance prod --output prod-snapshot.json
(请参考skill目录中的脚本文件) restore prod-snapshot.json --instance staging
# ...
# 定时备份(建议加入 cron)
(请参考skill目录中的脚本文件) backup --schedule "0 2 * * *" # 每日 2 点
备份内容:flows、credentials(加密)、context(flow/global)、节点清单、settings.
# 列表与详情
(请参考skill目录中的脚本文件) list-nodes
(请参考skill目录中的脚本文件) get-node node-red-contrib-http-request
# ...
# 依赖说明
(请参考skill目录中的脚本文件) install-node node-red-contrib-http-request
(请参考skill目录中的脚本文件) install-node node-red-contrib-influxdb --version 0.5.0
# ...
# 启用/禁用/卸载
(请参考skill目录中的脚本文件) enable-node node-red-contrib-http-request
(请参考skill目录中的脚本文件) disable-node node-red-contrib-http-request
(请参考skill目录中的脚本文件) remove-node node-red-contrib-http-request
# ...
# 批量升级
(请参考skill目录中的脚本文件) upgrade-nodes --all # 升级所有过期节点
(请参考skill目录中的脚本文件) upgrade-nodes --outdated-only # 仅升级有新版的
兼容性检查:安装/升级前自动比对节点要求的 Node-RED 版本与当前版本,不兼容则告警并中止. 危险节点告警:以下节点安装时强制提示风险:
# 读取
(请参考skill目录中的脚本文件) get-context flow my-key
(请参考skill目录中的脚本文件) get-context global shared-data
# ...
# 写入
(请参考skill目录中的脚本文件) set-context flow my-key '"value"'
(请参考skill目录中的脚本文件) set-context global counter '42'
(请参考skill目录中的脚本文件) set-context global config '{"key": "value"}'
# ...
# 持久化导出(用于灾备)
(请参考skill目录中的脚本文件) export-context --output context-backup.json
(请参考skill目录中的脚本文件) get-settings # Node-RED 设置
(请参考skill目录中的脚本文件) get-diagnostics # 诊断信息(内存/运行时长/错误统计)
(请参考skill目录中的脚本文件) health # 健康检查(实例连通 + 关键流程状态)
cd deployments/node-red && docker compose restart
docker logs mema-node-red --tail 100
docker logs -f mema-node-red
# ...
# 多实例
docker compose --profile prod up -d
docker compose --profile staging up -d
部署前逐项核对:
adminAuth 配置)credentialsSecret 非默认)httpNodeRoot 非默认 /(隐藏 HTTP 端点)| 潜在风险 | 风险评级 | 控制措施 | 验证手段 |
|---|---|---|---|
| 凭证存储不当 | 高 | 密钥管理服务,环境变量注入 | 密钥轮换审计 |
| 网络传输窃听 | 高 | HTTPS强制,证书钉扎 | SSL Labs检测 |
| 异常操作未告警 | 中 | 操作日志,实时监控 | 告警规则验证 |
| 版本过期风险 | 低 | 自动更新,版本策略 | 版本兼容性检查 |
用户:把新的"回家模式"流程部署到生产
执行:
1. --instance staging deploy --file home-mode.json
2. staging 验证 10 分钟无报错
3. --instance prod deploy --file home-mode.json(自动留版本)
4. 报告:部署成功,版本 v20260718-1,回滚命令 nr rollback home-mode --last
用户:刚部署的流程把灯全关了,快回滚
执行:
1. (请参考skill目录中的脚本文件) rollback home-mode --last
2. 确认已回滚到 v20260718-0
3. 报告:回滚完成,问题版本已保留供分析
用户:把开发实例的全部流程迁到新服务器
执行:
1. --instance dev backup --output dev-full.json --include-context
2. 修改 .env 指向新服务器
3. --instance dev restore dev-full.json
4. health 检查全部流程状态
用户:升级所有过期节点
执行:
1. upgrade-nodes --outdated-only
2. 兼容性检查:3 个节点有新版本,1 个不兼容(跳过)
3. 升级完成的节点逐个验证流程无报错
4. 报告:升级 2 个,跳过 1 个(node-red-contrib-x 不兼容 v3.1)
| 故障场景 | 表现症状 | 诊断方法 | 修复步骤 |
|---|---|---|---|
| Key无效 | 返回401状态码 | 验证Key格式和有效性 | 重新生成Key并更新环境变量 |
| 请求被拒 | 返回403禁止访问 | 检查权限范围和IP限制 | 确认账户权限,添加IP白名单 |
| 速率限制 | 返回429状态码 | 查看响应头中的Retry-After字段 | 按Retry-After值等待后重试 |
| 格式错误 | 返回400状态码 | 检查请求体JSON格式和字段类型 | 参照输入格式示例修正 |
| 服务不可用 | 返回503状态码 | 检查API状态页和健康检查端点 | 等待服务恢复,设置重试退避策略 |
Q1: 回滚会丢数据吗?
A: 流程定义回滚不影响 Context 数据。Context 单独备份恢复。回滚只替换 flows.json 与 credentials.
Q2: 多实例配置怎么管 token?
A: 全部走环境变量 ${VAR},不入 .env 明文。CI/CD 用 secrets 注入.
Q3: 部署到生产前必须过 staging 吗?
A: 强烈推荐。安全加固清单第 7 项。若强行直发生产,CLI 会提示风险但允许(--force).
Q4: 节点升级后流程报错怎么办?
A: 立即 rollback <flow> --last 回滚流程,再 disable-node <新节点> 禁用问题节点,最后排查兼容性.
Q5: 备份文件包含敏感信息吗?
A: 含加密的 credentials,但需 credentialsSecret 解密。备份文件建议存到加密存储,勿提交公开仓库.
| 现象 | 排查路径 |
|---|---|
| Admin API 401 | 检查 .env 账号密码 → 确认 adminAuth 配置 → 重试 |
| 部署后流程不工作 | get-diagnostics 查错误 → list-versions 比对差异 → rollback --last |
| 节点安装失败 | 查 Node-RED 版本兼容性 → 查 npm registry → 手动 npm install 看详细错误 |
| Context 重启后丢失 | 检查 contextStorage 配置 → 改为 localfilesystem 持久化 |
| 多实例切换失效 | 确认 --instance 参数 → 检查 .env 对应块 → doctor 验证 |
| Docker 重启后流程丢失 | 检查 volume 挂载 → 确认 data 目录持久化 |
| 回滚后版本树错乱 | .versions/ 目录可能被手动改过 → 用最近备份重建版本树 |
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| Node-RED 实例 | 软件 | 必需 | docker / npm / 系统包 |
| Docker(可选) | 容器运行时 | 可选 | docker.com |
jq | JSON 处理 | 推荐 | 系统包管理器 |
curl | HTTP 调用 | 必需(CLI 内部用) | 系统自带 |
| LLM API | API | 必需 | 由 Agent 内置 LLM 提供 |
.env,生产用环境变量注入)credentialsSecret(解密流程凭证,建议存于密钥管理服务)(请参考skill目录中的脚本文件) CLI 与 docker 命令)input_params参数与output_format配置实现,支持创建/查询/修改/删除等操作模式,通过config_options进行运行时配置.用input_params参数进行配置.
处理: 解析核心功能执行的输入参数,完成核心逻辑,返回格式化结果. 输出: 返回核心功能执行的响应数据,附带状态标识与运行日志.
input_params参数指定操作类型(创建/查询/导出)用config_options参数进行配置.
处理: 解析参数配置与调用的输入参数,完成核心逻辑,返回格式化结果. 输出: 返回参数配置与调用的响应数据,附带状态标识与运行日志.
config_options参数,支持修改/重置/导入操作用output_format参数进行配置.
处理: 解析结果处理与输出的输入参数,完成核心逻辑,返回格式化结果. 输出: 返回结果处理与输出的响应数据,附带状态标识与运行日志.
output_format参数,支持导出/保存/转换操作
能力覆盖范围:能力范围包括以下关键词:无版本管理、部署易翻车、多实例难管痛点、带回滚与安全加固、的流程运维、Use、when、需要系统监控、日志分析、运维告警、部署管理时使用、不适用于物理硬件等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持.用户:把新的"回家模式"流程部署到生产
执行:
2. staging 验证 10 分钟无报错
4. 报告:部署成功,版本 v20260718-1,回滚命令 nr rollback home-mode --last
A: 参考差异化对比章节,本技能在自动化程度、错误处理和安全合规方面有针对性优化。
A: 基础功能免费。高级能力(标注付费版专享)需要订阅,详见付费版专享能力表格。
A: 检查输入是否有效,确认参数值不为空字符串。参考边界条件章节了解输入要求。
A: 在Agent平台对话中描述遇到的问题,附上错误信息和输入参数,便于快速定位。
A: 减少输入数据量,缩短prompt长度。网络延迟较大时检查API端点区域,选择就近节点.
{
"success": true,
"data": {
"result": "流程编辑专家处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "flow editor pro"
}
},
"execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
"error": null
}
| 操作场景 | 手动耗时 | 自动化耗时 | 效率提升 |
|---|---|---|---|
| 文件解析与提取 | 5-10分钟/个 | <5秒/个 | 60-120x |
| 批量文件处理(100个) | 8-16小时 | <5分钟 | 96-192x |
| API调用与响应解析 | 2-3分钟/次 | <1秒/次 | 120-180x |
| 多接口数据聚合 | 15-30分钟 | <10秒 | 90-180x |
| 命令执行与结果收集 | 3-5分钟/次 | <2秒/次 | 90-150x |
| 重复任务批量执行 | 因任务而异 | 线性缩减 | 5-50x |
| 错误排查与修复 | 10-30分钟 | <30秒 | 20-60x |
| 对比维度 | 流程编辑专家 | 传统手动方式 | 通用脚本工具 |
|---|---|---|---|
| 自动化程度 | 全流程自动 | 完全手动 | 部分自动 |
| 错误处理 | 内置错误恢复 | 依赖人工经验 | 基本try-catch |
| 可复用性 | 参数化配置 | 一次性脚本 | 模板化 |
| 安全合规 | 内置安全检查 | 无安全保障 | 无安全保障 |
| 适用场景 | 解决Node-RED无版本管理、部署易翻车、多实例难管痛点,带回滚与安全加固的流 | 通用场景 | 通用场景 |
A1: 解决Node-RED无版本管理、部署易翻车、多实例难管痛点,带回滚与安全加固的流程运维。通过 Admin API 或 CLI 管理 Node-RED。支持文本指令和结构化参数输入,具体格式参考使用流程章节。
A2: 是的,部分功能需要配置对应平台的API Key。请在依赖说明章节查看具体要求,并通过环境变量安全配置。
A3: 检查命令参数是否正确,确认运行环境支持exec能力。如遇权限问题,请参照错误处理章节排查。