Skip to content

n0tssss/NutRPA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NutRPA

version license manifest v3

新一代浏览器自动化插件,可视化拖拽搭建流程,无需编码

NutRPA 是一款基于 Chrome 扩展的 RPA(机器人流程自动化)工具,让你通过简单的拖拽操作,即可创建强大的浏览器自动化流程。

特性

  • 可视化流程设计 - 拖拽式操作,所见即所得
  • 智能元素定位 - 支持 CSS 选择器、XPath、锚点定位等多种方式
  • 丰富的操作类型 - 点击、输入、获取数据、条件判断、循环等 30+ 种操作
  • 变量与表达式 - 支持变量存储和 {{变量名}} 模板语法
  • 流程调试 - 实时运行日志,快速定位问题
  • 本地存储 - 流程数据存储在浏览器本地,隐私安全

安装

开发者模式安装

  1. 克隆仓库
git clone https://github.com/N0tsLabs/NutRPA.git
cd NutRPA
  1. 安装依赖并构建
npm install
npm run build
  1. 在 Chrome 中加载扩展
    • 打开 chrome://extensions/
    • 开启「开发者模式」
    • 点击「加载已解压的扩展程序」
    • 选择项目中的 dist 目录

使用方法

创建流程

  1. 点击扩展图标,打开管理面板
  2. 创建新流程或选择已有流程
  3. 点击「在当前页编辑」进入编辑模式

编辑流程

在编辑器中,你可以:

  • 添加步骤 - 从左侧工具栏拖拽操作到流程区域
  • 选取元素 - 按住 Shift 点击页面元素进行选取
  • 配置操作 - 双击步骤卡片打开配置面板
  • 运行流程 - 点击运行按钮执行流程

元素定位

NutRPA 提供强大的元素定位能力:

  • CSS 选择器 - 标准 CSS 选择器语法
  • XPath - 支持复杂的 XPath 表达式
  • 锚点定位 - 通过文本锚点相对定位,适应动态页面
  • 元素链 - 可视化编辑 DOM 路径

支持的操作

鼠标操作

操作 说明
点击 单击元素
双击 双击元素
右键 右键点击元素
悬停 鼠标悬停在元素上
拖拽 将元素拖拽到目标位置

键盘操作

操作 说明
输入文本 在输入框中输入内容
清空输入 清空输入框
按键 模拟按下指定按键
快捷键 模拟组合快捷键

数据获取

操作 说明
获取文本 获取元素的文本内容
获取属性 获取元素的指定属性值
获取输入值 获取输入框的值
获取 HTML 获取元素的 HTML 内容

页面操作

操作 说明
打开网页 打开指定 URL
刷新页面 刷新当前页面
后退/前进 浏览器历史导航
切换标签页 切换到指定标签页
关闭标签页 关闭当前标签页
滚动页面 滚动到指定位置
滚动到元素 滚动使元素可见

流程控制

操作 说明
等待时间 等待指定时间
等待元素 等待元素出现/消失
条件判断 根据条件执行不同分支
循环 重复执行步骤
设置变量 设置变量值
执行 JS 执行自定义 JavaScript
结束流程 提前结束流程

剪贴板

操作 说明
读取剪贴板 获取剪贴板内容
写入剪贴板 复制内容到剪贴板

技术栈

  • 前端框架: Vue 3 + Composition API
  • 构建工具: Vite
  • 类型系统: TypeScript
  • 样式: Tailwind CSS
  • 扩展架构: Chrome Extension Manifest V3

项目结构

src/
├── background/          # Service Worker
│   └── background.ts
├── content/             # 内容脚本
│   ├── content.ts       # 入口
│   ├── content.css      # 样式
│   ├── Editor.vue       # 流程编辑器
│   └── ElementEditor.vue # 元素编辑器
├── dashboard/           # 管理面板
│   ├── App.vue
│   └── main.ts
└── shared/              # 共享模块
    ├── types.ts         # 类型定义
    ├── selector.ts      # 选择器逻辑
    └── id.ts            # ID 生成

开发

# 开发模式(监听文件变化)
npm run dev

# 生产构建
npm run build

功能完成度

核心系统 ✅

功能 状态 说明
流程引擎 完整的流程执行引擎
可视化编辑器 拖拽式流程设计
元素库管理 元素保存、复用、编辑
变量系统 字符串/数字/数组/对象类型
表达式解析 {{变量名}} 模板语法
数据表格 内置表格管理,支持采集数据
运行日志 实时日志、执行耗时统计
错误处理 继续/停止/重试策略
跨页面执行 页面跳转后继续执行
备份恢复 JSON 导入导出

元素定位 ✅

功能 状态 说明
CSS 选择器 标准 CSS 选择器
XPath 复杂 XPath 表达式
锚点定位 通过文本锚点相对定位
元素链编辑 可视化编辑 DOM 路径
属性匹配 等于/包含/开头/结尾/正则
实时高亮 编辑时实时预览匹配元素
iframe 支持 跨 iframe 操作元素

操作类型 (30+)

鼠标操作 ✅

