
可靠的浏览器自动化技能,适用于AI代理——基于Chrome生命周期管理和工作流程指导,基于chrome-devtools-mcp。
概览
Chrome-DevTools-MCP 的生产准备封装器。Chrome-DevTools-MCP 提供浏览器 MCP 工具,但 Chrome 进程管理、多会话共享和故障恢复完全由你负责。该项目增加了运营层,使 AI 代理能够可靠地使用浏览器。 - 自动在你的系统中寻找 Chrome(macOS/Linux/Windows,搜索包括 Edge/Brave/Arc/Chromium 在内的 10+ 条路径)- 懒惰启动 — Chrome 仅在第一个工具/调用时启动,不在代理启动时启动 - 多个代理会话通过浏览器共享一个 Chrome 实例。
概述(AI 翻译)
Chrome-DevTools-MCP 的生产准备封装器。Chrome-DevTools-MCP 提供浏览器 MCP 工具,但 Chrome 进程管理、多会话共享和故障恢复完全由你负责。该项目增加了运营层,使 AI 代理能够可靠地使用浏览器。
中文文档
这在裸 chrome-devtools-mcp 上增加了什么
Chrome 生命周期管理
- 自动在你的系统上寻找Chrome(macOS/Linux/Windows,搜索10+路径,包括Edge/Brave/Arc/Chromium)
- 懒启动 — Chrome 只在第一个
tools/call启动,不在代理启动时启动 - 多个代理会话通过
browser.lock引用计数共享一个Chrome实例 - 最后一次退出会话会自动关闭 Chrome
- 代理崩溃后无孤儿:父心跳检测 + 启动孤儿进程清理
- WSL / 无头Linux:自动检测和配置显示(WSLg,Wayland,X11)
故障恢复
- 通过CDP端口探针进行Chrome崩溃检测——绝不仅信任错误文本
- 确认崩溃→自动重启Chrome,重写MCP响应以告知代理重新导航
- MCP 过时状态(引用关闭标签页)→仅重启 MCP 子进程,Chrome 保持不变
本页由 AI 翻译,技术细节请以原文为准。
README
以下为原文 README 节选,完整内容请查看原文。
my-agent-browser
Production-ready wrapper around chrome-devtools-mcp. chrome-devtools-mcp provides the browser MCP tools, but leaves Chrome process management, multi-session sharing, and fault recovery entirely to you. This project adds the operational layer so AI agents can use the browser reliably.
What this adds over bare chrome-devtools-mcp
Chrome Lifecycle Management
- Auto-find Chrome on your system (macOS/Linux/Windows, searches 10+ paths including Edge/Brave/Arc/Chromium)
- Lazy start — Chrome only launches on first
tools/call, not at agent startup - Multiple agent sessions share one Chrome instance via
browser.lockreference counting - Last session to exit automatically closes Chrome
- No orphans after agent crash: parent heartbeat detection + startup orphan process cleanup
- WSL / headless Linux: auto-detect and configure DISPLAY (WSLg, Wayland, X11)
Fault Recovery
- Chrome crash detection via CDP port probe — never trusts error text alone
- Confirmed crash → auto-relaunch Chrome, rewrite MCP response to tell agent to re-navigate
- MCP stale state (referencing closed tab) → restart only the MCP child process, Chrome stays
- Profile lock leftover (SingletonLock after hard kill) → auto-clean before launch
Config-driven + Anti-detection
- Headless mode, proxy, viewport size, custom launch args — all Chrome startup flags configurable
evaluate_scriptstack traces are stripped of thepptr:marker and the MCP install path (which normally leaks your OS username) — measured against a site-origin trap, see anti-detection.md- Flag recommendations backed by one-flag-at-a-time measurements rather than folklore
- Direct connection to existing Chrome (
browserUrlmode, for pre-authenticated long-lived sessions) - Opt-in background tabs via
mcp.backgroundNewPages(defaultfalse), preserving explicit per-call choices
Agent Workflow Guidance (SKILL.md)
- Heavy pages: file-based snapshots to prevent DOM overflow crashes
- Error recovery: stale UIDs, timeouts, Chrome restart — correct response for each
- Multi-tab: open/extract/close pattern, UID isolation between tabs
- Scraping: URL-based pagination, lazy-load triggering, JS extraction
- Login flows: persistent profile, automated credentials, connect to existing session
Install
npx skills add briqt/my-agent-browser -g -y
npm install -g [email protected]
mkdir -p ~/.config/agent-skills/my-agent-browser
cp ~/.agents/skills/my-agent-browser/config.example.json ~/.config/agent-skills/my-agent-browser/config.json
Then register the MCP server in your agent:
Claude Code
claude mcp add browser -s user -- node ~/.agents/skills/my-agent-browser/scripts/start-mcp.js
安装
npx skills add briqt/my-agent-browser -g -y配置
{
"mcpServers": {
"browser": {
"command": "node",
"args": ["~/.agents/skills/my-agent-browser/scripts/start-mcp.js"]
}
}
}