TagUI
aisingapore/TagUI加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

想象这样一幕:某公司财务同事每天上午要登录三个系统,把昨天的流水导出来,粘进 Excel,再生成一份发给老板的日报。这活儿不复杂,但每天重复两小时,日积月累就是整整一个季度的工作量。
传统做法是找 RPA 厂商,签年费合同,被销售塞进会议室的 PowerPoint 里演示「零代码自动化」。但真正上手写流程时才发现:录制出来的脚本一遇到界面微调就全线崩溃,改一个按钮坐标要重新录三遍脚本,客户方运维时看不懂那一堆 XML,最终只能把机器人停在演示环境里吃灰。
TagUI 的思路是把门槛压到几乎为零:你不写代码,你写「人话」。
https://login.xero.com/identity/user/login
type email as user@gmail.com
type password as 12345678
click Log in
上面这四行,就是一个完整的登录自动化流程。没有 if,没有变量声明,没有异常处理对象。英文句子的主谓宾,就是 TagUI 的语法。
TagUI 由新加坡人工智能实验室(AI Singapore, AISG)于 2016 年 12 月立项,核心推动者是华人开发者 Ken Soh。项目最早名为 TagUI v3.0,是 Ken Soh 个人作品在 2016 年被 AI Singapore 收归国家研究基金会(NRF)AISG-RP-2019-050 计划支持后的产物,2017 年起进入国家实验室体系持续迭代。
有意思的是,AI Singapore 并不是把它当成商业产品,而是当成「国家基础设施」在做——目标是让新加坡的中小企业和普通公务员都能零成本用上自动化,而不是像隔壁某些国家那样把 RPA 做成只有大厂才买得起的封闭产品。这决定了 TagUI 的技术选型:必须免费、必须开源、必须能装在一台普通办公电脑上。

从 2016 年至今,TagUI 累计 1668 次提交、6341 个 Star、651 个 Fork、21 位贡献者,代码库主体是 PHP 与 Shell,2026 年 11 月 2 日仍有活跃提交。
但这里必须讲一个重要事实:项目 README 顶部有明确告示——AI Singapore 已于 2026 年停止对 TagUI 的维护与官方支持,项目转由开源社区志愿者继续维护。这意味着它现在是「社区维护态」,而非「企业支持态」,选型时必须把这个变量算进去。
如果非要用一个比喻,TagUI 最像的是乐高积木式的自然语言说明书。
传统 RPA 工具给你一盒零件和一张复杂的装配图,你得学会看图。TagUI 直接给你一份「人话版装配图」——「点击登录按钮」「在搜索框输入关键词」「把第 3 个表格存成 CSV」——每句话对应一个真实动作。
它还有一个更贴切的类比:TagUI 之于浏览器自动化,就像 Excel 公式之于手工表格计算。你不需要知道 VLOOKUP 的底层查找算法,你只需要在单元格里写下 =VLOOKUP(...),剩下的交给引擎。TagUI 的 table n to forex_rates.csv 和 top_salesman = [Monthly Report.xlsx]August!E11 就是这个思路的延伸——数据搬运直接用 Excel 公式语言写。
TagUI 的技术核心,是用自然语言同时指代网页元素、图像快照、屏幕坐标和 OCR 文字四类目标:
| 目标类型 | 写法示例 | 依赖技术 |
|---|---|---|
| 网页标识符 | click Log in | xpath / css / id / text 匹配 |
| 图像快照 | click login_button.png | OpenCV 模板匹配(SikuliX) |
| 屏幕坐标 | click (100, 250) | 无 |
| OCR 文字 | click 登录 | Tesseract 识别 |
这个设计的价值在于鲁棒性层次:网站有稳定 ID 时用 ID(最稳),没有时用图像匹配(次稳),实在不行用坐标(最脆但通用)。它把「自动化脚本易碎」这个行业通病,做成了可控的降级路径。

