Breaking Changes
- 去掉 Chrome Extension 依赖 — Daemon 现在直接通过 CDP WebSocket 连接 Chrome,不再需要安装扩展
- Tab ID 从数字序号改为字符串短 ID —
--tab 0→--tab c416(4 位 hex,稳定跨 session) - MCP tools 的
tab参数类型从number改为string
New Features
- Daemon 统一 — 合并 daemon + cdp-monitor 为单一 CDP 直连后端,所有 CLI/MCP 命令走同一进程
- Per-tab 事件缓存 — network/console/errors 按 tab 隔离存储(RingBuffer,不会 OOM)
- 增量查询 —
--since last_action只返回上次操作后的事件,cursor支持分页轮询 - 查询过滤 —
--method POST、--status 4xx、--limit 20精确筛选 network 请求 - MCP 新增
browser_console、browser_errorstools,支持since/filter/limit
Bug Fixes
- 无效 tab ID 现在报错而不是静默 fallback 到随机 tab
--tab <id> tab close现在正确关闭指定 tabtab_new在零 tab 时不再死锁console.warn()正确捕获为type: "warn"- 空查询结果的
cursor返回since阈值而不是 0(防止轮询死循环) - Daemon shutdown 防重入保护
- CDP 端口发现的 timer 泄漏修复
Harness Engineering
- 111 个测试(单元 + 契约 + protocol drift)
- CI 流水线(build + lint + test on PR)
- Pre-commit hook(husky)
- 7 条设计不变量写入 AGENTS.md 并由测试覆盖
- 6 个 harness 测试场景文档
Docs
- AGENTS.md 重写(中文,新架构 + 设计不变量)
- protocol.ts 类型更新(tab/seq/cursor/since)
- README 移除 Extension 安装说明,更新架构图