大家好,我是何三,独立开发者
你知道吗,现在企业买个RPA(机器人流程自动化)软件,一年少说也得花个5万美元。UiPath、Automation Anywhere这些商业软件,功能确实强大,但那个价格——说实话,小公司看了都得倒吸一口凉气。
最近我发现了个开源项目,叫RPALite。这玩意儿只有36个Star,但真的有点东西。
它用Python脚本就能搞定大部分RPA需求,一个命令就能启动自动化流程。说白了,就是把那些动辄几万美元的RPA功能,用开源的方式给你实现了。

RPA到底是个啥?
先别被"机器人流程自动化"这个高大上的词吓到。说白了,RPA就是让电脑模仿人类操作电脑。
比如你每天上班第一件事:打开邮箱、下载附件、把数据填到Excel里、再上传到系统。这种重复性工作,RPA就能帮你自动完成。
以前你要么得雇个人专门干这个,要么花大价钱买商业软件。现在呢?用Python写个脚本就行了。
RPALite就是这么个东西。它提供了一整套API,让你能用Python控制鼠标、键盘、识别屏幕上的文字和图片。
举个例子,你想自动登录某个网站:
from RPALite import RPALite
rpa = RPALite()
# 打开浏览器
rpa.run_command("chrome.exe")
# 等页面加载
rpa.wait_until_text_shown("登录", timeout=10)
# 点击登录按钮
rpa.click_by_text("登录")
# 输入用户名密码
rpa.enter_in_field("用户名", "your_username")
rpa.enter_in_field("密码", "your_password")
# 截图保存
rpa.take_screenshot(filename="login_result.png")
就这么几行代码,一个自动化登录流程就搞定了。
为什么说它"降维打击"?
商业RPA软件有个很大的问题:学习成本太高。
你得学它们专用的开发语言,得参加官方培训,得考认证。一套流程下来,没个几万块搞不定。
RPALite不一样。你会Python吗?会的话就能用。
这让我想起前两年低代码平台刚火的时候,大家都说"不用写代码就能开发应用"。结果呢?最后发现还是写代码最灵活。
RPALite就是这个思路:不搞花里胡哨的拖拽界面,就用Python脚本,让程序员用最熟悉的方式解决问题。
而且它支持Robot Framework。如果你做测试自动化,对这个应该不陌生。RPALite可以直接集成进去,让你的自动化测试脚本也能控制UI。
*** Settings ***
Library RPALite
*** Test Cases ***
自动化登录测试
${position} = Wait Until Text Shown 登录 timeout=10
Click By Text 登录
Enter In Field 用户名 my_user
Enter In Field 密码 my_password
${screenshot} = Take Screenshot filename=login_screen.png
说实话,看到Robot Framework支持这块,我第一反应是:这作者挺懂测试工程师的痛点啊。

技术细节有点意思
RPALite底层用了两个OCR引擎:EasyOCR和PaddleOCR。
EasyOCR大家都知道,多语言支持好,识别率不错。PaddleOCR呢?百度开源的,对中文识别特别友好。
你可以根据需求选:
# 用EasyOCR(默认)
rpa = RPALite()
# 用PaddleOCR(中文识别更好)
rpa = RPALite(ocr_engine="paddleocr")
这设计挺聪明的。大部分RPA场景都需要文字识别,选对引擎能省不少事。
还有个功能我特别喜欢:自动语言检测。
它会根据你操作系统的语言设置,自动加载对应的OCR语言包。中文系统就加载中文识别,英文系统就加载英文识别。
不用手动配置,这点对新手很友好。
现在就能上手试试
安装很简单:
pip install RPALite
Windows用户直接就能用。macOS用户需要配置一下权限(屏幕录制、辅助功能这些),Linux用户得装xdotool、wmctrl这些依赖。
我建议先从Windows开始试。打开记事本,试试这个:
from RPALite import RPALite
rpa = RPALite()
# 显示桌面
rpa.show_desktop()
# 打开记事本
rpa.run_command("notepad.exe")
# 输入文字
rpa.input_text("这是用RPALite自动输入的文字\n")
# 保存(Ctrl+S)
rpa.send_keys("^s")
# 输入文件名
rpa.input_text("test.txt")
# 回车保存
rpa.send_keys("{ENTER}")
# 关闭记事本
app = rpa.find_application(".*Notepad")
rpa.close_app(app)
跑一遍,看看效果。你会发现,原来自动化可以这么简单。

缺点也得说说
RPALite现在只有36个Star,热度确实不高。
项目最近一次更新是9个月前,活跃度一般。功能上相比成熟的商业RPA工具,肯定有差距。
比如复杂的业务流程编排、异常处理机制、企业级管理后台这些,RPALite暂时还没有。
但话说回来,对于个人开发者、小团队来说,这些功能可能也用不上。
我们需要的就是一个轻量级的、能用Python脚本控制的自动化工具。从这个角度看,RPALite已经够用了。
同类工具链
如果你对自动化感兴趣,我之前还写过几个相关项目:
- Playwright - 微软开源的浏览器自动化工具,比Selenium快很多
- AutoHotkey - Windows下的键盘鼠标自动化神器,老牌工具了
- SikuliX - 基于图像识别的自动化工具,视觉自动化领域的经典
不过说实话,这些工具各有各的定位。Playwright专注浏览器,AutoHotkey专注Windows桌面,SikuliX专注图像识别。
RPALite的特别之处在于:它想做一个通用的RPA框架。虽然现在功能还不完善,但这个方向很有意思。
最后说两句
RPA这个市场,商业软件已经玩了很多年。UiPath上市的时候市值几百亿美元,你就知道这玩意儿有多赚钱。
但现在开源社区也开始介入了。RPALite就是个例子——用Python脚本降低门槛,让更多开发者能玩转自动化。
36个Star确实不多,但我觉得这个项目有潜力。毕竟,谁会拒绝一个免费的开源RPA工具呢?
如果你正在为重复性工作发愁,或者想试试自动化开发,RPALite值得一试。至少,它能让你省下几万美元的软件费用。
本文使用 MGO 编辑并发布
关注"何三笔记",回复"mgo" 免费下载使用