Agent-E 网页自动化助手
用自然语言完成网页检索、表单填写和跨步骤浏览器操作。
- Star 数
- ★ 1.3k
- 最近更新
- 4 个月前
- License
- MIT
- 主语言
- Python
- FA 评分
- 48/100 · 缺口较多
30 秒速览
- 可在哪里用
- 通用 · 跨平台OpenAI API
- 开始前需要
- 典型场景
- 需要重复录入网页表单的运营人员,可让 Agent-E 从已有资料中取值、填写字段,并在提交前等待人工检查。
- 主要局限
- 当前重点是浏览器而非完整桌面自动化,表单支持不含 PDF;Google Docs、Sheets、Slides 和 Gmail 等画布式应用仍列在待办事项中。
这个 Agent 能做什么,适合哪些场景?
Agent-E 是基于 AG2 的自托管计算机操作系统,目前将能力集中在浏览器自动化。其开源架构包含负责执行技能的 User proxy 和掌握浏览器技能的 Browser navigation agent,并以感知技能和动作技能组合任务。系统从浏览器无障碍树提取并蒸馏 DOM,为模型提供文本、输入控件或全部字段的紧凑视图,再执行点击、输入和打开网址等操作。用户既可通过浏览器中的聊天界面提交自然语言命令,也可运行 FastAPI 服务,通过 `/execute_task` 接收命令并返回流式结果。它适合可由网页交互完成的检索和操作流程,但不是通用桌面自动化成品,对动态网页、单标签页、Shadow DOM、PDF 和画布式应用仍有明确限制。
Agent-E 接收自然语言任务,由 AG2 驱动的代理选择并执行技能。geturl、get_dom_with_content_type 和可选的 get_user_input 用于读取当前网址、网页内容与用户反馈;click、enter_text、bulk_enter_text、enter_text_and_click 和 openurl 用于操作网页。get_dom_with_content_type 可返回 text_only、input_fields 或 all_fields,底层优先使用 DOM Accessibility Tree,并给元素注入 mmid,以便生成稳定的 DOM 查询选择器。每项技能以自然语言描述执行结果,使代理能够判断上下文并调整后续步骤。任务可以从浏览器聊天界面启动,也可以发送到 FastAPI 的 POST /execute_task;API 请求还可分别覆盖 planner_agent 与 browser_nav_agent 的 llm_config。运行过程会改变浏览器页面和表单状态,并可按配置将聊天日志写入文件或标准输出。
- 需要重复录入网页表单的运营人员,可让 Agent-E 从已有资料中取值、填写字段,并在提交前等待人工检查。
- 电商研究或采购人员可要求它搜索商品、按畅销度或价格排序、进入商品页并执行加入购物车等浏览器步骤。
- 研究人员可让它访问新闻、体育、大学或本地商家网站,定位指定内容并汇总网页中可见的信息。
- 项目管理团队可用自然语言导航 JIRA 等网页平台并筛选问题,减少重复的页面操作。
- 开发团队可通过自托管 FastAPI 端点把网页任务嵌入内部流程,并为 planner 和 browser navigation agent 分别传入模型配置。
- 需要验证浏览器代理行为的贡献者可使用
test/tasks中的 JSON 任务,通过python -m test.run_tests在真实网站上运行测试。
如何安装或部署这个 Agent?
运行环境需要 Python 3.10+,文档推荐 Python 3.11。macOS/Linux 可在项目根目录运行 ./install.sh,若希望直接安装 Playwright 支持则运行 ./install.sh -p;Windows PowerShell 对应运行 .\win_install.ps1 或 .\win_install.ps1 -p。手动安装时,先安装 uv,然后执行 uv venv --python 3.11、source .venv/bin/activate、uv pip compile pyproject.toml -o requirements.txt 和 uv pip install -r requirements.txt;Windows 使用 .venv\Scripts\activate。没有本地 Google Chrome 时,可再运行 playwright install。复制配置文件:cp .env-example .env,然后至少设置 AUTOGEN_MODEL_NAME 和 AUTOGEN_MODEL_API_KEY;非 OpenAI 服务还应配置 AUTOGEN_MODEL_BASE_URL,并按提供方需要设置 AUTOGEN_MODEL_API_TYPE 与 AUTOGEN_MODEL_API_VERSION。若使用本地 Chrome,还需从 chrome://version/ 获取配置文件路径并设置 BROWSER_STORAGE_DIR。
如何使用这个 Agent?
完成配置后,在项目根目录运行 python -m ae.main;macOS 遇到输出阻塞问题时可运行 python -u -m ae.main。浏览器出现 Agent-E 图标后,打开聊天界面并输入命令,例如 open youtube and search for funny cat videos。若需程序化调用,在 Linux/macOS 运行 uvicorn ae.server.api_routes:app --reload --loop asyncio;Windows 使用 uvicorn ae.server.api_routes:app --loop asyncio。首个 API 请求可执行:curl --location 'http://127.0.0.1:8000/execute_task' --header 'Content-Type: application/json' --data '{"command":"go to espn, look for soccer news, report the names of the most recent soccer champs"}'。也可以在请求中加入 llm_config,分别配置 planner_agent 和 browser_nav_agent。完整测试运行命令为 python -m test.run_tests。
这个 Agent 有哪些优点和局限?
- DOM Distillation 可按文本、输入控件或全部字段压缩无障碍树,减少直接把完整 HTML 交给模型造成的噪声。
- 浏览器能力被限制在明确的感知和动作技能中,而不是让模型任意生成并执行代码,执行边界更容易审查。
- 同时提供交互式浏览器入口和可自托管的 FastAPI
/execute_task接口,既可人工使用,也可嵌入程序化流程。 - 模型配置支持 OpenAI,也支持自定义兼容端点;文档还给出了通过 LiteLLM 和 Ollama连接本地开源模型的路径。
- 仓库包含基于真实网站的 JSON 测试任务、分段执行参数和逐操作截图选项,便于复现与评估网页流程。
- 当前重点是浏览器而非完整桌面自动化,表单支持不含 PDF;Google Docs、Sheets、Slides 和 Gmail 等画布式应用仍列在待办事项中。
- 文档明确称目前只能可靠处理一个标签页;打开其他标签页会丢失状态并可能要求重新开始。
- 真实网站持续变化会导致测试结果不稳定,复杂下拉菜单、Shadow DOM 和 DOM 蒸馏遗漏也属于已记录的改进方向。
- 运行需要 Python 环境、模型服务配置以及 Chrome 或 Playwright,采用远程模型时还会产生网络与提供方依赖。
- LiteLLM/Ollama 本地模型路径虽有文档,但尚未经过充分测试,迁移到较弱或非 OpenAI 模型可能需要调整提示或重构技能。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|
| Agent-E 网页自动化助手 当前 | 48 · 缺口较多 | ★ 1.3k | 4 个月前 | Python | OpenAI API |
| Camoufox CLI | 60 · 存在缺口 | ★ 349 | 1 个月前 | Python | Codex · Claude Code |
| Auto Browser | 62 · 存在缺口 | ★ 793 | 1 个月前 | Python | OpenAI API · Claude API |
| Heym | 46 · 缺口较多 | ★ 1.3k | 今天 | Python | Codex · Claude.ai |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:README 描述了用户确认机制(如等待用户审查后提交表单),以及技能库设计旨在避免执行恶意代码。但未提供权限最小化的具体实现细节,也未说明数据流透明性。扣分原因:缺乏对敏感数据处理的具体说明,依赖安全性未提及漏洞扫描,外部影响(如浏览器自动化)未明确风险控制,回滚机制完全缺失。
证据显示:README 和测试文件提供了测试运行方法,但未提供测试结果或一致性保证。依赖列表完整,但未说明依赖的可用性保障。失败消息方面,README 提供了常见问题的解决方案,但未系统化。扣分原因:自一致性缺乏测试证据,依赖可用性未验证,失败消息覆盖不全。
证据显示:README 描述了多种使用场景(如表单填写、搜索、购物等),并提供了环境变量配置和自定义技能目录。但未明确能力边界(如不支持 PDF 表单),触发精度依赖 LLM 理解,环境适配仅提及 macOS 和 Windows 的特定问题。扣分原因:能力边界描述不完整,触发精度未验证,环境适配未覆盖所有平台。
证据显示:README 结构清晰,包含安装、配置、运行、测试等章节,提供了示例命令和常见问题。但未提供版本变更日志,命名稳定性未说明,已知限制仅提及 DOM 蒸馏可能丢失信息。扣分原因:版本变更日志缺失,命名稳定性未说明,已知限制不全面。
证据显示:README 提供了多种使用示例和演示视频,展示了实际应用价值。但未提供性能基准或成本分析,成本效益未量化。扣分原因:成本效益缺乏数据支持,输出可用性未验证。
证据显示:README 引用了论文和博客,但未提供具体测试结果或第三方验证。扣分原因:声明缺乏可追溯性,跨来源验证不足,事实与推断未明确区分。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 未提供版本变更日志,维护责任不明确。
- 依赖安全性未提及,需检查依赖漏洞。
- 回滚机制缺失,操作失败后无法恢复。
- 能力边界描述不完整,可能误导用户。
常见问题
使用 Agent-E 是否必须购买托管服务?
必须使用 OpenAI 模型吗?
AUTOGEN_MODEL_BASE_URL 等变量连接其他兼容服务;文档还展示了 LiteLLM 加 Ollama 的本地模型方案,但明确说明该方案尚未充分测试。它会接触哪些敏感资源?
BROWSER_STORAGE_DIR 使用本地 Chrome 配置文件,自动化将在该浏览器配置环境中运行;部署者应据此控制所用配置文件、站点会话、模型 API 密钥和日志文件。网页任务失败时有哪些常见原因?
能否在提交表单前要求人工确认?
PLANNER_USER_INPUT_SKILL_ENABLED 配置。