news 2026/10/11 22:41:54

WebRPA FrameworkHub私有化部署教程:Node.js + PM2 5分钟搭建专属工作流市场

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
WebRPA FrameworkHub私有化部署教程:Node.js + PM2 5分钟搭建专属工作流市场

WebRPA FrameworkHub私有化部署教程:Node.js + PM2 5分钟搭建专属工作流市场

【免费下载链接】WebRPAA powerful no-code automation tool. Build workflows via drag-and-drop modules for web scraping, form filling and automated testing. | 一款功能强大的自动化工具,通过拖拽模块的方式快速构建自动化工作流,无需编写任何代码即可实现网页数据采集、表单填写、自动化测试等任务。【QQ交流群:115069513】项目地址: https://gitcode.com/gh_mirrors/we/WebRPA

WebRPA 是一款拖拽式无代码自动化工作流工具,其配套的 FrameworkHub 模块可以把工作流仓库服务完整私有化部署:基于 Node.js + Express 构建,用 PM2 守护进程管理,几分钟就能在公司内网搭建一个专属的工作流市场,支持发布、下载、搜索和分享自己创建的 WebRPA 自动化工作流。本教程带你从零完成整个私有化部署流程。

为什么需要私有化部署 FrameworkHub 工作流市场

FrameworkHub 是 WebRPA 的工作流仓库后端服务(源码位于 frameworkHub/),为团队提供以下能力:

  • 📤发布工作流:把拖拽编排好的工作流一键分享到市场
  • 📥下载工作流:浏览、搜索、下载团队成员分享的自动化流程
  • 🏷️分类与标签:预设分类 + 自定义标签,方便检索
  • 💬社区互动:工作流评论、留言板块、自定义模块与插件分享
  • 🤝远程协作:通过 WebSocket 信令支持多人远程协作编辑
  • 🛡️内置安全防护:速率限制、XSS 过滤、敏感信息脱敏、内容哈希去重

私有化部署后,所有数据保存在服务端的 SQLite 数据库文件 data/workflows.db 中(路径为frameworkHub/data/workflows.db),工作流内容不出内网,非常适合企业敏感场景。

环境准备:Node.js 18+ 与代码获取

FrameworkHub 要求Node.js >= 18.0.0(见 package.json 中的engines声明)。请先确认:

node -v # 应输出 v18 或更高版本

获取项目代码:

git clone https://gitcode.com/gh_mirrors/we/WebRPA cd WebRPA/frameworkHub

FrameworkHub 目录结构非常精简,核心文件一览:

文件作用
src/index.jsExpress 服务主入口,注册全部 API 路由
src/database.jsSQLite 数据库初始化(sql.js 实现,零数据库依赖)
ecosystem.config.cjsPM2 进程守护配置
frameworkHub/README.md完整部署与 API 文档

第一步:安装依赖并快速启动

cd frameworkHub npm install npm start

看到如下横幅即表示服务启动成功(默认监听0.0.0.0:3000):

🚀 WebRPA 工作流仓库服务已启动 地址: http://0.0.0.0:3000 健康检查: http://0.0.0.0:3000/health

验证部署是否成功:访问健康检查接口:

curl http://localhost:3000/health # 期望返回: {"status":"ok","timestamp":"..."}

另外也可以直接访问http://localhost:3000/api/workflows查看工作流列表接口。

💡 开发调试时可使用npm run dev,基于node --watch实现文件变更自动重启。

第二步:PM2 部署 Node.js 服务并设置开机自启

npm start直接前台运行,终端关闭服务就停了。生产环境推荐使用PM2 进程守护:

# 1. 全局安装 PM2 npm install -g pm2 # 2. 用 PM2 启动服务(内置脚本) npm run pm2 # 3. 日常运维命令 pm2 list # 查看进程状态 npm run pm2:logs # 查看运行日志 npm run pm2:restart # 重启服务 npm run pm2:stop # 停止服务 # 4. 设置开机自启 pm2 startup pm2 save

项目已附带完善的 PM2 配置文件 ecosystem.config.cjs,主要策略包括:

  • autorestart: true:进程崩溃自动拉起
  • max_memory_restart: '500M':内存超限自动重启,防止内存泄漏拖垮服务器
  • exp_backoff_restart_delay:指数退避重启,避免高频重启风暴
  • 日志统一输出到logs/error.log与logs/out.log,带时间戳格式

生产环境建议显式指定环境变量:

变量说明默认值
PORT服务端口3000
NODE_ENV运行环境development

也可以在 WebRPAConfig.json 中增加frameworkHub节点(host/port),服务端启动时会优先读取该配置,见 index.js 的 loadConfig 逻辑。

第三步:把 WebRPA 编辑器指向你的工作流市场

服务起来后,还需要让 WebRPA 客户端连接它。编辑器内置的"工作流仓库"对话框(WorkflowHubDialog.tsx)支持修改仓库地址,保存后写入浏览器的workflow_hub_url配置项。