操作 状态 说明
点击 单击元素
双击 双击元素
右键 右键点击
悬停 鼠标悬停
拖拽 拖拽到目标位置

键盘操作 ✅

操作 状态 说明
输入文本 支持追加模式
清空输入 清空输入框
按键 模拟按键
快捷键 Ctrl+Alt+Shift+Meta 组合

数据提取 ✅

操作 状态 说明
获取文本 获取元素文本
获取属性 获取指定属性值
获取输入值 获取输入框的值
获取 HTML 获取元素 HTML

页面操作 ✅

操作 状态 说明
打开网页 支持新标签页
刷新页面 刷新当前页面
后退/前进 浏览器历史导航
切换标签页 切换到指定 Tab
关闭标签页 关闭当前 Tab
滚动页面 支持 X/Y 方向
滚动到元素 滚动使元素可见
弹窗处理 alert/confirm 处理

等待控制 ✅

操作 状态 说明
等待时间 等待指定秒数
等待加载 等待页面加载完成
等待出现 等待元素出现
等待消失 等待元素消失

逻辑控制 ✅

操作 状态 说明
条件判断 表达式/元素存在/变量比较
循环 固定次数/条件/遍历数组
跳出循环 break
继续循环 continue
设置变量 支持数组/对象操作
结束流程 提前结束

表格操作 ✅

操作 状态 说明
添加行 向表格添加数据
读取单元格 读取指定单元格
写入单元格 写入指定单元格
读取行 读取整行数据
删除行 删除指定行
获取行数 获取表格行数

高级操作

操作 状态 说明
执行 JS 执行自定义 JavaScript
读剪贴板 获取剪贴板内容
写剪贴板 复制内容到剪贴板
截图 截取当前页面/元素

编辑器体验

功能 状态 说明
拖拽添加步骤 从操作栏拖入流程
拖拽排序 拖拽调整步骤顺序
多选操作 Ctrl/Shift 多选
复制粘贴 Ctrl+C/V 复制粘贴步骤
右键菜单 步骤右键操作菜单
步骤禁用 禁用/启用步骤
步骤备注 添加步骤注释
状态提示 未配置/运行中/错误高亮
弹窗拖动 编辑弹窗可拖动
撤销/重做 编辑操作撤销重做

路线图

🎯 P0 - 杀手级功能

功能 状态 说明
🎬 录制模式 自动记录用户操作生成流程,极大降低使用门槛
🌐 iframe 支持 支持跨 iframe 操作元素
📸 截图功能 截取页面/元素截图

🔧 P1 - 调试体验

功能 状态 说明
单步调试 断点暂停、逐步执行
从当前步骤开始 不用每次从头执行
撤销/重做 编辑时的撤销重做
执行速度控制 调整执行速度

🔌 P2 - 集成能力

功能 状态 说明
MCP 协议支持 作为 MCP Server,AI 助手直接调用流程
HTTP API RESTful API,外部系统调用
WebSocket 实时双向通信,流程状态推送
Webhook 执行完成后回调通知

💡 MCP 和 API 功能将通过配套的本地服务实现(基于 Native Messaging),安装扩展后一键启动即可使用。

🏪 P3 - 生态建设

功能 状态 说明
流程市场 用户分享/下载流程(类似油猴脚本市场)
一键安装 nutrpa://install/xxx 协议安装流程
云端同步 跨设备流程同步(可用 GitHub Gist)
流程模板 预置常用流程模板

⚡ P4 - 触发方式

功能 状态 说明
手动触发 点击运行按钮
快捷键触发 全局快捷键启动流程
定时触发 Cron 表达式定时执行
URL 匹配触发 打开特定网页自动运行

🚀 P5 - 高级功能

功能 状态 说明
子流程调用 流程复用,模块化设计
Try-Catch 异常捕获处理
多标签页协作 跨 Tab 执行流程
流程版本管理 历史版本回溯
无头模式 后台静默执行
多浏览器支持 Firefox / Edge 适配

📊 P6 - 数据处理

功能 状态 说明
表格数据 内置表格管理
导出 CSV 表格导出 CSV
智能表格提取 自动识别页面表格
列表数据遍历 自动遍历列表元素
数据清洗 正则表达式处理
导出 Excel 表格导出 Excel

🤖 P7 - AI 能力

功能 状态 说明
AI 辅助编辑 描述需求,AI 生成流程
智能元素识别 AI 识别相似元素
自然语言指令 用自然语言控制流程

开发进度

总体完成度: ████████████████░░░░ 80%

核心功能:   ████████████████████ 100%
操作类型:   ██████████████████░░ 95%
编辑体验:   ████████████████░░░░ 85%
调试功能:   ████████░░░░░░░░░░░░ 40%
集成能力:   ░░░░░░░░░░░░░░░░░░░░ 0%
生态建设:   ░░░░░░░░░░░░░░░░░░░░ 0%

贡献

欢迎提交 Issue 和 Pull Request!

许可证

MIT License


Made with ❤️ by N0tsLabs

About

新一代浏览器自动化插件,可视化拖拽搭建流程,无需编码

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors