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/frameworkHubFrameworkHub 目录结构非常精简,核心文件一览:
| 文件 | 作用 |
|---|---|
| src/index.js | Express 服务主入口,注册全部 API 路由 |
| src/database.js | SQLite 数据库初始化(sql.js 实现,零数据库依赖) |
| ecosystem.config.cjs | PM2 进程守护配置 |
| 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),仅供参考