操作路径:打开 WebRPA 编辑器 → 工作流仓库 → 设置 → 填写你的私有 Hub 地址(如http://你的服务器IP:3000)→ 保存。

之后工作流列表加载、分类获取、下载、发布,以及 AI 助手的工作流技能(aiAssistantSkills.ts)和远程协作信令(remote.ts)都会自动走你自建的私有市场。

可选加固:Nginx 反向代理

如需通过域名 + HTTPS 提供服务,可参考 frameworkHub/README.md 中的 Nginx 配置示例,将 80/443 端口反代到本机 3000 端口,并透传 WebSocket 升级头(Upgrade/Connection),保证远程协作功能正常。

FrameworkHub 内置安全机制一览

私有部署不等于裸奔,服务在 index.js 中默认启用了多重防护:

机制说明
全局速率限制每 IP 每 15 分钟最多 100 次请求,防恶意刷量
XSS 防护基于xss库过滤恶意脚本
敏感信息脱敏自动隐藏工作流中的 API Key、密码等
内容哈希去重同一工作流内容重复发布会被识别拦截
IP 与 UA 记录追踪异常行为,便于审计
helmet 安全头加固 HTTP 响应头

常见问题排查

Q1:端口 3000 被占用?通过环境变量PORT=3100 npm start或修改WebRPAConfig.json中的frameworkHub.port换端口,注意客户端填写的 Hub 地址端口要同步修改。

Q2:外网/局域网其他机器无法访问?服务默认监听0.0.0.0,通常是防火墙未放行端口;若挂了反向代理,服务端已设置trust proxy以正确识别客户端 IP。

Q3:如何备份市场数据?所有数据都在frameworkHub/data/workflows.db单文件中,直接复制该文件即可完成备份,服务每 30 秒自动落盘一次。

Q4:如何查看完整 API 文档?参考 frameworkHub/README.md,涵盖工作流列表、详情、下载、发布、举报等全部接口。

总结

整个私有化部署流程可以浓缩为:安装 Node.js 18+ → git clone 获取代码 → npm install 安装依赖 → PM2 守护启动 → 编辑器填写 Hub 地址,五步即可完成。相比依赖公共仓库,自建 WebRPA 工作流市场让团队的自动化资产完全掌握在自己手中——数据本地化、访问可控、还能叠加 Nginx 与内网域名的企业级加固,是团队规模化使用 WebRPA 拖拽自动化平台的重要一步。

更多部署细节可查阅 frameworkHub/README.md,项目整体说明见 README.md。

【免费下载链接】WebRPAA powerful no-code automation tool. Build workflows via drag-and-drop modules for web scraping, form filling and automated testing. | 一款功能强大的自动化工具,通过拖拽模块的方式快速构建自动化工作流,无需编写任何代码即可实现网页数据采集、表单填写、自动化测试等任务。【QQ交流群:115069513】项目地址: https://gitcode.com/gh_mirrors/we/WebRPA

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/11 22:40:40

微表情识别实战:基于CASME2与注意力机制的完整方案

简介:使用CASME2微表情数据集训练而来的识别系统,提供完整Python源码与详细文档说明,支持接入摄像头进行实时检测,也可对静态图片及视频文件完成微表情识别。资源面向需要完成毕业设计、期末大作业或课程设计的计算机专业学生&…

作者头像 李华
网站建设 2026/10/11 22:39:08

【全域智能营销实战】3、OpenClaw 架构源码深度解析:Gateway、Agent、Skill、Memory 四大模块完全拆解与 TaoToken 统一接入实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/11 22:38:46

Android自定义上下滚动控件:从测量到回弹的完整实现

简介:Android自定义上下滚动控件项目资源,面向需要实现类似密码盘数字滚动效果的开发者,适用于自定义输入界面、动态数据展示等场景,可作为自定义View学习与改造的参考。资源从基础类创建、onDraw绘制、触摸事件处理、ValueAnimat…

作者头像 李华
网站建设 2026/10/11 22:38:41

SQL Server中索引查找退化为索引扫描的原因与排查指南

简介:SQL Server 执行计划中,索引查找(Index Seek)为何会退化为索引扫描(Index Scan)?这份文档以排查思路为主线,面向 SQL Server 开发与运维人员,梳理了导致该问题的 10…

作者头像 李华
网站建设 2026/10/11 22:37:47

手写数字识别毕设工程化:从MNIST到真实场景的完整落地实践

简介:本资源是一套面向本科毕业设计、课程设计及期末大作业的高分Python手写数字识别完整项目,适用于人工智能入门学习者与计算机相关专业学生,解决从模型构建、训练到部署演示的全流程实践需求。压缩包共28个文件,约29.22MB&…

作者头像 李华
网站建设 2026/10/11 22:36:05

P1348公交网建设:最小生成树Prim与Kruskal算法深度解析

1. 题目拆解:公交网建设到底在考什么P1348这道题,乍一看是城市公交网建设,好像是个规划问题,但剥开外壳就是一道非常典型的**最小生成树(MST)**问题。这类题目在信息学奥赛里属于"模板题中的变式"…

作者头像 李华