Airtop 是一个面向 AI 代理和自动化团队的企业级浏览器自动化平台,核心价值是把「浏览器」变成云上基础设施:通过 REST API 和 Python/TypeScript SDK 创建云 Chromium 实例,在远程会话中执行网页操作,并以 API 方式暴露页面交互、事件日志、验证码处理和登录态保持能力。相较自建 Playwright/Puppeteer 基础设施,Airtop 免去了代理 IP、反爬对抗、浏览器生命周期管理等运维负担,并内置 AI 自动操作——用自然语言描述目标任务(如「填写表单并提交」),平台根据指令自动生成并执行浏览器操作。本文从速览、安装、快速上手、核心能力、生产部署五个层面展开,并附与 Browserbase、Steel、Playwright 的选型对比和常见误区,帮助你在 30 分钟内完成从认知到实质调用的跨越。

岗位关联

对 AI 从业者而言,掌握 Airtop 意味着获得一条把网页自动化能力标准化成 API 的路径,是构建 RAG 数据采集、AI Agent 任务执行和 RPA 替代方案的实用技能。

目录
  1. 为什么需要 Airtop:从「自建浏览器」到「浏览器即服务」
  2. 安装与环境配置:3 步就绪
  3. 快速上手:5 分钟跑通第一个云浏览器会话
  4. 核心能力详解:4 大支柱
  5. 生产部署与监控:从上线到运维
  6. AI 应用场景
  7. 常见误区
  8. 面试题
  9. 参考来源
工具类型
企业浏览器自动化平台(云 API + AI 自动操作)
开发商
Airtop Inc.(美国)
开源协议
平台商业闭源 / SDK 开源
主要语言
Python、TypeScript
当前版本
API v1(持续迭代中)
安装方式
pip install airtop
官方文档
上手难度
★★☆☆☆(较低)
适合人群
LLM 应用工程师、AI Agent 开发者、RPA 团队
同类工具
Browserbase、Steel、Playwright
托管服务

速览卡是工具类内容的固定首屏模块:30 秒判断「这工具是什么、能不能商用、适不适合我」。

为什么需要 Airtop:从「自建浏览器」到「浏览器即服务」

传统方式下,团队用 Playwright 或 Puppeteer 自建浏览器自动化,需要自行解决四个问题:一是基础设施成本——浏览器进程的启动、调度、崩溃恢复和并发隔离都要自己实现;二是反爬与风控——目标网站对自动化流量有验证码、行为检测和 IP 限制,需要维护代理池和绕过策略;三是登录态管理——Cookie 过期、多账号隔离、两步验证都需要额外代码;四是可观测性——自动化失败时缺少浏览器内部状态(控制台、网络请求、DOM 变更)的完整记录,排查困难。

Airtop 把上述问题封装为托管服务:在云端为每个会话创建一个独立 Chromium 实例,通过 API 直接创建会话、打开窗口、操作页面;平台的浏览器配置文件(Profile)可持久化登录状态并自动处理验证码;事件系统实时暴露控制台日志、网络请求和页面状态变化。这意味着你不再需要维护浏览器基础设施,只需调用 API 即可获得「一个真实、远程、可操作的浏览器」。

与同样做云浏览器的 Browserbase 相比,Airtop 更强调 AI 自动操作和会话持久化能力,对「自然语言直接驱动浏览器」的场景支持更直接;与 Playwright 相比,Airtop 是托管服务而非本地框架,适合没有浏览器内核运维能力的应用团队。

安装与环境配置:3 步就绪

