章节 01
导读 / 主楼:Imprint:一次录制,让 AI 代理永久掌握任意网站操作
Imprint:一次录制,让 AI 代理永久掌握任意网站操作
在 AI 代理日益普及的今天,如何让它们真正"学会"操作复杂的网页应用,一直是开发者面临的难题。传统的方案要么依赖 LLM 实时决策每一次点击,token 成本高昂且结果不稳定;要么需要编写大量定制化代码,维护成本极高。今天介绍的 Imprint,带来了一种全新的思路:只需录制一次,就能获得一个确定性的 MCP 工具,供 AI 代理永久调用。
背景:AI 代理与网页自动化的困境
当前主流的浏览器自动化方案,如 browser-use 或 Computer Use,核心思路是让 LLM 在运行时实时决定每一步操作。这种方式虽然灵活,但存在几个明显缺陷:
- Token 成本随任务复杂度线性增长
- 结果不稳定:同样的输入可能产生不同的执行路径
- 容易被反爬虫机制拦截:自动化指纹容易被识别
- 没有回退机制:一旦某个步骤失败,整个任务就中断
更重要的是,很多网站操作其实是高度模式化的——比如查询航班价格、预订酒店、获取账户信息。每次都让 LLM "重新学习"这些操作,本质上是一种资源浪费。
Imprint 的核心创新:录制即代码
Imprint 的核心理念可以用一句话概括:"Don't do anything twice. Teach your AI agent once, and it remembers forever."
它的工作流程极其简洁:
imprint teach southwest --url https://www.southwest.com
执行这条命令后,Imprint 会打开浏览器,用户只需手动完成一次目标操作(比如搜索航班),同时进行语音讲解。Imprint 会记录所有的网络请求和 DOM 交互,然后自动生成两个关键产物:
- workflow.json —— API 级别的重放配置(执行速度快)
- playbook.yaml —— DOM 级别的回退方案(兼容性最强)
更重要的是,整个过程会自动识别并脱敏敏感信息(凭证、PII),确保安全性。
三重执行引擎:速度与稳定性的平衡
Imprint 最独特的设计是它的三层回退机制:
第一层:直接 Fetch
对于没有反爬虫保护的纯 API 调用,直接使用 fetch,响应时间约 200ms。
第二层:Stealth Fetch
当遇到 Akamai、Cloudflare、DataDome 等反爬虫系统时,自动启用 stealth-fetch。它使用真实的 Chromium 浏览器,配合 stealth 技术绕过检测。首次调用约 12 秒,后续缓存后约 1 秒。
第三层:Playbook 回退
如果 API 发生变化导致前两层失效,自动回退到 DOM 级别的 playbook 重放。虽然速度较慢(约 9 秒),但几乎可以应对任何页面结构。
这种设计确保了极高的可靠性——即使目标网站更新,工具仍然能够工作。
零 Token 运行时:成本与确定性的双赢
与传统方案最大的区别在于,Imprint 生成的 MCP 工具在运行时零 token 消耗。因为执行路径已经在录制阶段确定,AI 代理只需调用工具并传入结构化参数,就能获得结构化结果。
对比来看:
| 维度 | Imprint | browser-use / Computer Use |
|---|---|---|
| 工作原理 | 录制一次,确定性重放 | LLM 实时决策每一步 |
| Token 成本 | 运行时零消耗 | 随任务复杂度增长 |
| 可靠性 | 确定性输出 | 可能因探索而偏离 |
| 反爬虫能力 | 真实 Chromium + stealth | 易被检测 |
| 失败回退 | 自动多级回退 | 无回退 |
| 执行时间 | 200ms - 9s | 通常 30s+ |
多平台无缝集成
Imprint 在工具生成后,会自动处理与各大 AI 平台的集成:
- Claude Code:自动运行
claude mcp add - Codex CLI:自动运行
codex mcp add - Claude Desktop:提供即贴即用的 JSON 配置
- OpenClaw:导出 MCP 配置 + SKILL.md
- Hermes:完整导出 MCP 配置、SKILL.md 和 cron 映射
每个网站注册为独立的 MCP 服务器(如 imprint-southwest、imprint-google-flights),避免工具命名冲突。
安全设计:凭证管理与共享
Imprint 在凭证处理上也下了功夫。它支持加密的凭证包导出导入:
# 在录制机器上导出
imprint credential export southwest --out southwest.imprintbundle
# 在目标机器上导入
imprint credential import southwest southwest.imprintbundle
凭证包使用 libsodium 加密,Argon2id 派生密钥,可以安全地通过 Slack、邮件、SCP 等渠道传输。导入后,凭证存储在目标机器的 OS 密钥链中,运行时动态解析。
实际应用案例
项目仓库中提供了多个现成示例:
- Southwest 航班查询:实时票价监控,绕过 Akamai 检测,支持价格下降通知
- Google Flights:跨航司实时航班搜索,解析 Google 的原始 protobuf 响应
- Google Hotels:酒店搜索,支持星级、评分、价格筛选
- Discover & Go:需要身份认证的预订流程
这些示例展示了 Imprint 从简单的公开数据抓取到复杂的认证流程,都能胜任。
技术栈与安装
Imprint 基于 Bun 运行时(要求 >= 1.3),能够自动检测系统中已配置的 LLM 提供商(Claude CLI、Codex CLI、Cursor CLI、Anthropic API、Vertex AI)。
安装步骤:
git clone https://github.com/ashaychangwani/imprint.git && cd imprint
bun install && bun link
安装后运行 imprint doctor 可以查看检测到的提供商配置。
总结与展望
Imprint 代表了一种新的 AI 代理工具开发范式:从"教 LLM 如何做"转变为"告诉 LLM 已经做好的工具"。这种转变带来了几个显著优势:
- 成本大幅降低:运行时零 token 消耗
- 结果高度确定:同样的输入永远产生同样的输出
- 维护更加简单:网站更新时只需重新录制
- 可靠性显著提升:多级回退机制确保任务完成
对于需要频繁与外部网站交互的 AI 代理应用,Imprint 提供了一个生产级的解决方案。它的设计理念——录制一次、永久复用——非常符合自动化的本质追求。
项目采用 MIT 许可证开源,目前处于积极开发阶段。感兴趣的开发者可以在 GitHub 上关注项目进展,或尝试用它为自己的 AI 代理添加新的能力。