Chrome CDP 技能

让 AI 代理直接操作您正在使用的 Chrome 浏览器,无需额外配置。

Star 数
★ 3.3k
最近更新
3 个月前
License
MIT
主语言
JavaScript

30 秒速览

运行形态
Agent 插件 / 技能命令行工具
可在哪里用
通用 · 跨平台
费用
免费,无需付费服务
上手难度
低 · 几分钟可跑通
开始前需要
Shell / 命令行网络访问本地文件系统
典型场景
开发者在测试网页时,让 AI 代理直接查看当前页面状态并执行操作,无需重新启动浏览器。
不适合
  • 需要移动端或非 Chromium 浏览器自动化的用户
  • 无法在环境中安装 Node.js 22+ 的团队
  • 需要无人值守长时间运行、不能接受守护进程 20 分钟超时退出的场景

这个 Agent 能做什么,适合哪些场景?

chrome-cdp-skill 是一个轻量级工具,通过 Chrome 远程调试协议连接您现有的 Chrome 会话。它允许 AI 代理读取和交互您已经打开的标签页,利用登录状态和当前页面状态,无需重新登录。该技能以命令行脚本形式提供,支持列表、截图、获取可访问性树、提取 HTML、执行 JavaScript、导航、点击、输入等操作。它通过持久守护进程避免重复授权弹窗,能可靠处理超过100个标签页。运行时仅需 Node.js 22+,无 npm 依赖,安装简单。

该工具通过 Chrome 的远程调试 WebSocket 直接通信,无需 Puppeteer。在访问标签页时,会启动一个后台守护进程持有会话,首次触发 Chrome 的“允许调试”弹窗,之后命令静默复用。支持列出打开标签页(list)、截图(shot)、获取可访问性树(snap)、提取 HTML(html)、在页面上下文执行 JavaScript(eval)、导航(nav)、获取网络资源计时(net)、点击元素(click、clickxy)、在聚焦元素输入(type)、循环点击“加载更多”(loadall)以及发送原始 CDP 命令(evalraw)。还支持打开新标签页(open)和停止守护进程(stop)。

  1. 开发者在测试网页时,让 AI 代理直接查看当前页面状态并执行操作,无需重新启动浏览器。
  2. 处理需要登录的网站(如 Gmail、GitHub)时,AI 代理可访问已认证的会话,避免重复登录。
  3. 多标签页工作流中,AI 代理可同时监控多个标签页,可靠处理超过100个标签页。
  4. 需要与网页交互的自动化任务,如点击按钮、填写表单、滚动加载,AI 代理可通过 CLI 命令执行。
  5. 与 Claude Code、Amp 等代理集成,通过复制技能目录加载,立即获得浏览器能力。
  6. 前端调试时,AI 代理可执行自定义 JavaScript 表达式并获取结果。

如何安装或部署这个 Agent?

作为 pi 技能安装:pi install git:github.com/pasky/[email protected]。对于其他代理,克隆或复制 skills/chrome-cdp/ 目录到代理技能目录。运行时仅需 Node.js 22+,无需 npm install。启用 Chrome 远程调试:导航到 chrome://inspect/#remote-debugging 并切换开关。

如何使用这个 Agent?

使用 CLI 脚本,例如:scripts/cdp.mjs list 列出打开标签页;scripts/cdp.mjs snap <target> 获取可访问性树;scripts/cdp.mjs eval <target> "expression" 执行 JS。<target> 是 list 显示的 targetId 的唯一前缀。设置 CDP_PORT_FILE 环境变量可指定非标准浏览器存储的 DevToolsActivePort 路径。

这个 Agent 有哪些优点和局限?

优点
  • 直接连接已有 Chrome 会话,无需启动新浏览器实例,保留登录状态。
  • 持久守护进程避免重复授权弹窗,支持超过100个标签页。
  • 无 npm 依赖,仅需 Node.js 22+,安装简单。
  • 支持多种浏览器(Chrome、Chromium、Brave、Edge、Vivaldi)和操作系统。
  • 提供丰富 CLI 命令覆盖常见交互需求(点击、输入、导航、截屏等)。
局限
  • 需要手动启用 Chrome 远程调试,且需用户授权弹窗(每个标签页一次)。
  • 依赖 Node.js 22+,旧版本环境不支持。
  • 守护进程在20分钟无活动后退出,长任务可能需重新启动。
  • 仅适用于桌面 Chrome 系浏览器,不适用于移动端或非 Chromium 浏览器。

这个 Agent 与同类方案有什么区别?

与 chrome-devtools-mcp 相比,chrome-cdp 使用持久守护进程,避免每次命令重新连接导致的授权弹窗频繁出现和标签页枚举超时问题。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Chrome CDP 技能 当前 48 · 缺口较多 Agent 插件 / 技能免费 ★ 3.3k 3 个月前 JavaScript —
Stagehand:AI 浏览器自动化框架 47 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 26k 今天 TypeScript —
Browser Harness ♞ 46 · 缺口较多 Agent 插件 / 技能免费 + 模型费 ★ 18k 1 天前 Python Codex · Claude Code
Chrome DevTools MCP 79 · 存在缺口 MCP 服务器免费 ★ 54k 今天 TypeScript Codex · Claude Code

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
48/ 100 五分制 2.4 / 5
信任安全 8/29
可靠稳定 8/14
适用触发 12/18
规范维护 8/18
有效结果 9/13
证据核验 3/8
查看各维度的扣分理由
信任安全8 / 29 · 1.4/5