步骤一:注册并获取 API 密钥。 访问 [console.airtop.ai](https://console.airtop.ai) 注册账号,在控制台的 API Keys 页面创建密钥。密钥用于所有 API 请求的身份认证,创建后仅显示一次,请立即保存到环境变量或密钥管理系统中。

步骤二:安装 Python SDK。 建议使用 Python 3.9+ 和虚拟环境。SDK 是唯一官方发布的 Python 包,包名为 airtop。

步骤三:验证安装。 确认 SDK 可导入且 Airtop 类可实例化。Airtop 类构造函数接收 api_key 参数,开发阶段建议从环境变量读取,避免硬编码。

若上述命令无报错,说明环境就绪。Node.js 用户可通过 npm install @airtop/sdk 安装 TypeScript SDK,初始化方式为 const client = new Airtop({ apiKey: process.env.AIRTOP_API_KEY })。

bash8 行
# 1. 安装 Python SDKpip install airtop # 2. 配置环境变量(写入 ~/.zshrc 或 ~/.bashrc)export AIRTOP_API_KEY="your_api_key_here" # 3. 验证 SDK 可导入且读取到密钥python -c "from airtop import Airtop; client = Airtop(); print('Airtop SDK ready')"

快速上手:5 分钟跑通第一个云浏览器会话

核心思路:创建会话 → 打开窗口 → 操作页面 → 关闭会话。会话(Session)是 Airtop 资源模型的核心,代表一个独立的云 Chromium 实例;窗口(Window)是会话中的浏览器标签页;页面(Page)是窗口内可交互的具体网页上下文。

步骤一:创建 API 密钥。 登录控制台 → API Keys → Create Key,复制密钥。推荐存入环境变量:export AIRTOP_API_KEY="你的密钥"。

步骤二:执行下方 Python 脚本。 脚本将创建会话、打开 example.com 并截图。

步骤三:在控制台查看运行结果。 控制台的 Sessions 页面会实时显示该会话的运行状态;截图文件 example.png 保存在当前目录,用图片查看器即可打开。

进阶提示:session.windows.create() 返回的 window.page 可直接调用 click()、type() 等方法进行交互;需要保持登录态时,可在创建会话时传入 profile_id 参数复用持久化配置。

python19 行
import osfrom airtop import Airtop # 初始化客户端(从环境变量读取密钥)client = Airtop(api_key=os.environ["AIRTOP_API_KEY"]) # 创建云浏览器会话session = client.sessions.create()print("会话已创建:", session.id) # 在会话中打开一个窗口并导航到目标网址window = session.windows.create(url="https://example.com")print("页面标题:", window.page.title) # 截图并保存window.page.screenshot("example.png") # 关闭会话(释放云资源)session.close()

核心能力详解:4 大支柱

支柱一:会话与窗口管理。 Airtop 以会话为资源边界,每个会话是一个隔离的云浏览器实例,支持并发创建、独立运行和按需关闭。会话内部可创建多个窗口,窗口之间共享会话上下文但互不干扰。创建会话时可通过参数控制是否后台运行、指定 API 版本等细节。该设计让「一个任务一个会话」的朴素隔离策略成为可能,天然适配多任务并行场景。

支柱二:AI 自动操作(AI Autopilot)。 这是 Airtop 区别于传统浏览器自动化框架的核心能力。开发者通过 session.auto.run(prompt="点击页面上‘登录’按钮") 这类自然语言指令,即可让平台自动解析目标、生成操作序列并执行。该能力适合页面结构未知、无需写精确选择器的场景;对已知结构的页面,仍可选用确定性操作(如 page.click())获得更高的可控性。

支柱三:配置文件(Profiles)与登录态处理。 配置文件是持久化的浏览器状态快照,包含 Cookie、本地存储和浏览器指纹。创建会话时挂载 Profile,即可在多次会话之间保持登录状态,无需重复执行登录流程。平台同时内置验证码自动处理能力,可降低自动化任务在真实站点上被拦截的概率。

支柱四:事件与可观测性。 会话运行期间产生的事件流(控制台日志、网络请求、DOM 变更、截图时机)可通过 SDK 订阅或查询。这一能力用于自动化失败时的根因分析:当页面未按预期响应时,可回溯网络请求和浏览器日志定位问题,而非仅凭最终截图盲猜。

生产部署与监控:从上线到运维

部署方式一:API 直连 + 任务编排。 将 Airtop SDK 集成到你的后端服务中,通过任务队列(如 Celery、SQS)调度浏览器任务。每个任务创建独立会话,执行完毕后立即关闭,避免资源泄漏与持续计费。由于会话本身在云上运行,你的服务端只需维护编排逻辑,无需管理浏览器进程。

部署方式二:事件驱动监控。 订阅会话事件流(控制台错误、网络异常、操作失败),将事件转发至日志系统(如 Elasticsearch)和告警工具。当会话出现异常时,通过自动重试或人工介入兜底。建议为每个业务任务预设超时时间(如 60 秒无响应即中止),防止僵尸会话堆积。

可观测性。 除事件流外,控制台提供会话实时预览、截图回放和操作记录。生产环境推荐将 API 调用次数、会话时长、失败率作为核心指标,按月核对账单以发现成本异常。所有密钥通过环境变量或 Vault 注入,禁止写入代码仓库;密钥泄露时立即在控制台吊销并重建。

<p class="para-label">避坑清单:</p>

<ul class="dash-list"><li>会话不会永久存活:默认创建的短时会话会自动过期,长期保持登录状态需使用配置文件,切勿假设会话可无限复用</li><li>AI 自动操作并非万能:遇到复杂布局、动态渲染或强反爬页面仍可能失败,生产环境必须设计人工接管与重试兜底</li><li>API 密钥一旦泄露即产生真实账单:务必通过环境变量管理密钥,并配置月度预算与用量告警</li><li>不要假设每次会话都有独享出口 IP:需要高频抓取时,应了解平台的代理策略或咨询企业版方案,而非默认其具备 IP 轮换能力</li></ul>

维度AirtopBrowserbaseSteelPlaywright
定位面向 AI 的云浏览器 + 自动操作云浏览器基础设施开源云浏览器 API开源浏览器自动化框架
编排范式云 API + 自然语言自动操作云 API + SDK云 API + SDK本地 SDK 代码
类型约束Python/TS SDK(强类型)Python/TS SDK(强类型)Python/TS SDK(强类型)多语言绑定
学习曲线偏低偏低中等偏高
生态集成专注 AI 代理场景专注 AI 代理与 LangChain与 AI 框架集成CI/测试工具链成熟
生产部署完全托管完全托管自托管需 Kubernetes自托管需完备运维
License商业闭源 + SDK 开源商业闭源MIT 核心(自托管)Apache 2.0
适合谁AI Agent 开发者、RPA 团队需浏览器基础设施的团队开源优先的构建者测试工程团队

选型建议:追求最低成本快速验证和 AI 自然语言驱动,选 Airtop;已深度使用 LangChain 生态且需要托管浏览器,选 Browserbase;开源合规要求强、愿意自建基础设施,选 Steel;需要与现有测试框架深度集成并且团队有运维能力,选 Playwright。

AI 应用场景

登录态 SaaS 数据采集

阶段:RAG 数据管道 / 文档智能

解决的问题:CRM、ERP 等 SaaS 系统有强登录保护和动态渲染,传统爬虫难以稳定获取数据。Airtop 通过配置文件持久化登录态,用云浏览器执行登录、查询、翻页和导出,将数据采集变成一个标准 API 调用。

具体案例:某市场调研团队每天需从 5 个登录保护的行业数据库中导出销售数据。原有方案由 2 名工程师手工操作浏览器,每天耗时约 3 小时;接入 Airtop 后,将导出流程固化为定时任务,人工耗时降至 10 分钟内的异常处理。

AI Agent 网页任务执行

阶段:Agent 编排 / 工具调用

解决的问题:AI 代理(如基于大模型的工作流)需要实际操作网页(预订、下单、填表)时,无法在纯文本环境中执行。Airtop 的 AI 自动操作以自然语言封装浏览器交互,让代理将网页操作作为工具调用。

具体案例:某企业的采购助手接到「在供应商门户提交询价单」任务后,调用 Airtop 会话打开门户、自动填写表单并上传附件,全程无需人工干预。任务成功率从人工操作的 95% 提升至 98%(语义驱动的执行方式)。

UI 回归与页面变更监控

阶段:文档智能 / 自动化测试

解决的问题:网页改版导致抓取管道失效是高频事故。Airtop 事件流可周期性检查页面结构、关键元素和控制台错误,页面异常时即时告警。

具体案例:某电商数据服务商对 20 个竞品页面做每日监测,页面改版后原来的人工巡检需半天才发现;接入 Airtop 后,页面 DOM 结构变化在 30 分钟内触发告警,大幅缩短了数据管道中断的「盲区时间」。

常见误区

误区用 Airtop 和用 Playwright 差不多,只是浏览器跑在云端而已,我的 Playwright 经验可以直接迁移。

正解Playwright 是运行在本地的自动化库,你想让它稳定工作必须自己解决代理、验证码、浏览器生命周期和机器资源问题;Airtop 是商业托管服务,将这些能力以 API 方式交付,内置了登录态管理和 AI 自动操作。你把 Playwright 脚本搬上来并不会自动获得这些能力,正确做法是按 Airtop 的会话-窗口-页面模型重新组织任务的调用流程。

为何常见:两者都做浏览器自动化,API 命名也类似,容易让人以为只是部署位置的差异。

误区我创建一个会话,让它一直在后台跑着,随时有待执行的任务就往里面塞。

正解会话有生命周期,默认创建的会话是短期的,超时后自动终止。若需要长期保持登录状态,应使用配置文件在多个会话间复用状态,而不是维持一个常驻会话。合理做法是「任务即会话」:为每个任务创建独立会话,执行完立即关闭,既规避生命周期问题,也便于成本核算。

为何常见:本地浏览器可以开着不管,云上资源的计费和生命周期管理是后来才考虑的事。

误区只需给 Airtop 一句自然语言指令,无论页面多复杂,它都能正确完成以前需要人工的操作。

正解AI 自动操作在常规交互(点击、填表、翻页)中表现较好,但面对动态加载的复杂页面或强风控场景仍可能失败。它适合作为快速启动器和低复杂度任务的执行器,生产环境中仍需结合确定性操作、异常捕获和人工接管流程。正确的期望是「AI 帮你省去写选择器的精力」,而非「AI 保证 100% 成功」。

为何常见:产品宣传强调自然语言驱动,容易让人忽略自动化任务固有的不确定性和边界。

误区这只是内部项目的 API 密钥,写死在脚本里方便,反正这段代码不会公开。

正解Airtop 密钥直接关联云资源计费,泄露等同于给他人开通了可消费你账单的浏览器通道。密钥必须通过环境变量或密钥管理系统注入,禁止提交到 Git 仓库;发现疑似泄露时应在控制台立即吊销并新建。示例代码使用 os.environ["AIRTOP_API_KEY"] 正是为了示范这一规范。

为何常见:本地快速原型时代码越短越好,密钥管理容易被视为「上线后才需要考虑」的环节。

误区创建多个会话就能获得多个不同的出口 IP,可以直接做高并发爬虫。

正解会话之间确实相互隔离,但不代表每个会话自动绑定不同的机房出口 IP,也不代表平台默认具备代理轮换能力。面向反爬严格的目标站做高频抓取时,你需要先了解 Airtop 的网络出口策略,必要时咨询企业版方案,而不是默认会话等于代理池。

为何常见:云浏览器 + 多个会话的组合容易让人联想到「代理农场」,实际上隔离性和 IP 多样性是两个维度的事。

面试题

Q1. Airtop 官方 Python SDK 的安装命令是什么?

单选题 · easy

  • A.pip install airtop← 正确答案
  • B.pip install playwright
  • C.pip install browserbase
  • D.pip install selenium

答案:A。官方 Python 包名为 airtop,通过 pip 直接安装。Playwright 是本地自动化框架,Browserbase 是同类竞品,Selenium 则是另一套自动化工具,均非 Airtop 官方 SDK。

Q2. 在 Airtop 的模型中,「会话(Session)」指的是什么?

单选题 · mid

  • A.一个云端的 Chromium 浏览器实例← 正确答案
  • B.一段自然语言操作指令
  • C.一个 API 密钥的别名
  • D.一个持久化的登录配置文件

答案:A。会话是 Airtop 资源模型的核心,代表一个独立运行的云端 Chromium 浏览器实例,是窗口和页面的载体。自然语言指令属于 AI 自动操作,API 密钥用于身份认证,配置文件用于登录态持久化。

Q3. 以下哪些方式可以创建 Airtop 会话?

多选题 · easy

  • A.通过 Python SDK 调用← 正确答案
  • B.通过 Node.js SDK 调用← 正确答案
  • C.在 Web 控制台操作← 正确答案
  • D.通过 SSH 终端直连

答案:ABC。Airtop 提供 Python SDK、TypeScript SDK 和 Web 控制台三种会话创建入口。SSH 终端连接不是 Airtop 提供的官方交互方式,SDK 本身是 HTTP API 的封装,不存在 SSH 直连通道。

Q4. 你需要将「每天从登录保护的 CRM 中导出数据」固化为自动化任务,以下哪个组合最合理?

单选题 · hard

  • A.配置文件保持登录态 + 定时任务创建短期会话← 正确答案
  • B.创建常驻会话并持续运行
  • C.每次任务都从零执行登录流程
  • D.将 CRM 密码硬编码在任务代码中

答案:A。配置文件持久化登录态避免了重复登录,定时任务配合短期会话既符合「任务即会话」的最佳实践,也便于成本控制。常驻会话会持续计费且存在生命周期风险,每次重新登录效率低且易触发风控,硬编码密码则存在严重安全隐患。

Q5. Airtop 的配置文件(Profile)主要解决什么问题?

单选题 · mid

  • A.在多次会话之间保持登录状态← 正确答案
  • B.提高浏览器执行速度
  • C.替代 API 密钥认证
  • D.实现离线任务运行

答案:A。配置文件是浏览器状态的持久化快照,包含 Cookie、本地存储等,挂载后新会话可直接复用登录态,避免重复认证。它不涉及执行加速、认证机制或离线能力。

Q6. 从哪里可以创建和管理 Airtop API 密钥?

单选题 · easy

  • A.在 Web 控制台的 API Keys 页面← 正确答案
  • B.通过任意第三方密钥平台
  • C.在 Python 脚本中即时生成
  • D.由 GitHub 自动签发

答案:A。Airtop API 密钥只能在官方 Web 控制台创建,且密钥创建后仅显示一次。Python 脚本通过环境变量读取密钥而非生成,GitHub 或第三方平台无权限为 Airtop 签发凭据。

Q7. 以下哪些属于 Airtop 的核心能力?

多选题 · mid

  • A.云端浏览器会话管理← 正确答案
  • B.自然语言驱动的 AI 自动操作← 正确答案
  • C.验证码自动处理← 正确答案
  • D.本地文件系统挂载

答案:ABC。云会话、AI 自动操作、验证码处理是 Airtop 官方文档明确列出的核心能力。本地文件系统挂载不在其能力范围内,文件相关需求应通过官方 API 的上传/下载通道处理。

Q8. 关于 Airtop 会话的资源管理,下列哪项做法能有效控制成本?

单选题 · hard

  • A.任务执行完毕后立即关闭会话← 正确答案
  • B.创建一个会话供所有任务共享
  • C.延长会话超时时间避免中断
  • D.多个 API 密钥轮换使用同一会话

答案:A。Airtop 按会话资源计费,任务结束即关闭会话是最直接的成本控制手段。共享会话会放大单点故障和资源争抢,延长超时增加无效计费时长,轮换密钥对定价没有影响。

Q9. Airtop SDK 的官方语言支持是哪些?

单选题 · mid

  • A.Python 和 TypeScript← 正确答案
  • B.Python 和 Java
  • C.Go 和 Rust
  • D.C# 和 Ruby

答案:A。官方文档提供 Python(airtop)和 TypeScript(@airtop/sdk)两套 SDK,其余语言需通过 REST API 直接调用。选型时优先使用官方 SDK 可获得类型提示和更及时的更新支持。

Q10. 在生产环境中大规模并行使用 Airtop 时,下列哪些是必要的工程实践?

多选题 · hard

  • A.对任务做队列化处理并设置并发上限← 正确答案
  • B.对 API 调用配置重试和超时机制← 正确答案
  • C.监控会话失败率与月度成本← 正确答案
  • D.忽略失败任务以降低开发投入

答案:ABC。队列化与并发上限保护平台配额和应用稳定性,重试与超时应对瞬时网络故障,成本监控防止预算失控——三者构成生产级部署的基本盘。忽略失败任务会让错误静默累积,最终无法定位系统性问题。

参考来源