chrome-devtools-mcp 变更日志全解:从 0.1.0 到 1.8.0 的版本演进与发布机制
本文以仓库根目录的 CHANGELOG.md 为主体,完整梳理 chrome-devtools-mcp(Chrome DevTools for coding agents)自 2025-09-16 首个版本 0.1.0 至 2026-08-25 版本 1.8.0 的全部发布脉络:哪些版本引入了堆快照内存调试工具、chrome-devtools CLI、pageId 并行路由、Lighthouse 集成与 PWA 自动化工具,并基于 release-please-config.json、src/version.ts、server.json 等仓库文件说明该变更日志是如何自动生成与版本同步的。读完本文,你可以快速判断"我的场景该锁定哪个版本",并理解该项目的 SemVer 语义与发布流程。
一、变更日志的结构与阅读约定
CHANGELOG.md 采用 release-please 生成的标准格式:每个版本一个 H2 标题,形如 ## 1.8.0 (2026-08-25),标题内附该版本与上一版本的 compare 链接;条目按语义化提交类型分组,组内每条都带 PR/issue 编号与 commit 短哈希,例如:
* Add query_heapsnapshot MCP tool (#2553) (fadbf41)
分组(section)与显示规则不是随手写的,而是由 release-please-config.json 精确声明的。该配置定义了以下映射关系:
| 提交类型 | 变更日志章节 | 是否显示 |
|---|---|---|
feat |
🎉 Features | 是 |
fix |
🛠️ Fixes | 是 |
docs |
📄 Documentation | 是 |
perf |
⚡ Performance | 是 |
refactor |
🏗️ Refactor | 是 |
chore / test |
♻️ Chores | 隐藏("hidden": true) |
build / ci |
⚙️ Automation | 隐藏("hidden": true) |
由此可以得出两个阅读要点:
- 条目带 scope 前缀表示模块级修改,例如
**cli:** enable tools which require --memoryDebugging on the CLI指 CLI 子项目(对应chrome-devtools可执行文件)的修改,**telemetry:**指遥测模块,**input:**指输入模拟工具。 - 看不到 chore/test/build/ci 类变更是配置行为而非遗漏。仓库中大量目录重组(如 1.8.0 的 "move files to folders that better represent their use")实际发生在 refactor 组下,这类条目对使用者无直接影响,但能帮助你理解代码库结构为何在某个版本后发生变化。
二、发布机制:CHANGELOG 如何被自动生成并同步版本
变更日志并非手工维护。从 release-please-config.json 的 packages["."].extra-files 可以确认,release-please 在每次发版时会同步修改下列文件的版本字段,保证"版本号只改一处、处处一致":
| 文件 | 同步的字段 |
|---|---|
| package.json | version(当前为 "1.8.0") |
| src/version.ts | VERSION 常量,被 // x-release-please-start-version 与 // x-release-please-end 标记包围,且文件内注释明确提示 "If moved update release-please config" |
| server.json | version 与 packages[0].version(当前均为 "1.8.0") |
| mcp.json | mcpServers['chrome-devtools'].args[2],即 chrome-devtools-mcp@1.8.0 中的版本号 |
plugin.json、gemini-extension.json 及各 .claude-plugin/.cursor-plugin/.github/plugin 清单 |
version 与 mcpServers['chrome-devtools'].args[0] 中钉住的 chrome-devtools-mcp@<version> |
也就是说,每当 CHANGELOG 新增一个版本段落,上述文件中的版本号会机械地一同更新。这对使用者的实际意义是:只要核对 CHANGELOG.md 顶部的版本段与 package.json 的 version 一致(当前都是 1.8.0),即可确认这份仓库快照处于一次完整发版之后的状态。
仓库还内置了对 server.json 的校验脚本 scripts/verify-server-json-version.ts:它下载 MCP 官方的 mcp-publisher 工具并执行 init,把生成的 server.json 与仓库版本对比 $schema 等字段,不一致即报错。这说明 server.json 是面向 MCP 注册表($schema 指向 modelcontextprotocol.io 的 server schema)的发布描述文件,其维护强度与普通配置文件不同。
三、里程碑总览:0.x 时代(2025-09-16 至 2026-05-17)
以下按 CHANGELOG.md 中的版本倒序归纳早期版本的主线。0.x 阶段是功能快速堆叠期,平均每周一个版本,重大能力几乎全部在这一阶段落地。
3.1 起步与性能/网络基线(0.1.0 – 0.7.x)
| 版本 | 日期 | 关键条目(摘自变更日志原文) |
|---|---|---|
| 0.1.0 | 2025-09-16 | initial version;"make sure tool calls are processed sequentially"(工具调用串行化);"improve tools with awaiting common events" |
| 0.2.0 | 2025-09-17 | 新增 performance_analyze_insight 工具;evaluate_script 支持参数;trace 输出改用 Performance Trace Formatter;uid 校验 |
| 0.2.1–0.2.7 | 2025-09-23~24 | 一连串稳定性修复:浏览器崩溃原因在 Windows 上的 workaround、Emulation 场景超时加长、browserUrl 修复、禁止关闭最后一个 page、Node 版本不兼容时给出明确报错 |
| 0.3.0 | 2025-09-25 | list_network_requests 支持分页 |
| 0.4.0 | 2025-09-26 | 网络请求按 resource type 过滤;trace 摘要补充 Core Web Vitals 说明与数据格式信息;暴露 --debug-file |
| 0.5.0 / 0.5.1 | 2025-09-29 | 截图支持 JPEG quality 参数;声明 Node 20 支持(engines 更新) |
| 0.6.0 / 0.6.1 | 2025-10-01~07 | 截图支持 WebP 与 quality;支持输出截图到指定路径;--proxy-server、--accept-insecure-certs、初始 viewport;wait_for 与导航支持超时;performance_stop_trace 的防护性检查 |
| 0.7.0 | 2025-10-10 | emulate_network 支持离线网络模拟;网络工具增加请求/响应体获取 |
| 0.8.0 / 0.8.1 | 2025-10-10~13 | 支持向 Chrome 传递启动 args;快照补充 <select> 当前 option 值;导航历史错误信息改进 |
从这一阶段的修复条目密度可以看出,早期重心是把无头浏览器的边界情况(弹窗、iframe、NTP 页面挂起、page 生命周期)打磨稳定,例如 0.2.x 的 "detect multiple instances and throw"(检测到多实例即抛错)为后来 0.12.0 的 --auto-connect 与 1.6.0 的 page 重连修复埋下伏笔。
3.2 可配置性与 DevTools 深度集成(0.9.0 – 0.14.x)
| 版本 | 日期 | 关键条目 |
|---|---|---|
| 0.9.0 | 2025-10-22 | 工具分类(--category*)配置能力落地;console 工具支持过滤与分页;WebSocket 端点与自定义 headers;支持暴露历史导航(PageCollector 保存最近 3 次导航,见该版本 chores "store the last 3 navigations in PageCollector");网络请求稳定 ID;verbose 快照;依赖打包(puppeteer-core、modelcontextprotocol-sdk、zod 全部 bundle 进单文件) |
| 0.10.0 | 2025-11-05 | press_key 工具;performance_analyze_insight 增加 insightSetId;重载时忽略缓存的选项;检测 DevTools UI 中被检视的网络请求;获取 DevTools Elements 面板中已选 DOM 节点;page 重载支持;快照保存到文件;emulate 系列工具合并为一个 |
| 0.11.0 | 2025-12-03 | 地理位置模拟工具;DevTools Issues 集成进 console 工具(对应源码 src/devtools/issueDescriptions.ts 与 src/formatters/IssueFormatter.ts);--user-data-dir 支持;wait_for 尊重自定义超时 |
| 0.12.0 / 0.12.1 | 2025-12-09~12 | --auto-connect 连接已运行的 Chrome 实例,并可配合 --user-data-dir 指定 profile;事件处理器异常捕获;select_page 的 bringToFront 变为可选 |
| 0.13.0 | 2026-01-14 | 性能工具支持 filePath 落盘;可禁用默认 Chrome 启动参数;resize_page 在窗口最大化/全屏下可用 |
| 0.14.0 | 2026-01-27 | 首个随包发布的 skill("add a skill for using chrome-devtools-mcp",对应 skills/chrome-devtools/SKILL.md);new_page 增加 background 参数;输入工具可跳过快照生成;get_console_message 携带堆栈;设备视口与 UA 模拟;网络请求/响应体支持 filePath |
0.9.0 的依赖打包值得单独一提:该版本 chores 组连续出现 "bundle all dependencies together"、"bundle puppeteer-core" 等条目,对应 rollup.config.js 的产物形态(package.json 的 files 只包含 build/src、LICENSE 与 skills),这是该包安装体积与启动方式的由来。
3.3 遥测、安全与内存调试的开端(0.15.0 – 0.19.x)
| 版本 | 日期 | 关键条目 |
|---|---|---|
| 0.15.0 / 0.15.1 | 2026-01-28~30 | 支持向页面注入加载期脚本;启用默认可退出的使用统计(usage statistics opt-out),随后修复在 CI 或设置 CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS 时禁用统计;支持明/暗色模式测试 |
| 0.16.0 | 2026-02-04 | 未捕获错误携带 source-mapped 堆栈(配合 0.12.x 的源码映射能力) |
| 0.17.0 – 0.17.3 | 2026-02-10~19 | 性能 trace 摘要集成 CrUX 真实用户数据;console 输出包含 Error.cause 链;console.log Error 对象时展示 message 与堆栈;堆栈行号改为 1-based 并修复 wasm 偏移;网络请求/响应格式化器去重 |
| 0.18.0 | 2026-02-24 | 功能大版本:--slim 模式(对应 src/tools/slim/tools.ts);实验性 screencast 录制工具;take_memory_snapshot 工具(堆快照能力起点);storage-isolated 浏览器上下文(隔离的浏览器 profile);wait_for 支持 any-match 文本数组;type_text;新增无障碍调试与 LCP 优化两个 skill |
| 0.18.1 | 2026-02-25 | 移除 memory 工具中 filePath 的 endsWith 校验 |
| 0.19.0 | 2026-03-05 | pageId 路由(并行多智能体工作流);Lighthouse 审计集成(对应 src/tools/lighthouse.ts);MCP server 上手 skill;工具描述与 emulation/script 工具简化;页面作用域工具类型安全改造 |
3.4 CLI 时代与插件生态(0.20.0 – 0.26.0)
| 版本 | 日期 | 关键条目 |
|---|---|---|
| 0.20.0 | 2026-03-11 | 实验性 chrome-devtools CLI(对应 package.json 的第二个 bin 入口 ./build/src/bin/chrome-devtools.js 与 docs/cli.md);主文件拆分移动 |
| 0.20.1 – 0.20.3 | 2026-03-16~20 | 使用 CDP 发现已打开的 DevTools 页面;categoryExtensions 与 autoConnect 互斥约束;NetworkCollector 释放旧导航请求 |
| 0.21.0 | 2026-04-01 | 基于 take_memory_snapshot 的内存泄漏检测 skill(对应 skills/memory-leak-debugging/SKILL.md);CLI 在提供 userDataDir 时不再默认 isolated;list_pages 在选中页关闭后仍可用;Claude Code 插件版本化;.mcp.json 包裹进 mcpServers 键 |
| 0.22.0 | 2026-04-21 | 双二进制更新通知;脚本求值时自动处理弹窗;文件输出强制扩展名;实验性 click_at(x,y);Chrome 扩展调试支持(对应 src/tools/extensions.ts 与 tests/tools/fixtures/extension/ 等测试夹具);DevTools header 脱敏选项;WebMCP 实验工具(列出/执行页面暴露的 WebMCP 工具) |
| 0.23.0 | 2026-04-22 | 可自定义 ffmpeg 路径(screencast 依赖);navigate 实验性 allowlist;screencast 支持 webm 格式 |
| 0.24.0 | 2026-05-02 | Lighthouse agentic browsing;CLI 为条件性工具生成命令;console 消息连续重复项分组;MCP 客户端 roots 特性支持(对应 tests/roots.test.ts);开放对话框时主动拒绝工具调用 |
| 0.25.0 | 2026-05-06 | 第三方开发者工具支持(对应 src/tools/thirdPartyDeveloper.ts);原生 select 选项点击超时修复 |
| 0.26.0 | 2026-05-11 | CLI 支持 --autoConnect;仅页面作用域工具才要求已选页面;fill_form 对复选框的体验优化 |
四、1.0 稳定版及其后:内存调试与 PWA 主线(2026-05-18 至今)
1.0.0 于 2026-05-18 发布,标志着项目进入语义化版本 1.x。此后每个 minor 版本都延续了"新增成体系工具 + 稳定性修复"的节奏,其中内存(堆快照)调试是最长的产品主线。
4.1 1.0.0 – 1.2.0:稳定化与 URL 过滤
- 1.0.0(2026-05-18):触发导航的动作(如点击)后报告新 URL;
evaluate_script支持filePath指向外部脚本文件;禁用 DevTools 的 NetworkManager 以避免重复采集;未知工具参数会被报告。同日发布 1.0.1:CLI 的 JSON 输出包含已保存图片路径。 - 1.1.0(2026-05-26):
emulate工具增加extraHttpHeaders;Cursor 的plugin.json随版本自动管理;CPU 节流应用到辅助 CDP 会话;pageId变为必填(1.1.1 修正为 CLI 首参);MCP roots 校验改用 realpath。 - 1.2.0(2026-06-08):实验性 TOON 结构化输出(对应 package.json 中的可选 peer 依赖
@toon-format/toon);close_heapsnapshot工具;多提供方第三方开发者工具;扩展 Service Worker 日志(对应 src/collectors/ServiceWorkerCollector.ts);memory debugging 工具组;allowedUrlPattern/blockedUrlPattern选项(URL 级拦截,对应 tests/network_blocking.test.ts)。
4.2 1.3.0 – 1.7.0:堆快照分析工具矩阵成型
这一区间的变更日志清晰呈现了堆快照工具族的逐步补全,是理解 chrome-devtools-mcp 内存调试能力的最直接证据链(工具实现位于 src/tools/memory.ts,处理器位于 src/processors/HeapSnapshotManager.ts 与 src/formatters/HeapSnapshotFormatter.ts):
| 版本 | 日期 | 堆快照相关新增 | 其他要点 |
|---|---|---|---|
| 1.3.0 | 2026-06-23 | get_heapsnapshot_dominators(支配树)、get_retaining_paths(保留路径)、get_heapsnapshot_edges(边查询);改用 HeapSnapshotProxy.nodeIndexById 索引 |
list_pages 输出包含页面标题;screencast 文件扩展名大小写不敏感;CLI 提供限制截图尺寸参数 |
| 1.4.0 | 2026-06-23~23(2026-06-23 发布) | — | skills 目录随 npm 包发布(package.json files 中的 skills 条目);Windows 更新检查控制台隐藏;网络重定向链在文本/JSON 输出间顺序一致 |
| 1.5.0 | 2026-07-03 | get_heapsnapshot_duplicate_strings(重复字符串检测);堆快照对比工具(随后该版本内的重构 "Merge MCP tools for comparing heap snapshots" 把两个对比工具合并为一个) |
CLI 错误信息面向 AI agent 与开发者重写;PID 目录以 0o700 安全权限创建;问题描述加载并发化 |
| 1.6.0 | 2026-07-14 | 堆快照聚合支持 filter;get_heapsnapshot_details 输出对象数量与总大小 |
experimentalGcfFormat 标志(GCF 编码的工具响应,对应可选 peer 依赖 @blackwell-systems/gcf);--allow-unrestricted-paths 配置;Lighthouse 更新至 13.4.0;页面重连后 page id 保持唯一;page 0 分页修复 |
| 1.7.0 | 2026-08-10 | get_heapsnapshot_object_details;快照摘要输出 native contexts;按 native context 过滤对象 |
遥测三项增强(记录 DevTools 数据、每次工具调用附带 is_devtools_open、localhost 判定);每次导航的网络请求保留量设上限;CLI 校验 session id 并警告 cli 与 daemon 版本不匹配;heap snapshot worker 在上下文销毁/加载失败时正确释放;无 viewport 模拟时降采样视口截图;引入显式资源管理(using) |
4.3 1.8.0:当前版本(2026-08-25)
CHANGELOG.md 顶部的 1.8.0 段落包含 9 条 Features、18 条 Fixes、2 条 Documentation 与 5 条 Refactor,是本仓库快照的最新状态(与 package.json、src/version.ts、server.json 中的 1.8.0 完全一致)。核心变化可归纳为三点:
- 堆快照工具族收官:
get_heapsnapshot_edges增加更多查询参数并展示 self/retained 大小;新增query_heapsnapshotMCP 工具(面向 agent 的自由查询入口);get_heapsnapshot_summary报告被 contexts 保活的内存。至此,摘要、支配者、保留路径、对象详情、重复字符串、对比、边查询、自由查询构成完整的内存分析闭环。 - PWA 自动化工具(对应 src/tools/pwa.ts 与 tests/tools/pwa.test.ts):新增一组 PWA 场景的自动化检查工具,关闭了 issue #2270。
- 并发与多页语义收紧:
pageId对页面作用域工具默认变为必填(#1777);upload_file支持多文件(#2257);list_console_messages可选携带堆栈(#2505);evaluate_script可跳过稳定 DOM 等待(#2346)。
1.8.0 的修复条目同样值得关注,它们大多直接改善 agent 的可用体验:HiDPI 显示器上尊重截图 bounds(#2536);未知 CLI 参数给出警告(#2577);客户端对 roots/list 响应缓慢时不再阻塞工具调用(#2477);性能 trace 不再启用 invalidation tracking(#2500);debugger 语句确保被 DevTools 跳过(#2555);CLI 错误直接打印消息而非整段 JSON(#2580);--memoryDebugging 工具在 CLI 侧默认启用(#2585)。重构侧,性能 trace 改用 DevTools 默认 trace categories(#2571),debug 依赖替换为 Node 原生 debug(#2562)。
五、如何基于变更日志做版本决策
结合 CHANGELOG.md 与仓库文件,给出三条可操作的选版建议(均以当前仓库 1.8.0 为准):
- 最小兼容基线:package.json 的
engines声明 Node^20.19.0 || ^22.12.0 || >=23;0.5.x 起才正式支持 Node 20。若运行环境较老,应先核对引擎约束再谈功能。 - 按能力点定位最低版本:变更日志中"某能力首次出现"的版本即该能力的最低可用版本。例如:
--auto-connect需 0.12.0+;Lighthouse 集成需 0.19.0+;chrome-devtoolsCLI 需 0.20.0+(其--autoConnect到 0.26.0 才可用);堆快照对比需 1.5.0+;query_heapsnapshot与 PWA 工具需 1.8.0+;URL 过滤(allowedUrlPattern/blockedUrlPattern)需 1.2.0+,其前身的 navigate 实验性 allowlist 在 0.23.0。 - 关注跨版本行为变更而非新功能:1.1.0 将
pageId设为必填、1.8.0 将页面作用域工具默认要求pageId、0.15.0 启用默认遥测(可用CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS或 CI 环境关闭)——这类条目在 Fixes/Features 中混排,升级前值得通读对应版本段落的 Fixes 组,因为其中大量条目(如 1.6.0 的 "keep page ids unique across browser reconnects")直接决定多 agent 并发场景的可靠性。
另外提醒:server.json 声明传输方式为 stdio、包标识为 npm 上的 chrome-devtools-mcp,因此变更日志中各版本的 chrome-devtools-mcp@x.y.z 钉版字符串(同步自 mcp.json 与各插件清单)就是官方推荐的锁定写法;插件安装相关排障可参考 docs/client-configurations.md 与 docs/troubleshooting.md。
六、小结
CHANGELOG.md 记录了一条清晰的演进路线:0.x 用约四个月把无头浏览器基座(快照、网络、console、性能、模拟)打磨到可被 agent 稳定驱动,并通过 CLI、roots、第三方开发者工具与插件清单接入各类编码 agent;1.0 之后则以 Lighthouse、Chrome 扩展调试、堆快照内存分析矩阵和 PWA 自动化为三大扩展方向。这份日志由 release-please 依据语义化提交自动生成,章节结构、隐藏规则与 src/version.ts、server.json、mcp.json 等多文件的版本同步都由 release-please-config.json 统一约束——因此对这份变更日志的信任,本质上是对仓库发布流水线(npm run gen、scripts/verify-server-json-version.ts 等校验脚本)的信任。对使用者而言,它既是 API 变更的第一手索引,也是升级风险评估的核对清单。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0622
Hy4-previewHy4 preview 是由腾讯混元团队研发的新一代混合专家(MoE)旗舰模型。模型总参数量 770B,每个 token 激活 49B,主干共包含78层,第一层采用标准 FFN,其余 77 层均为 MoE 结构,每层包含 256 个路由专家与 1 个共享专家,每个 token 激活 top-8 路由专家及共享专家。主干之外原生内置 1 层 MTP(总参数量 10B,激活 0.7B)以支持投机解码。Python00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00