此外还有几个真正打动人的功能:
多语言支持(23 种)。这是 TagUI 最有辨识度的特性——src/languages/ 目录下有中文、日文、韩文、泰文、越南文、印尼文、孟加拉文等 22 种语言的关键词 CSV。流程可以用中文写:
打开 https://example.com
在搜索框输入 自动化
点击 提交
这在 RPA 领域几乎是独一份。多数工具只有英文界面,TagUI 直接把「命令关键字」本地化到了母语级别。
Turbo 加速模式。官方宣称速度可达人工的 10 倍,用于批量抓取场景。
v6 Modern Engine。老版本基于 CasperJS + PhantomJS(这两个项目早已停止维护,是明显的陈旧包袱)。v6 引入 src/tagui_modern.php,基于 Chrome DevTools 协议重写,同时保留 CasperJS 引擎向后兼容,并可通过 -modern / TAGUI_ENGINE=modern 切换。2026 年 11 月的提交显示,modern 引擎已成为主要开发方向。
MCP Server(新增亮点)。src/tagui_mcp/ 是一个独立的 Python 包(tagui-mcp 0.2.0),把 TagUI 封装成 Model Context Protocol 服务器,让 Claude Desktop / Cursor 等 AI 客户端直接驱动浏览器自动化。这是当下最热的 Agent 化改造路径。
MCP 服务器暴露了约 25 个工具,覆盖三大类:流程管理(create_flow / validate_flow / edit_flow / run_flow)、实时浏览器控制(browser_start / browser_click / browser_type / browser_read)、文件读写(list_files / file_info / read_file_chunk)。设计上有几个细节相当专业:
create_flow → validate_flow → run_workspace_flow → 按 failing_line 做 edit_flow,本质是给 LLM 设计的「写—验—改」循环。validate_flow 只跑 tagui_parse.php,检查花括号配对、for 循环、引号错误,不打开浏览器——这让 LLM 可以极低成本地做语法自检。failing_line、failing_step、error_message、screenshots(含失败时刻自动抓取的页面截图)、hint 修复建议。这是让 LLM 能自我纠错的关键。127.0.0.1,拒绝非回环地址(除非显式 --allow-remote);Bearer Token 必须 ≥32 字符、必须从文件读取、拒绝 group/other 可读权限文件、常数时间比较、绝不写入日志。read_file_chunk 按块返回 base64,每块带 chunk_sha256,每块重复整个文件的 sha256,供远端 Agent 校验文件完整性。TAGUI_MCP_ALLOWED_HOSTS 白名单控制 Host 头。生态扩展。README 里列出的社区插件阵容相当可观:Node-RED 模块(node-red-contrib-tagui)、C# / .NET 的 NuGet 包、Python 版 RPA-Python(pip install rpa)、VS Code 语言扩展、Notepad++ 插件、Chrome 扩展录制器、Microsoft Word / Excel 插件(把 Word 文档直接变成 RPA 机器人,用 Excel 参数化数据)。

