astron-rpa:基于多技术栈的企业级机器人流程自动化(RPA)桌面应用项目

Enterprise-grade desktop RPA client with a pluggable library of atomic capabilities, policy‑friendly packaging, and CI/CD‑friendly CLI. Integrates with leading Agent platforms and LLMs for end‑to‑end desktop/web automation. 这是一个镜像仓库,有issue、pr欢迎去github提交。

分支9Tags5
文件最后提交记录最后更新时间
chore: add GitHub-reward form, scripts & actions (#735) * chore: add GitHub-reward form, scripts & actions Signed-off-by: South Drifter <shiy2008@gmail.com> * fix: Date & Tag ranges in GitHub-reward scripts Signed-off-by: South Drifter <shiy2008@gmail.com> --------- Signed-off-by: South Drifter <shiy2008@gmail.com>1 个月前
fix: remove key (#768)1 个月前
refactor: update inner ip to local 127.0.0.1 (#650)2 个月前
docs: enhance README files and write new FAQ documents (#190) * docs: enhance README files and write new FAQ documents - Added links to the official site, deployment guide, user documentation, and FAQ in both English and Chinese README files for improved accessibility. - Included a section for the WeChat Work Group with an image in both README files to facilitate community engagement. Signed-off-by: doctorbruce <benyouyou2000@hotmail.com> * docs: update FAQ and README links to reflect new repository ownership - Removed outdated client build instructions from the FAQ. - Updated links in the FAQ and README files to point to the new repository under iflytek, ensuring accurate navigation for users. Signed-off-by: doctorbruce <benyouyou2000@hotmail.com> --------- Signed-off-by: doctorbruce <benyouyou2000@hotmail.com>5 个月前
fix(installer): extract Python core to user directory and update configs (#706) - Extract python_core.7z to APPDATA during installation - Clean up existing python_core before extraction - Update scheduler default config to conf.yaml - Bump version to 1.1.81 个月前
fix(installer): extract Python core to user directory and update configs (#706) - Extract python_core.7z to APPDATA during installation - Clean up existing python_core before extraction - Update scheduler default config to conf.yaml - Bump version to 1.1.81 个月前
feat: Implement Astron Agent management and enhance API authentication (#384) * feat: Introduce Astron Agent functionality and enhance API key management - Added new endpoints for managing Astron Agents, including creation, retrieval, updating, and deletion. - Implemented verification for Bearer tokens in API requests. - Refactored existing API key service to accommodate Astron Agent operations. - Updated database schema to support Astron Agent authentication storage. - Enhanced user service to retrieve user information based on phone number for API key generation. - Improved error handling and logging across various services and routers. Signed-off-by: doctorbruce <benyouyou2000@hotmail.com> * refactor: Clean up imports and improve code formatting across multiple files - Rearranged and organized import statements for better readability. - Removed unnecessary comments and improved code formatting for consistency. - Updated function signatures to enhance type hints and clarity. - Ensured consistent use of commas in dictionary and list definitions. - Cleaned up whitespace and ensured proper newline usage at the end of files. Signed-off-by: doctorbruce <benyouyou2000@hotmail.com>4 个月前
refactor: update inner ip to local 127.0.0.1 (#650)2 个月前
feat(1.1.6): enhance engine debugging, integrate credential management and improve browser smart pick (#564) * feat(engine): Add credential management support to the engine; move advanced atomic capability params into generated code. (#492) * fix(engine): Replace print with logging in CV picking; increase thresholds for anchor and image uniqueness, and apply region merging to reduce similarity count checks. (#498) * fix(engine): Replace print with logging in CV picking; increase thresholds for anchor and image uniqueness, and apply region merging to reduce similarity count checks. * fix(engine): Fix incorrect formatting in some logger output. * feat(engine): Add keyring dependency and enhance error handling in script execution (#501) - Added 'keyring' as a dependency in multiple components and the executor. - Improved error handling in script execution by raising SyntaxError explicitly. - Enhanced parameter evaluation in the script and smart components to handle empty values gracefully. - Updated flow service to load package information from package.json for better version management. - Refactored error handling in the executor to provide more detailed syntax error notifications. * feat(engine): Update dependencies and enhance terminal functionality (#503) - Added 'keyring' and 'openpyxl' as dependencies in the project. - Updated 'astronverse-browser-plugin' and 'astronverse-websocket-server' versions to 1.0.5 and 1.0.7 respectively. - Introduced 'start_watch' parameter in terminal start and end handlers to manage terminal monitoring. - Refactored route handling for improved readability and organization. - Enhanced VNC server logic to conditionally run based on terminal mode and monitoring status. * feat(engine): Add websockify dependency and clean up VNC server logic (#505) - Added 'websockify' as a new dependency in the project. - Removed unnecessary checks in the VNCServer class to streamline the server startup process. * feat(setting): add voucher management feature with modal and table - Add new voucher management section to settings center with form modal - Include internationalization support for English and Chinese - Refactor API call to use async/await pattern - Update table component to use proper TypeScript types * feat(voucher): add credential management with API integration - Add engine API functions for credential CRUD operations - Implement voucher management UI with table and modal components - Add validation for duplicate credential names - Fix TypeScript type definitions for table props - Update component imports and fix CSS class names * feat(Arrange): extract AtomSelect component for credential support Refactor select form type into separate AtomSelect component to handle credential filtering. The new component fetches credential list when specified in form parameters, improving code organization and maintainability. * fix(api): correct HTTP method and response handling for credential endpoints - Change credential list endpoint from POST to GET for proper REST semantics - Fix credential existence check to properly access nested 'exists' property * fix(engine): Fix an issue where projectInfo was empty when creating a new project. (#508) * feat(browser): implement comprehensive browser control and utilities (#509) * docs: change path * feat(browser): implement comprehensive browser control and utilities - Introduced a new browser module with classes for managing browser instances, elements, and scripts. - Added enums for browser types, timeout handling, and element interaction. - Implemented methods for opening browsers, waiting for elements, and executing JavaScript. - Enhanced error handling for browser operations and added utility functions for file downloads and uploads. - Included support for various browser types and their specific behaviors. * refactor(browser): remove deprecated browser modules and classes * fix(browser): improve error handling and retry logic in browser communication - Adjusted exception handling to include a retry delay when an error occurs during browser communication. - Moved the sleep call to ensure consistent retry behavior while waiting for browser extension responses. * style: engine * fix(browser): update element locator to include current target app type (#510) - Modified the element locator call in BrowserElement to pass the current target application type. - Updated import statements in BrowserSoftware to reflect the correct module path for BrowserElement. - Enhanced error logging in the executor start process for better debugging. * feat(setting): add voucher management feature with modal and table (#511) - Add new voucher management section to settings center with form modal - Include internationalization support for English and Chinese - Refactor API call to use async/await pattern - Update table component to use proper TypeScript types feat(voucher): add credential management with API integration - Add engine API functions for credential CRUD operations - Implement voucher management UI with table and modal components - Add validation for duplicate credential names - Fix TypeScript type definitions for table props - Update component imports and fix CSS class names feat(Arrange): extract AtomSelect component for credential support Refactor select form type into separate AtomSelect component to handle credential filtering. The new component fetches credential list when specified in form parameters, improving code organization and maintainability. fix(api): correct HTTP method and response handling for credential endpoints - Change credential list endpoint from POST to GET for proper REST semantics - Fix credential existence check to properly access nested 'exists' property chore: update icon CDN version and adjust credential dropdown mapping - Update IconPark CDN URL to version 520 across environment and config files - Change voucher menu icon from 'api-key' to 'approval' - Fix credential dropdown options to use item.name property instead of string mapping Signed-off-by: Kebai <bijinfeng1016@gmail.com> * Feat:add iframe new locator , add content sendmessage to keep sw alive,update plugins (#512) * feat: iframe new locator * feat: new frame locator logical * feat: iframe locator complete * fix: fix currentFrameInfo * fix: matchTypes * feat: add content sendmessage to keep sw alive * fix: update attributes and version * fix: code format * feat: update plugins * fix: add shrink-0 class to app_control div for layout consistency (#513) * fix: add shrink-0 class to app_control div for layout consistency Signed-off-by: chunhuitang <chunhui.tang.cn@gmail.com> * fix: enhance handling of empty contenteditable states in generateHtmlVal function Signed-off-by: chunhuitang <chunhui.tang.cn@gmail.com> * fix: correct typo in table column property from 'ellipse' to 'ellipsis' in RobotConfigTaskModal component Signed-off-by: chunhuitang <chunhui.tang.cn@gmail.com> * fix: enhance generateHtmlVal and syncCurrentAtomData functions to handle atomId for improved data synchronization - Improved handleInput function to maintain the current activeAtom.id, preventing incorrect updates during input events. Signed-off-by: chunhuitang <chunhui.tang.cn@gmail.com> * fix the issue where closing the operation pop-up window for the intelligent component prevents the process from being terminated Signed-off-by: chunhuitang <chunhui.tang.cn@gmail.com> --------- Signed-off-by: chunhuitang <chunhui.tang.cn@gmail.com> * fix: Fix missing white background on Smart Pick button. (#515) * feat(ai-service): refactor ai component service and add preset prompt feature * refactor(browser): enhance browser element locator and control handling (#516) * refactor(browser): enhance browser element locator and control handling - Updated BROWSER_UIA_POINT_CLASS to include both class names and automation IDs for various browsers. - Refactored get_browser_point method to utilize the new configuration for improved element matching. - Enhanced window locator logic to support multiple browser types and their specific attributes. - Removed deprecated WEB_CLASS_NAMES references in favor of the new structured approach. - Improved error handling and control retrieval in UIAOperate for better reliability. * style: engine * feat: Refactor Auth components and layout for improved responsiveness; update startSchedulingMode and add enterprise invite (#518) * feat: Refactor Auth components and layout for improved responsiveness and styling - Updated BackButton.vue to align text left for better readability. - Enhanced FormLayout.vue with responsive design adjustments and added flex properties. - Modified InviteHeader.vue to improve text size and layout for different screen sizes. - Introduced new PageLayout components (Index.vue, PageHeader.vue, StarCanvas.vue) for better structure and visual appeal. - Adjusted StatusCard.vue for responsive design and improved icon positioning. - Updated Invite component to utilize new InviteHeader and adjusted layout for better mobile support. - Refined useInviteFlow.ts to ensure inviteInfo updates correctly. - Enhanced Login component with responsive styles and fixed positioning. - Updated imports in Auth index and page components to reflect new PageLayout structure. - Adjusted loginRegister.tsx for consistent button styling across forms. - Updated configuration in conf.yaml for new remote address and authentication type. Signed-off-by: kuangruike <1130305549@qq.com> * feat: add invite user info and mobile invite components; enhance form handling and disable state logic Signed-off-by: kuangruike <1130305549@qq.com> * feat: update BackButton and TenantItem styles, enhance Loading component text, and improve UserInfo modal confirmation Signed-off-by: kuangruike <1130305549@qq.com> * feat: Refactor code structure and remove redundant sections for improved readability and maintainability Signed-off-by: kuangruike <1130305549@qq.com> * feat: update startSchedulingMode to accept parameters and modify UserInfo component to pass start_watch flag Signed-off-by: kuangruike <1130305549@qq.com> * feat: update PageHeader to use dynamic icon source and improve Invite component status messages Signed-off-by: kuangruike <1130305549@qq.com> --------- Signed-off-by: kuangruike <1130305549@qq.com> * Feat: client add plugin update notification, fix databatch bugs (#519) * fix: fix table element changed, get table data logical, fix table_filter table_json_merge_values (#517) * fix: fix databatch save table type element bug * fix: table filter table_json_merge_values * fix: fix data_json values * fix: sync code * fix: eslint fix code * fix: fix browser plugin install and check * fix: review fix * fix: client add plugin update notification * fix: Immediately update the installation button status, as the status verification process introduces a delay. * feat: update terminal start endpoint to use request model for improved parameter handling (#522) * feat: update modal messages to clarify application limits for personal and professional versions (#524) * fix: error log (#525) * refactor: streamline element checking and browser extension communication in BrowserElement and BrowserSoftware classes (#527) * refactor: streamline element checking and browser extension communication in BrowserElement and BrowserSoftware classes * fix: add error log * fix: open error log * fix(engine): Disable clicking after smart component picking; only zoom and confirm/cancel are allowed. (#530) * feat: add get_browser_instance function to retrieve the default browser instance (#532) * fix(engine): Highlight the signed EXE file and convert the clicked element parameters to numeric types. (#536) * fix(engine): Highlight the signed EXE file and convert the clicked element parameters to numeric types. * fix(engine): Update parameter constraints. * refactor: update Browser class parameter validation and enhance Script class for dynamic process and module handling * feat: add handling for RecursionError in error reporting to improve user feedback * feat: enhance debugging capabilities by adding nearest caller detection and log position retrieval * fix: update error handling in debug service to use correct error message format and enhance process metadata management * feat: add main process start line tracking to enhance debugging accuracy * fix(engine): Align custom component parameter interfaces * feat: add error handling and module import error codes to enhance robustness in smart component (#541) * feat: introduce new error handling module and refactor web browser functionality for improved URL handling * style: engine * fix: add main process start line retrieval for enhanced debugging (#542) * fix: disable drag functionality on drawer area to ensure close button is clickable (#543) * fix: add is_custom_component parameter to StartExecutorParams and update useRunningStore to handle it Signed-off-by: chunhuitang <chunhui.tang.cn@gmail.com> * style: update editor styles in RenderFormType and TextareaModal components for improved scrolling and whitespace handling Signed-off-by: chunhuitang <chunhui.tang.cn@gmail.com> * fix: disable drag functionality on drawer area to ensure close button is clickable; update versionInfoList check for null safety in VersionRecord component Signed-off-by: chunhuitang <chunhui.tang.cn@gmail.com> --------- Signed-off-by: chunhuitang <chunhui.tang.cn@gmail.com> * feat: implement HTTP request handling and caching for remote variables in the enterprise module (#545) * Add http function for making GET and POST requests with error handling. * Introduce caching for remote variable keys and values to optimize performance. * Update get_shared_variable function to utilize new remote variable retrieval methods. * Enhance error messages for server responses in the error module. * fix(engine): Fix exception caused by missing key in the browser atomic capability dictionary. (#546) * fix(engine): Fix web_control judgment logic error. (#550) * fix: improve context menu positioning logic to ensure it remains within viewport boundaries during display (#551) * fix: change key references from 'name' to 'id' in ElementsTree component for improved data handling Signed-off-by: chunhuitang <chunhui.tang.cn@gmail.com> * fix: improve context menu positioning logic to ensure it remains within viewport boundaries during display Signed-off-by: chunhuitang <chunhui.tang.cn@gmail.com> --------- Signed-off-by: chunhuitang <chunhui.tang.cn@gmail.com> * fix(engine): Enhance error handling for file download process in the enterprise module (#552) * Update response status check to raise errors for non-200 status codes. * Add handling for JSON error responses to provide clearer feedback. * Ensure proper exception handling during download operations. * fix: update whitespace handling in RenderFormType and TextareaModal components for improved text formatting Signed-off-by: chunhuitang <chunhui.tang.cn@gmail.com> * fix: add is_custom_component parameter to debugParams in useRunningStore for enhanced debugging capabilities Signed-off-by: chunhuitang <chunhui.tang.cn@gmail.com> * refactor(MultiChat): remove hardcoded copyright and improve data handling - Replace static copyright div with flexible flex layout using utility classes - Ensure filePath has fallback empty string to prevent null errors - Extract replyToMain function to avoid code duplication - Streamline SSE request data structure for consistency - Send empty string reply on window close for cleanup * refactor(process): migrate process tree to flat list with improved UI - Replace ant-design tree component with custom flat list for better performance and simpler interaction - Use VueUse utilities (useToggle, useTemplateRefsList) for cleaner state management - Remove duplicate ProcessManage component and consolidate functionality - Update DropdownMenu to use TypeScript props interface - Improve scrolling behavior for active process items - Simplify styling and remove unused CSS * fix: fix 360 install path Signed-off-by: blessleon <blessleon@qq.com> (cherry picked from commit 633b504e15f81c0da5dd52f2cd9ce8da947936c8) * refactor: simplify window closing and cleanup timer logic - Explicitly close log window using constant instead of iterating through all labels - Remove unused import of WINDOW_NAME constant in LogWindow.vue - Simplify timer cleanup with conditional operator * fix: update AtomTree component to adjust padding for smart-component items for better visual consistency Signed-off-by: chunhuitang <chunhui.tang.cn@gmail.com> * fix: remove unnecessary currentAtomId check in handleInput function for improved input handling in RenderFormType component Signed-off-by: chunhuitang <chunhui.tang.cn@gmail.com> * refactor(debug): enhance file mapping and line number handling in CustomBdb - Introduce file_map to track Python files for improved line number mapping. - Update logic in _to_flow_line and _to_py_lines methods to handle missing files gracefully. - Refactor traceback handling to utilize the new file_map for better error tracing. * fix(ui): prevent multiple file dialog openings Add a flag to ensure the file selection dialog can only be opened once at a time, preventing duplicate dialogs from appearing due to rapid user clicks. * fix: update fileId access in AtomRemoteFiles and RenderFormTypeRemoteFiles components for safer data handling Signed-off-by: chunhuitang <chunhui.tang.cn@gmail.com> * fix: handle FileNotFoundError when retrieving browser executable path (#562) * fix: handle FileNotFoundError when retrieving browser executable path in Browser360PluginManager Signed-off-by: blessleon <blessleon@qq.com> * fix: log warning when 360 browser path is not found, using default user data path Signed-off-by: blessleon <blessleon@qq.com> * fix: update Software.open comment to use correct app_arguments variable Signed-off-by: blessleon <blessleon@qq.com> * fix: update comment in Software.open to clarify application path and output Signed-off-by: blessleon <blessleon@qq.com> --------- Signed-off-by: blessleon <blessleon@qq.com> * refactor: enhance process management and command-line argument handling in scheduler - Updated kill_proc_tree function to include an exclude_pids parameter for improved process termination control. - Refactored the main entry point of the scheduler to utilize argparse for better command-line argument parsing, including options for configuration file and service control. - Improved error handling in the VNC server startup process to ensure graceful failure. - Consolidated process killing logic to utilize the updated kill_proc_tree function across the scheduler's setup process. * style: engine --------- Signed-off-by: Kebai <bijinfeng1016@gmail.com> Signed-off-by: chunhuitang <chunhui.tang.cn@gmail.com> Signed-off-by: kuangruike <1130305549@qq.com> Signed-off-by: blessleon <blessleon@qq.com> Co-authored-by: LC-doc <17786445482@163.com> Co-authored-by: Horizon <1820120473@qq.com> Co-authored-by: bijinfeng <2804673379@qq.com> Co-authored-by: Kebai <bijinfeng1016@gmail.com> Co-authored-by: blessleon <51091113+blessleon@users.noreply.github.com> Co-authored-by: chunhuitang <chunhui.tang.cn@gmail.com> Co-authored-by: kuangruike <1130305549@qq.com> Co-authored-by: blessleon <blessleon@qq.com>2 个月前
remove: remove feishubase submodule, end of testing (#285) Signed-off-by: doctorbruce <benyouyou2000@hotmail.com>4 个月前
feat: Add pre-commit hooks for Python code formatting and linting (#84) 7 个月前
fix(docs): update API endpoint references in BUILD_GUIDE and README files - Changed API endpoint from /api/robot/user/login-check to /api/rpa-auth/user/login-check in English and Chinese BUILD_GUIDE documents. - Updated README files to reflect the new API endpoint and added a note about accessing the Casdoor login page. - Minor grammatical improvements in README content for clarity. Signed-off-by: doctorbruce <benyouyou2000@hotmail.com> 3 个月前
fix(docs): update API endpoint references in BUILD_GUIDE and README files - Changed API endpoint from /api/robot/user/login-check to /api/rpa-auth/user/login-check in English and Chinese BUILD_GUIDE documents. - Updated README files to reflect the new API endpoint and added a note about accessing the Casdoor login page. - Minor grammatical improvements in README content for clarity. Signed-off-by: doctorbruce <benyouyou2000@hotmail.com> 3 个月前
docs: update FAQ with latest additions (#718) Co-authored-by: FenjuFu <FenjuFu@users.noreply.github.com>1 个月前
docs: update FAQ with latest additions (#718) Co-authored-by: FenjuFu <FenjuFu@users.noreply.github.com>1 个月前
chore: initial commit 8 个月前
chore: initial commit 8 个月前
chore: initial commit 8 个月前
docs: improve server section title and deployment guide link (#599) Co-authored-by: OpenClaw Bot <bot@openclaw.local>2 个月前
fix(docs): update API endpoint references in BUILD_GUIDE and README files - Changed API endpoint from /api/robot/user/login-check to /api/rpa-auth/user/login-check in English and Chinese BUILD_GUIDE documents. - Updated README files to reflect the new API endpoint and added a note about accessing the Casdoor login page. - Minor grammatical improvements in README content for clarity. Signed-off-by: doctorbruce <benyouyou2000@hotmail.com> 3 个月前
fix(installer): extract Python core to user directory and update configs (#706) - Extract python_core.7z to APPDATA during installation - Clean up existing python_core before extraction - Update scheduler default config to conf.yaml - Bump version to 1.1.81 个月前

AstronRPA

AstronRPA Logo

🤖 首个完整开源的企业级RPA桌面应用

星辰RPA官网 · 部署文档 · 使用文档 · 常见问题

License Version Python GitHub Stars

English | 简体中文

📋 概述

AstronRPA 是一款企业级机器人流程自动化(RPA)桌面应用。通过可视化设计器支持低代码/无代码开发,用户能快速构建工作流,实现桌面软件和浏览器页面的自动化。

Astron Agent 是本项目原生支持的 Agent 平台,用户可在 Astron Agent 中直接调用 RPA 流程节点,也可在 AstronRPA 中使用 Agent 的工作流,实现自动化流程与智能体系统的高效协同,赋能更广泛的业务自动化场景。

🎯 为什么选择 AstronRPA?

  • 🛠️ 全面自动化支持:全面覆盖 Windows 桌面各类软件与浏览器页面的自动化,支持包括 WPS、Office 等常用办公软件,金蝶、用友、SAP 等财务及 ERP 系统,以及 IE、Edge、Chrome 等多种浏览器,实现跨应用的端到端自动化。
  • 🧩 高度组件化:内置 300 余项常用原子能力,覆盖 UI 操作、数据处理、系统交互等常见场景,支持图形化编排与自定义组件扩展,具备高度的灵活性与可维护性。
  • 🏭 企业级安全协同:内置卓越中心、团队市场等企业级模块,提供终端监控,调度模式,机器人团队共享等协作功能。构建完整的企业级自动化管理生态,有效保障流程安全、权限管控与跨团队协作。
  • 👨‍💻 开发体验友好:提供低代码、可视化的流程设计与调试环境,通过直观的拖拉拽方式即可快速构建自动化流程,大幅降低开发门槛,提升搭建效率,赋能业务人员参与自动化创建。
  • 🤖 原生 Agent 赋能:深度集成 Astron Agent 平台,支持自动化流程与 AI 智能体的双向调用与能力融合,实现任务推理、决策判断与自动化执行的无缝衔接,拓展自动化边界。
  • 🌐 多渠道触发集成:支持直接运行、计划任务、调度模式、API 调用及 MCP 服务等多种执行方式,轻松对接各类业务场景。具备灵活的接入能力,可快速响应第三方系统集成需求,轻松嵌入各类复杂业务场景。

🚀 快速开始

系统要求

  • 💻 客户端操作系统:Windows 10/11(主要支持)
  • 🧠 RAM >= 8 GiB

服务端: 使用 Docker

推荐使用 Docker 进行快速部署:

# 克隆项目
git clone https://github.com/iflytek/astron-rpa.git
cd astron-rpa

# 进入 docker 目录
cd docker

# 复制 .env
cp .env.example .env

# 修改 .env 中 Casdoor 的服务配置(8000 为默认端口)
CASDOOR_EXTERNAL_ENDPOINT="http://{YOUR_SERVER_IP}:8000"

# 🚀 启动所有服务
docker compose up -d

# 📊 检查服务状态
docker compose ps
  • 等服务都启动后,在浏览器访问 http://{YOUR_SERVER_IP}:32742/api/rpa-auth/user/login-check(32742 为默认端口,如有修改自行变更)
  • 如果显示 {"code":"900001","data":null,"message":"unauthorized"},则表示部署正确且能正常连通。
  • 在浏览器访问 http://{YOUR_SERVER_IP}:8000(8000 为默认端口,如有修改自行变更)
  • 如果显示 Casdoor 的登录页面,则表示 Casdoor 部署正确。
  • 生产部署及安全加固请参考 部署文档

客户端: 源码部署/安装包部署

环境依赖

工具 版本要求 说明
Node.js >= 22 JavaScript 运行时
Python 3.13.x RPA 引擎核心
Java JDK 8+ 后端服务运行时
pnpm >= 9 Node.js 包管理器
UV 0.8+ Python 包管理工具
7-Zip - 创建部署归档文件
SWIG - 连接 Python 与 C/C++

具体的依赖安装方式以及常见问题请参考 构建文档

直接下载(推荐)

使用最新的 Release 安装包

一键构建

  1. 准备 Python 环境

    # 准备一个 Python 3.13.x 安装目录(可以是本地文件夹或系统安装路径)
    # 脚本会复制该目录来创建 python_core
    
  2. 运行构建脚本

    # 在项目根目录执行完整构建(引擎 + 前端 + 桌面应用)
    ./build.bat --python-exe "C:\Program Files\Python313\python.exe"
    
    # 或使用默认配置(如果 Python 在默认路径)
    ./build.bat
    
    # 等待操作完成
    # 当控制台显示 "Full Build Complete!" 时表示构建成功
    

    注意: 请确保指定的 Python 解释器为纯净安装,未安装额外第三方包,以减小打包体积。

    构建流程包含:

    1. ✅ 检测/复制 Python 环境到 build/python_core
    2. ✅ 安装 RPA 引擎依赖包
    3. ✅ 压缩 Python 核心到 resources/python_core.7z
    4. ✅ 安装前端依赖
    5. ✅ 构建前端 Web 应用
    6. ✅ 构建桌面应用
  3. 📦 安装打包完成的客户端安装包

⚙️ 安装好后在安装目录下的 resources/conf.yaml 中修改服务端地址:

```yaml
# 32742 为默认端口,如有修改自行变更
remote_addr: http://YOUR_SERVER_ADDRESS:32742/
skip_engine_start: false
```

🏗️ 架构概览

本项目采用前后端分离架构,前端基于 Vue 3 + TypeScript 与 Electron 构建桌面应用;后端以 Java Spring Boot 与 Python FastAPI 构建微服务,支撑业务与 AI 能力;引擎层基于 Python,集成 20+ RPA 组件,支持图像识别与 UI 自动化;整体通过 Docker 部署,具备高可观测性与扩展性,专为复杂 RPA 场景设计。

Architecture Overview

📦 组件生态

核心组件包

  • astronverse.system:系统操作、进程管理、截图
  • astronverse.browser:浏览器自动化、网页操作
  • astronverse.gui:图形界面自动化、鼠标键盘操作
  • astronverse.excel:Excel 表格操作、数据处理
  • astronverse.vision:计算机视觉、图像识别
  • astronverse.ai:AI 智能服务集成
  • astronverse.network:网络请求、API 调用
  • astronverse.email:邮件发送和接收
  • astronverse.docx:Word 文档处理
  • astronverse.pdf:PDF 文档操作
  • astronverse.encrypt:加密解密功能

执行框架

  • astronverse.actionlib:原子操作定义和执行
  • astronverse.executor:工作流执行引擎
  • astronverse.picker:工作流拾取元素引擎
  • astronverse.scheduler:引擎调度器
  • astronverse.trigger:引擎触发器

共享库

  • astronverse.baseline:RPA 框架核心
  • astronverse.websocketserver:WebSocket 通信
  • astronverse.websocketclient:WebSocket 通信
  • astronverse.locator:元素定位技术

📚 文档链接

🤝 参与贡献

我们欢迎任何形式的贡献!请查看 贡献指南

开发规范

  • ✅ 遵循现有代码风格
  • ✅ 添加必要的测试用例
  • ✅ 更新相关文档
  • ✅ 确保所有检查通过

贡献步骤

  1. 🍴 Fork 本仓库
  2. 🌿 创建您的特性分支 (git checkout -b feature/AmazingFeature)
  3. 💾 提交您的更改 (git commit -m 'Add some AmazingFeature')
  4. 🚀 推送到分支 (git push origin feature/AmazingFeature)
  5. 📝 打开一个 Pull Request

🌟 Star 历史

Star 历史图表

💖 赞助支持

📞 获取帮助

企业微信群

📄 开源协议

本项目基于 开源协议 开源。


由科大讯飞开发维护

Follow Star Fork Watch

AstronRPA - 让 RPA 开发变得简单而强大!

如果您觉得这个项目对您有帮助,请给我们一个 ⭐ Star!

项目介绍

Enterprise-grade desktop RPA client with a pluggable library of atomic capabilities, policy‑friendly packaging, and CI/CD‑friendly CLI. Integrates with leading Agent platforms and LLMs for end‑to‑end desktop/web automation. 这是一个镜像仓库,有issue、pr欢迎去github提交。

定制我的领域

下载使用量

0

项目总下载次数(含Clone、Pull、 zip 包及 release 下载),每日凌晨更新

语言类型

Java28.94%
Python27.98%
Vue14.56%
TypeScript11.53%
SQL11.41%