核心用法
chrome-cdp-skill 利用 Chrome 远程调试协议(CDP)桥接 AI 与正在运行的 Chrome 实例,实现无头侵入式的浏览器自动化。区别于 Puppeteer/Selenium 等工具启动新浏览器实例的做法,该技能直接Attach到用户已打开的标签页,继承完整的登录态、Cookie 与页面上下文。
典型工作流:
1. 启用 Chrome 远程调试(chrome://inspect/#remote-debugging)
2. list 获取目标标签页 ID
3. 使用 snap/html 提取可访问性树或 DOM,click/type 执行交互,eval 注入 JS,支持链式操作
显著优点
- 会话继承:Gmail、GitHub、内部系统等已登录页面直接可用,规避 MFA/验证码重复挑战
- 状态保真:操作的是用户真实工作环境(打开的邮件、填了一半的表单),非干净的测试页
- 资源轻量:单 Node.js 进程,无需下载 Chromium,100+ 标签页不触发内存/超时问题
- 协议层控制:基于 CDP 原生 API,可抓取网络时序(
net)、性能指标、Accessibility 快照
潜在局限与风险
- 安全确认摩擦:首次 Attach 标签页时 Chrome 强制弹出"允许调试"对话框,需人工点击,无法完全无人值守
- 进程生命周期:守护进程 20 分钟无活动自动退出,长任务需保持心跳或重新初始化
- 选择器脆弱性:依赖 CSS selector 或 accessibility tree,动态前端框架(React/Vue 频繁重渲染)可能导致元素漂移
- 权限边界:拥有浏览器调试权限即拥有该标签页的全部能力(读敏感信息、执行任意 JS),多用户机器上需谨慎暴露 9222 端口
适合人群
- 需 AI 协助处理已登录 Web 应用的个人自动化(邮件分类、工单处理、数据摘录)
- 开发者调试/测试已有用户会话的特定页面状态
- 构建 MCP Server 以扩展 Claude/OpenClaw 浏览器能力的集成者
常规风险提示
- 仅在本地或受信网络启用远程调试端口,避免
0.0.0.0:9222暴露于公网 - 敏感页面(网银、企业后台)操作时注意屏幕共享与日志脱敏
- 建议配合
--remote-debugging-pipe替代端口,或使用 SSH tunnel 加固传输