YC S22项目Intuned发布:以代码构建可靠浏览器自动化
速览
YC S22孵化的初创公司Intuned发布了其浏览器自动化解决方案。该工具允许开发者以代码形式构建和运行浏览器自动化任务,旨在提高自动化流程的可靠性与可维护性。此举为需要稳定Web自动化能力的开发者和企业提供了新的技术选择。
AI 深度解读
Launch HN: Intuned (YC S22) – 以代码形式构建和运行可靠的浏览器自动化
背景
在当前的 Web 数据获取与自动化领域,开发者长期面临一个核心痛点:维护浏览器自动化脚本(如使用 Playwright 或 Selenium)极其耗时且脆弱。网站结构的频繁变更、反爬虫机制的升级以及认证会话的管理,往往导致自动化任务频繁失败。尽管 AI 模型在理解网页内容方面取得了巨大进步,但将这种理解转化为稳定、可生产环境部署的自动化代码仍然是一个挑战。
Intuned(Y Combinator S22 期孵化项目)正是在此背景下应运而生。它旨在解决“停止编写浏览器自动化”这一需求,通过 AI Agent 自动生成生产就绪的 Playwright 代码,并在网站结构变化时自动修复代码。其核心理念是让开发者获得代码级别的可靠性,而无需亲自编写和维护复杂的自动化逻辑。
核心内容
Intuned 提供了一套完整的浏览器自动化解决方案,涵盖 Scraper(爬虫)、Crawler(爬取器)、RPA(机器人流程自动化)和 AI 自动化四大场景,并推出了具备“学习”能力的 Web Tasks API。
1. Scraper(数据提取器)
专注于从任何网站提取数据,包括电商、政府门户、招聘网站等。
- Intuned Agent:根据提示词(Prompt)和 Schema 生成爬虫代码,并在网站结构变化时利用 AI 自动修复问题。
- 代码灵活性:支持使用 TypeScript 或 Python,基于 Playwright 或任何兼容的库/框架编写。
- 反检测与认证:内置反检测、验证码解决(Captcha solving)和登录处理功能。
- 调度与监控:支持定时任务运行,提供完整的日志记录和会话录制。
- 自动扩展:从单机到数百台机器,基础设施由平台自动管理。
2. Crawler(站点爬取器)
用于在成千上万页面上发现、导航和收集数据,构建能够跟随链接、解析站点地图并索引内容的爬取器。
- 代码灵活性:同样支持 TypeScript 或 Python,兼容 Playwright 或任何爬取库。
- Crawl4AI 支持:提供对 Crawl4AI 的一流支持,无需管理基础设施即可部署和扩展爬取器。
- 隐身模式:内置反检测、代理和验证码解决功能。
- 可扩展基础设施:用户控制运行机器数量,其余由平台处理。
3. RPA(机器人流程自动化)
构建代表用户与网站交互的浏览器自动化,如表单提交、数据录入、账户操作等。特别适用于集成那些不提供 API 的服务。
- 内置认证支持:通过编写
create.ts/check.ts(或 Python 对应文件),Intuned 管理会话生命周期(验证、复用和重建)。 - 多引擎支持:支持 TypeScript/Python 配合 Playwright,或通过 AI 驱动(如 Anthropic Computer Use, OpenAI CUA, Stagehand, Browser-use, Gemini Computer Use)。
- 操作方式:既可以通过浏览器交互自动化,也可以通过更快的浏览器内网络请求实现。
- API 优先与并发控制:部署为 API 端点,设置并行限制,平台负责队列和执行。
4. AI 自动化
构建能够导航、交互和提取数据的 AI 驱动自动化。无论是将 AI Agent 作为产品构建,还是利用 AI 自动化爬取和工作流。
- 广泛兼容性:支持任何 AI 浏览器库或 API,包括 Anthropic Computer Use, OpenAI CUA, Stagehand, Browser-use, Gemini Computer Use 以及 Intuned/Browser SDKs。
- 混合模式:可以在单个自动化中结合确定性的 Playwright 逻辑与 AI 驱动的步骤。
- AI 用量控制:监控并限制自动化任务中的 AI 信用额度使用。
- 可扩展基础设施:可部署为 API 或调度任务,控制并发,平台处理剩余部分。
5. Managed Scraping(托管爬取服务)
针对需要数百或数千个爬虫的用户,由 Intuned 的解决方案工程师(由 Intuned Agent 赋能)代为构建和维护。
- 构建与交付:用户告知所需站点和 Schema,Intuned 交付生产就绪的爬虫。
- 成本效益:解决方案工程师 + Intuned Agent 意味着更低的成本和更快的构建速度。
- 持续维护:网站变更时,Intuned 更新爬虫以保持运行。
- 无锁定:用户拥有代码所有权,可随时切换至自助服务模式,无转售或黑盒限制。
- 灵活定价:按数据源固定费用或定制安排。
6. Web Tasks API:具备学习能力的 Web 任务
这是 Intuned 的核心创新点之一。Web Tasks 允许通过自然语言指令运行任何 Web 任务(爬取、爬取、填表、多步操作、下载文件等)。其独特之处在于引入了 reuseKey 机制,使任务具备“学习”能力。
工作原理示例:
当首次运行一个任务时,Intuned 会创建技能(Skill)并编写可复用的辅助函数。当后续使用相同的 reuseKey 运行类似任务时,系统会复用之前的技能,从而显著降低执行时间和成本。
代码示例解读:
-
TypeScript 示例:
const companySchema = z.array( z.object({ name: z.string(), location: z.string(), }), ); // 第一次运行:创建技能 await webTasks.run({ task: "Scrape YC companies. Return name, batch, description, and URL.", startUrl: "https://www.ycombinator.com/companies", parameters: { batch: "S24" }, outputSchema: companySchema, reuseKey: "yc_companies_scraper", }); // 输出: ✓ created skill yc_companies_scraper // ✓ wrote reusable helpers // ✓ returned 247 companies · 6m 12s · $0.84 AI + 0.10 compute hrs // 第二次运行:复用技能,速度大幅提升 await webTasks.run({ task: "Scrape YC companies. Return name, batch, description, and URL.", startUrl: "https://www.ycombinator.com/companies", parameters: { batch: "W24" }, outputSchema: companySchema, reuseKey: "yc_companies_scraper", }); // 输出: ✓ reused skill yc_companies_scraper // ✓ returned 208 companies · 58s · $0.12 AI + 0.02 compute hrs -
Python 示例:
class Company(BaseModel): name: str location: str # 第一次运行 await web_tasks.run( task="Scrape YC companies. Return name, batch, description, and URL.", start_url="https://www.ycombinator.com/companies", parameters={"batch": "S24"}, output_schema=list[Company], reuse_key="yc_companies_scraper", ) # 输出: ✓ created skill yc_companies_scraper ... # 第二次运行 await web_tasks.run( task="Scrape YC companies. Return name, batch, description, and URL.", start_url="https://www.ycombinator.com/companies", parameters={"batch": "W24"}, output_schema=list[Company], reuse_key="yc_companies_scraper", ) # 输出: ✓ reused skill yc_companies_scraper ...
集成指南:
- 触发方式:用户可通过 Intuned CLI 或 SDK(TypeScript/Python)触发任务。
- 可选输入:
parameters:动态输入,每次运行可能不同。outputSchema:
