Agent-E 网页自动化助手
用自然语言完成网页检索、表单填写和跨步骤浏览器操作。
- Star 数
- ★ 1.3k
- 最近更新
- 1 年前
- License
- MIT
- 主语言
- Python
- FA 评分
- 46/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 需要重复录入网页表单的运营人员,可让 Agent-E 从已有资料中取值、填写字段,并在提交前等待人工检查。
- 不适合
- 需要完整桌面自动化而非仅浏览器自动化的团队
- 需要可靠多标签页或PDF表单处理的用户
这个 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 网页自动化助手 当前 | 46 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.3k | 1 年前 | Python | OpenAI API |
| Camoufox CLI | 56 · 缺口较多 | 命令行工具免费 | ★ 360 | 25 天前 | Python | Codex · Claude Code |
| Auto Browser | 76 · 存在缺口 | 自托管服务免费 + 模型费 | ★ 924 | 1 天前 | Python | OpenAI API · Claude API |
| Heym | 63 · 存在缺口 | 自托管服务免费 + 模型费 | ★ 1.4k | 今天 | Python | Codex · Claude.ai |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README列出受限的浏览器技能,并称选择配置技能是为了避免执行未知代码,且示例展示提交表单前等待用户审阅;但没有通用的确认策略、权限边界或撤销机制,README还允许加载额外技能并使用本地Chrome配置文件。日志默认保存、模型API配置和浏览器数据流的处理说明有限,因此多数分项仅得1分。许可证和作者信息可追溯,来源归属得2分;未见足以判定红线风险的证据。
README说明DOM蒸馏仍在改进、实时网站测试可能不稳定,也列出若干环境问题和解决步骤,因此自洽性、依赖可用性及故障指引各得1分。文档与配置存在可见落差:README称Python 3.10+可用,项目元数据也要求>=3.10,但依赖清单未提供完整的版本兼容或可用性保证;测试文件只显示部分评估代码,不能支持更高静态分数。
README面向自然语言浏览器自动化,列举表单、搜索、媒体、项目管理等场景,并说明当前主要聚焦浏览器、表单尚不支持PDF,且本地模型未充分测试,故场景和能力边界得2分。任务触发主要通过用户命令或HTTP接口描述,未见更精确的适用条件和拒绝边界,触发精度得1分。安装说明覆盖macOS/Linux与Windows,并提供本地Chrome或Playwright选项,环境适配得2分。
README按安装、配置、运行、进阶用法、故障排查、演示和架构组织,提供命令与示例;已说明部分限制。MIT许可证文本完整,得3分。命名和版本信息只有项目名及0.1.0版本,且README存在拼写、措辞和示例不一致等问题;未提供更新日志或清晰维护责任,相关分项得1分。
README说明技能以原子化浏览器操作返回自然语言结果,并展示检索、表单填写、购物等任务,支持对输出可用性和相对价值给2分。成本收益信息有限;项目依赖多种模型和服务,README也提示本地模型未充分测试,但没有成本或性能权衡数据,因此成本效益得1分。
README中的功能、安装和限制主张对应到技能清单、依赖配置及测试入口等材料,主张可追溯得2分;但测试文件摘录不完整,材料间对功能有效性的独立佐证有限,交叉印证得1分。文档对已知限制和未充分测试情况有明确表述,能够区分已陈述事实与尚未确认事项,事实与推断分离得2分。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- README将聊天日志保存设为默认开启,并支持使用本地Chrome配置文件;使用前应确认日志内容和浏览器会话数据的处理方式。
- 浏览器自动化可能执行会产生外部影响的操作;示例虽包含提交前等待审阅,README未说明此类确认是否为通用强制规则,也未说明撤销流程。
- 项目说明DOM蒸馏仍在改进、实时网站测试可能不稳定,且本地模型尚未充分测试;静态材料不能证明实际运行结果。
常见问题
使用 Agent-E 是否必须购买托管服务?
必须使用 OpenAI 模型吗?
AUTOGEN_MODEL_BASE_URL 等变量连接其他兼容服务;文档还展示了 LiteLLM 加 Ollama 的本地模型方案,但明确说明该方案尚未充分测试。它会接触哪些敏感资源?
BROWSER_STORAGE_DIR 使用本地 Chrome 配置文件,自动化将在该浏览器配置环境中运行;部署者应据此控制所用配置文件、站点会话、模型 API 密钥和日志文件。网页任务失败时有哪些常见原因?
能否在提交表单前要求人工确认?
PLANNER_USER_INPUT_SKILL_ENABLED 配置。谢谢反馈,我们会据此改进页面。