证据显示:工具需要访问Chrome远程调试端口,但权限范围未明确限制;首次访问标签页时会出现Chrome的“允许调试”弹窗,提供用户确认;README说明了数据流(连接WebSocket、截图、读取HTML等),但未详细说明数据如何存储或传输;可能处理敏感数据(如登录页面内容),但未说明加密或脱敏措施;依赖仅Node.js 22+,无第三方npm包,但未提供依赖安全审计;外部影响包括打开新标签页、导航、点击等,但未说明是否可撤销;未提供回滚机制;来源归属仅MIT许可证和作者名,未验证身份。扣分原因:权限未最小化、数据流透明度不足、敏感数据处理未说明、依赖安全未审计、外部影响不可逆、无回滚、来源未验证。

可靠稳定8 / 14 · 2.9/5

证据显示:README与package.json描述一致,命令列表与说明匹配;依赖仅Node.js 22+,但未指定具体版本范围,可能影响可用性;错误处理未详细说明,如目标不存在或连接失败时的提示。扣分原因:错误消息不明确。

适用触发12 / 18 · 3.3/5

证据显示:面向AI代理开发者,场景包括读取登录页面、交互标签页等;能力边界明确(列出命令),但未说明限制如跨域限制;触发方式为命令行参数,精确但未说明模糊匹配规则;环境适配支持多浏览器和操作系统,但未说明非标准路径的完整支持。扣分原因:能力边界和触发精度部分未详细说明。

规范维护8 / 18 · 2.2/5

证据显示:信息架构清晰,README结构良好;安装说明详细,包括pi skill和其他代理;命名稳定,但版本号在README和package.json中不一致(v1.0.1 vs 1.1.0);示例仅列出命令,无FAQ;已知限制未明确列出;许可证为MIT,但版权年份为2026(可能错误);版本变更日志缺失;维护责任未明确。扣分原因:命名不一致、示例不足、已知限制缺失、版本日志缺失、维护责任不明确。

有效结果9 / 13 · 3.5/5

证据显示:输出包括截图、HTML、可访问性树等,格式实用;边际价值高,解决现有工具痛点;成本低,仅需Node.js,无额外依赖。扣分原因:无。

证据核验3 / 8 · 1.9/5

证据显示:README中的声明(如处理100+标签页)未提供测试或基准数据;无外部来源佐证;事实与推断未明确区分。扣分原因:声明缺乏可验证证据。

风险与缓解建议
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 该工具允许AI代理访问实时Chrome会话,可能读取敏感数据(如登录页面),请确保在受控环境中使用。
  • 权限范围未最小化,可能执行任意JavaScript(eval命令),请谨慎授权。
  • 版本号不一致(README v1.0.1 vs package.json 1.1.0),可能影响安装。
  • 无回滚机制,外部操作(如导航、点击)不可逆。
证据充分度:低 评估于 2026年8月9日 审查版本 ffea76a24b04
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v1.1.0
    发布说明摘录
    What's Changed * Support Linux Chrome DevToolsActivePort path by @fredheir in https://github.com/pasky/chrome-cdp-skill/pull/1 * Add MIT LICENSE file by @Jah-yee in https://github.com/pasky/chrome-cdp-skill/pull/29 * feat: add Linux Flatpak browser paths to DevToolsActivePort discovery by @ynezz in https://github.com/pasky/chrome-cdp-skill/pull/30 New Contributors * @fredheir made their first contribution in https://github.com/pasky/chrome-cdp-skill/pull/1 * @Jah-yee made their first contribution in https://github.com/pasky/chrome-cdp-skill/pull/29 …
    在 GitHub 查看 ↗
  2. v1.0.2
    发布说明摘录
    - Add click, clickxy, type, loadall, evalraw commands - snap now compact by default (no more InlineTextBox noise) - shot prints DPR and coordinate conversion hint - Coordinate system documented: CSS px = screenshot px / DPR - Eval index fragility warning in docs - Daemon IPC wire protocol documented in source - Reorganized as a proper pi package (installable via pi install git:github.com/pasky/chrome-cdp-skill) - Compatible with all agents (Amp, Claude Code, Cursor, etc.), not just pi
    在 GitHub 查看 ↗

常见问题

这个工具安全吗?
它直接连接 Chrome 远程调试接口,需要您手动启用开关并授权,且仅在本地运行,不会上传数据。但请注意,授权后 AI 代理可完全控制浏览器,请确保信任的代理使用。
支持哪些浏览器?
支持 Chrome、Chromium、Brave、Edge 和 Vivaldi,覆盖 macOS、Linux 和 Windows。
如何处理多标签页?
每个标签页启动一个守护进程,首次访问时弹出授权,之后静默复用。可处理超过100个标签页而不会超时。
需要安装其他依赖吗?
仅需 Node.js 22+,无 npm 包需要安装。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents