Notte 网页自动化
面向网页操作与数据提取的 AI 自动化框架。
按维度查看评分与理由
证据显示:README 描述了 vault 和 persona 功能,暗示有凭据管理,但未提供实现细节或权限最小化说明。用户确认机制未见。数据流透明度有限,仅提及文件存储和 cookie 管理。敏感数据处理有 vault 和 persona 概念,但未深入。依赖安全有 pyproject.toml 列出依赖,但未提供漏洞扫描或锁定文件。外部影响明显(浏览器自动化、代理、CAPTCHA 解决),但未讨论副作用。回滚机制未见。来源归属有作者和版权声明,但发布者未验证。扣分原因:缺乏具体实现证据,权限和用户确认未说明。
证据显示:README 和文档测试显示内部一致性,例如参数同步测试。依赖可用性:依赖列表存在,但未提供锁定文件或版本范围。失败消息:文档提到 AgentFallback 处理失败,但未提供具体错误消息格式。扣分原因:依赖锁定和错误消息细节不足。
证据显示:README 面向开发者,提供多种场景(代理、抓取、混合工作流)。能力边界:描述了功能范围,但未明确限制。触发精度:任务描述自然语言,但未定义精确触发条件。环境适配:支持本地和云模式,但未说明系统要求。扣分原因:触发精度和边界定义不够精确。
证据显示:信息架构清晰,有 README、文档、测试。安装说明提供 pip 命令。命名稳定性:版本号存在,但未提供变更日志。示例和 FAQ:有大量示例,但 FAQ 未见。已知限制:未明确列出。许可证:SSPL-1.0 明确。版本控制:有版本号,但无变更日志。维护责任:有作者和联系方式,但未明确维护政策。扣分原因:缺少变更日志、FAQ 和已知限制。
证据显示:输出可用性:提供结构化输出和抓取功能。边际价值:强调成本降低和可靠性提升。成本效益:声称成本降低 50%+,但未提供详细数据。扣分原因:成本效益声明缺乏具体证据。
证据显示:声明可追溯性:基准测试链接到外部仓库,但未提供原始数据。交叉来源:有外部链接,但未独立验证。事实与推断分离:README 区分了功能描述和基准,但未明确标注推断。扣分原因:基准数据未提供原始数据,推断未明确标注。
- 发布者未验证,身份未知。
- 依赖未锁定,存在供应链风险。
- 敏感数据处理(vault/persona)实现细节未公开。
- 基准测试数据未提供原始数据,声明需谨慎。
- SSPL 许可证可能影响商业使用。
这个 Agent 能做什么,适合哪些场景?
Notte 是一个用于构建、部署和扩展网页交互型 AI 自动化的 Python 框架与 API 服务。开源核心以 `notte.Session` 和 `notte.Agent` 运行本地浏览器会话,用户需提供自己的 LLM API 密钥。托管路径通过 `notte_sdk.NotteClient` 创建浏览器会话和 Agent,并需要 Notte API 密钥。它可将 Playwright 兼容的确定性操作与自然语言 Agent 步骤混合使用,也可返回 Pydantic 定义的结构化结果。README 还展示了 Vault、Persona、文件存储、Cookie、CDP 连接、代理和 CAPTCHA 处理等托管会话能力。
本地模式先执行 pip install notte 与 patchright install --with-deps chromium,再用 notte.Session 建立浏览器会话,并由 notte.Agent(...).run(task=...) 执行自然语言网页任务。托管模式以 NotteClient 创建 Session 和 Agent;会话可执行 session.execute(type="goto"|"fill"|"click", ...)、session.observe() 与 session.scrape(instructions=...)。Agent.run 可接受 Pydantic response_format,将提取结果放入 response.answer。client.scrape 可直接抓取 URL;FileStorage 可上传输入文件并下载 Agent 获得的文件。
- Python 开发者需要在本机用自有 LLM 密钥完成网页导航、表单操作或图片搜索等自然语言任务。
- 数据采集工程师需要从新闻或博客页面提取符合 Pydantic 模型的标题、链接、分数、作者和正文。
- 自动化团队需要先用
session.execute完成稳定的跳转和填写,再把需要判断的网页步骤交给Agent。 - 需要托管浏览器会话的团队可通过 Notte API 使用代理、CAPTCHA 处理、Cookie 或 CDP 连接。
- 需要网页登录自动化的用户可将站点账号凭据加入
Vault,让 Agent 在任务中使用这些凭据。 - 需要在网页工作流中上传 PDF 或取回下载文件的用户可将
FileStorage附加到 Session。
这个 Agent 有哪些优点和局限?
- 同一工作流可混合
session.execute的确定性网页操作与 Agent 推理步骤,适合把不需要推理的部分脚本化。 response_format支持 Pydantic 模型,可将网页提取结果限制为调用方所需的结构。- 托管会话展示了代理、自动 CAPTCHA 处理、Vault、Persona、文件存储、Cookie 和 CDP 等浏览器控制能力。
AgentFallback可在确定性操作失败时触发 Agent 尝试修复该步骤。
- 本地运行要求 Python 3.11+、Patchright、Chromium,以及用户自行准备的 LLM API 密钥。
- 托管功能需要 Notte Console API 密钥;README 未提供
notte_sdk的单独安装说明,也未说明服务定价。 - README 同时在仓库元数据中标示 License 为 NOASSERTION、在正文中称为 SSPL-1.0,采用前应核实实际许可状态。
- README 的性能排名来自其链接的
open-operator-evals,不能据此推断你的站点、模型或任务上的结果。
如何安装或部署这个 Agent?
本地模式要求 Python 3.11+。安装并安装 Chromium:
pip install notte
patchright install --with-deps chromium本地 Agent 还需要你自己的 LLM API 密钥。托管 SDK 模式需要先在 Notte Console 创建 NOTTE_API_KEY;README 展示了 from notte_sdk import NotteClient,但未单独给出 notte_sdk 的安装命令。
如何使用这个 Agent?
本地首次调用:
import notte
with notte.Session(headless=False) as session:
agent = notte.Agent(session=session, reasoning_model='gemini/gemini-2.5-flash', max_steps=30)
response = agent.run(task='doom scroll cat memes on google images')托管调用时创建 NotteClient(api_key=os.getenv('NOTTE_API_KEY')),并在 with client.Session(...) as session: 中创建 client.Agent 后调用同一个 run 方法。
这个 Agent 与同类方案有什么区别?
README 的基准表将 Notte 与 Browser-Use 和 Convergence(proxy-lite)并列比较;表中报告 Notte 的 Agent Self-Report 为 86.2%、LLM Evaluation 为 79.0%、每任务 47 秒、Task Reliability 为 96.6%。这些是 README 所列评测结果,不是对所有环境的保证。
常见问题
能否完全在本地运行?
notte.Session 与 notte.Agent 的本地模式;你需要安装 Patchright/Chromium,并提供自己的 LLM API 密钥。何时需要 Notte API 密钥?
NotteClient 的托管浏览器会话和 README 所示的高级会话功能时,需要在 Notte Console 创建 NOTTE_API_KEY。能否获得可验证的结构化数据?
Agent.run 或 client.scrape 提供 Pydantic response_format,结果可按该模型结构返回。脚本化操作失败会怎样?
AgentFallback(session, "...") 示例:其中的确定性 session.execute 失败时,可触发 Agent 处理补救任务。能接入已有浏览器供应商吗?
client.Session(cdp_url=...) 提供 CDP URL,以使用兼容 CDP 的外部浏览器会话。