CDP
Chrome DevTools Protocol
Chrome 调试协议 · 用 WebSocket 直接指挥浏览器干活
- 定义
- CDP(Chrome DevTools Protocol)是AI领域的专业术语。CDP 是 Chromium 内核对外暴露的双向通信协议,Chrome DevTools 本身就是通过它工作的。
最后更新:2026-03-29
什么是CDP?
CDP 是 Chromium 内核对外暴露的双向通信协议,Chrome DevTools 本身就是通过它工作的。外部程序通过 WebSocket 连接浏览器的调试端口(默认 9222),即可用 JSON-RPC 指令控制页面导航、DOM 操作、JS 执行、网络拦截等 300+ 项能力。2026 年随着 AI Agent 浏览器操控爆发,CDP 从开发者调试工具变成了 Agent 的「手和眼」。
- Puppeteer、Playwright 底层都是 CDP——它们只是更友好的封装层
- CDP Proxy 模式可直连用户日常 Chrome,天然携带登录态,支持动态页面和交互操作
- WebDriver BiDi 是 W3C 推进的跨浏览器替代方案,但 CDP 在 Chromium 生态中仍是事实标准
CDP详解
CDP 最初为 Chrome DevTools 的内部通信而设计,协议按功能域(Domain)组织:Page 管导航、Network 管请求拦截、DOM 管元素操作、Runtime 管 JS 执行。启动 Chrome 时加上 --remote-debugging-port=9222 即可暴露 WebSocket 端点。Puppeteer 和 Playwright 本质上是 CDP 的高层封装,降低了使用门槛。2025-2026 年 AI Agent 浪潮中,CDP 成为 browser-use、OpenClaw 等 Agent 框架的核心通道——Agent 通过 CDP 直连用户已登录的浏览器,天然继承 Cookie 和会话状态,无需重新认证。Chrome 146 甚至原生支持 MCP(Model Context Protocol),让 AI 助手直接通过 CDP 操控浏览器。不过 CDP 的设计初衷是调试而非自动化,缺乏跨浏览器标准化,W3C 正推进 WebDriver BiDi 作为长期替代。
CDP的应用场景
正式定义
Chromium 浏览器通过 WebSocket 暴露的双向调试与控制协议,提供对浏览器内核的程序化访问能力。
应用场景
- AI Agent 浏览器操控:直连用户 Chrome 执行搜索、填表、截图等任务
- 自动化测试:Puppeteer/Playwright 底层通过 CDP 驱动浏览器运行端到端测试
- 爬虫与数据采集:拦截网络请求、执行 JS 渲染动态页面、绕过反爬检测
常见误区
- CDP 不是只能用于 Chrome——所有 Chromium 内核浏览器(Edge、Brave、Arc)都支持
- CDP 不等于 Puppeteer——Puppeteer 是 CDP 的 Node.js 封装,直接用 CDP 可以在任何语言中操控浏览器
实际案例
📌 AI Agent 直连用户浏览器
OpenClaw 等 Agent 框架通过 CDP Extension Relay 模式连接用户日常使用的 Chrome,继承已登录的会话状态,无需额外认证即可代用户执行网页操作、提取信息和截取视频帧。
CDP的参考来源
关于CDP的常见问题
- CDP 和 Puppeteer 是什么关系
- Puppeteer 是 Google 官方维护的 Node.js 库,底层通过 CDP 与 Chrome 通信。可以把 Puppeteer 理解为 CDP 的高层封装,简化了 API 调用。
- 为什么 AI Agent 都用 CDP 控制浏览器
- CDP 可以直连用户正在使用的 Chrome,天然继承登录态和 Cookie,还能截图、执行 JS、拦截网络请求,是 Agent「看到并操作」网页的最直接通道。
- CDP 会被 WebDriver BiDi 取代吗
- WebDriver BiDi 是 W3C 推进的跨浏览器标准,长期可能成为主流。但目前 CDP 在 Chromium 生态中功能最全、生态最成熟,短期内仍是事实标准。