其中 Word/Excel 插件是最接近「完整 RPA IDE」的部分——工具栏、步骤提示、截图工具、任务窗格、运行输出俱全。2026 年 7 月的 README 提到已与 Microsoft Power Automate Desktop 达成双向集成,方便企业用户在两者间迁移。
安装(macOS / Linux):
sudo ln -sf /your_tagui_path/tagui/src/tagui /usr/local/bin/tagui
tagui /your_tagui_path/tagui/flows/samples/1_google.tag
看着简单,实际依赖有五样:OpenJDK 8(或 17)、PHP CLI、Chrome 浏览器、CasperJS(无浏览器模式用 PhantomJS)、SikuliX jar。Windows 端还有 Microsoft Visual C++ Redistributable 2012 的额外要求。
难度评级:
openiap/nodered-tagui)可绕过,但官方仓库内没有 Dockerfile / docker-compose.yaml。pip install -e .,再在 Claude Desktop / Cursor 配置中填绝对路径。tagui_parse.php(10 万字符的解析器)、tagui_modern.php(9 万字符)、tagui_header.js(14 万字符)、tagui_helper.php 等核心文件。官方为此专门开设了「维护者培训视频系列」。没有 Web 管理界面。这是 TagUI 与传统 RPA 平台(如 UiPath)最本质的差距:UiPath 有一个完整的浏览器端 Orchestrator 控制台,可以管理机器人、调度任务、看日志、看录像;TagUI 的一切都在命令行和本地文件里。企业级运维能力需要靠外部编排器(Node-RED、Robocorp、Power Automate Desktop)补齐。
1. 官方已停止维护(最关键)
AI Singapore 停止维护是事实,不是猜测。这带来三个直接后果:安全补丁响应速度不可控;企业级 SLA 无从谈起;新特性驱动完全依赖社区志愿者。有意思的是,2026 年 11 月 1-2 日的高频提交(全部来自核心维护者 Marcelo Cecin)表明社区维护其实相当活跃,尤其在 Modern Engine 和 MCP 这两条新线上。
2. 技术栈陈旧
PHP + Shell + CasperJS + PhantomJS 的组合在 2026 年看属于「遗产级」技术。PhantomJS 已停止维护多年,CasperJS 同样停更。项目自己也在这个问题——这正是 Modern Engine 用 Chrome DevTools 协议重写的原因。但重写本身仍在进行中,CasperJS 尚未被彻底移除。
3. 无 Docker 官方支持
仓库树里没有任何 Dockerfile、docker-compose.yaml 或 K8s manifest。对企业落地来说,容器化是硬需求,目前只能依赖社区镜像。
4. 安全模型是「用户自己负责」
README 的「Enterprise Security by design」段落其实坦诚说明了这一点:TagUI 是跑在用户自己电脑上的本地工具,不存储数据,所以 PCI-DSS / HIPAA / SOX 这类认证「不适用」;敏感信息建议用户手工输入后再交给机器人;底层存储加密依赖操作系统。这个设计对单机个人使用是合理的,但一旦被编排器集中调度、或与 MCP Server 组合暴露 HTTP 端口,风险模型就完全变了。MCP Server 的 Token 机制做得不错,但那是新代码,未经大规模审计。
5. 识别准确率天花板
图像匹配(OpenCV 模板匹配)和 OCR 在有动画、渐变背景、低分辨率截图的场景下会明显失准。2026 年 11 月 2 日的提交恰好在改进这点——「Log the best similarity when a Sikuli image is not found」,即在找不到图像时输出最佳相似度,这是在改善可诊断性。
6. 生态碎片化
23 种语言关键词、6 个以上社区分支、多个引擎(Casper / Modern / OculiX)、多个 Python/R/C# 封装并存,官方仓库还保留着大量指向 kelaberetiv/TagUI(作者个人仓库)的旧链接。对新用户来说,选哪条路线容易迷路。
7. 仓库路径与文档不一致
README 图片引用仍指向 kelaberetiv/TagUI,而仓库已迁移到 aisingapore/TagUI;安装文档写 v6.110,代码库 src/installer/ 里还是 v6.48 的安装工程。这类历史遗留会让排查问题的人多花时间。
TagUI 处在 RPA 产业的一个特殊位置:它代表了「AI 之前的自动化」这一整段历史。
RPA 的叙事主线一直是「用 AI 消灭 RPA」——UiPath、Skywalk 等厂商如今都在全力讲 Agentic Automation。但 TagUI 提醒我们:自动化的价值从来不在于技术先进,而在于门槛是否真的降到了零。如果一个流程要写 Python、要处理异常、要装 Selenium Grid、要连 CI/CD,那么它对财务同事就依然是不可用的。
TagUI 用最朴素的手段解决了这个问题:自然语言就是接口。于是它长成了开源 RPA 里星标最高(6341)的项目之一,超过了众多技术栈更现代的同类。
而在 2026 年,这个「技术栈最老」的项目反而做出了最前沿的改造——把 RPA 引擎包装成 MCP Server,让 Claude 和 Cursor 成为它的调用方。这条路径的意义在于:
Agent 不需要重新发明自动化,它需要的是把已有的、可靠的自动化能力「接上」。
TagUI 的 MCP Server 提供了教科书式的答案:不改动核心引擎(不往 tagui_parse.php 里塞协议代码),而是做一个独立的小进程去调用既有 CLI。这让上游审阅成本极低,也让 AI 侧的改造与 RPA 核心解耦。同理,Claude 不该去「看屏幕然后自己点」,而应该调用一个能返回精确 failing_line 和截图的确定性执行器。
从更长的时间尺度看,TagUI 走了十年,从国家实验室资助项目到失去官方支持,再到靠社区续命并主动拥抱 Agent 范式——这本身就是开源项目可持续性的真实样本:官方背书会过期,但清晰的接口设计、真实的用户痛点和愿意接手的社区,不会。
适用场景:个人与中小团队的重复性网页操作、跨系统数据搬运、回归巡检、需要用母语描述的自动化需求、需要让 LLM 驱动浏览器的 Agent 场景。
不适用场景:需要可视化流程编排与统一调度的企业级 RPA 平台、对稳定性有严格 SLA 的关键业务链路、无法在用户本机安装 JDK/PHP/Chrome 的受限环境。
项目地址:https://github.com/aisingapore/TagUI | 许可证:Apache-2.0 | 当前版本:v6.110(2022 年发布,社区分支仍在持续演进)