核心用法
Neo 是一套基于 Chrome DevTools Protocol (CDP) 的 Web 自动化工具,核心能力是将人工浏览行为转化为可复用的 API 调用。典型工作流:先通过 neo setup 完成 Chrome 扩展安装,用 neo open 打开目标站点,随后可选择三条路径:内容提取(neo read 获取纯净文本)、API 调用(neo schema generate 生成 Schema 后使用 neo api 智能调用)或 UI 自动化(neo snapshot 获取可访问性树后通过 @ref 操作元素)。
显著优点
1. 零逆向工程:被动捕获浏览器流量自动生成 API Schema,无需分析前端代码
2. 自动认证继承:API 调用在浏览器上下文执行,自动携带 Cookies、Session 和 CSRF Token
3. 双模交互:既有结构化 API 调用(neo api/neo exec),也有无障碍树驱动的 UI 自动化(neo click/neo fill)
4. 流量分析能力:支持调用序列分析(neo flows)、数据依赖追踪(neo deps)和 OpenAPI 导出
潜在缺点与局限性
- 环境依赖重:必须安装 Chrome、Node.js 及扩展,且需保持 CDP 端口开放
- 资源管理成本:每次
neo open创建新标签页,必须手动关闭避免内存泄漏 - Schema 冷启动:新站点需先人工浏览生成足够流量样本,才能自动生成可用 Schema
- 平台锁定:当前仅支持 Chrome,Firefox/Safari 用户需切换浏览器
- 隐私敏感:扩展持续捕获所有浏览流量,存在数据残留风险
适合人群
- 需要将内部 Web 后台转为 API 的开发者
- 需要自动化社交媒体操作(Twitter/X 等)的内容运营
- 进行 Web 数据采集但反爬策略严格的场景
- 希望用 API 方式交互但官方未提供接口的 SaaS 工具
常规风险
| 风险类型 | 说明 |
|---------|------|
| 隐私泄露 | 扩展捕获全站流量,可能记录敏感表单数据 |
| 账号封禁 | 自动化社交媒体违反 ToS,存在封号风险 |
| 会话劫持 | CDP 端口未加密时,本地 9222 端口可被利用 |
| 数据残留 | `~/.neo/schemas` 缓存可能包含业务敏感信息 |
| 资源耗尽 | 标签页未关闭导致 Chrome 内存持续增长 |