TGViewer
开发者工具箱|编程·开发工具·资源 开发者工具箱|编程·开发工具·资源 @devtoolboxhub · 570 subscribers
Post #1315 6
WSL2 上 Claude 驱动 Chrome 的修复方案

Claude in Chrome 扩展在 WSL2 下无法工作,根源在于扩展通过 Windows 注册表发现原生消息宿主,而 Claude Code 在 WSL 中把清单写入 Linux 文件系统,两边互不可见。官方文档也已标明 WSL 不受支持。规避方案是退回 Chrome DevTools 协议(CDP),配合两个廉价的驱动组合,实现低成本、持续登录的浏览器自动化。

核心思路:一台 Windows Chrome 监听 9222 端口,WSL2 中的 agent-browser 负责日常驱动(通过可访问性快照,仅耗数百 tokens,远低于截图的上千 tokens),chrome-devtools-mcp 负责深入调试(网络请求、控制台、Lighthouse)。两者共享同一浏览器,通过 CDP 同时连接,仅需确保各自使用不同标签页。

启动 Chrome 命令(从 WSL 通过 /mnt/c 执行):
```
"/mnt/c/Program Files/Google/Chrome/Application/chrome.exe" \
--remote-debugging-port=9222 \
--user-data-dir="C:\Users\youruser\AppData\Local\ChromeDebugProfiles\myapp" \
--no-first-run --no-default-browser-check \
--remote-allow-origins='*' &
```
--user-data-dir 隔离浏览器配置,登录一次后会话持久保留。

agent-browser 安装:npm install -g agent-browser,注意跳过 agent-browser install(它会下载无登录状态的 Chrome for Testing)。首次运行因 $XDG_RUNTIME_DIR 不存在会报权限错误,需设置:
```
export XDG_RUNTIME_DIR=/tmp/abr-runtime
mkdir -p "$XDG_RUNTIME_DIR" && chmod 700 "$XDG_RUNTIME_DIR"
```
将 export 写入 ~/.bashrc 以便跨会话生效。

连接已有 Chrome:agent-browser connect 9222。之后使用 snapshot、fill、click 等命令操作页面,注意 ref 会随 DOM 变化失效,需重新快照。SPA 导航用 pushstate 而非 open。

chrome-devtools-mcp 配置(以 Claude Code 为例,添加至 ~/.claude.json):
```json
{
"mcpServers": {
"chrome-devtools": {
"type": "stdio",
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest", "-u", ""]
}
}
}
```
推荐用 claude mcp add --scope user chrome-devtools -- npx -y chrome-devtools-mcp@latest -u http://127.0.0.1:9222 添加,避免手动编辑被覆盖。

常见陷阱:
- 端口幽灵:旧的 netsh interface portproxy 规则会占用 9222 且不被重启清除。在管理员 PowerShell 中用 netsh interface portproxy delete v4tov4 listenport=9222 listenaddress=0.0.0.0 等命令删除。
- 空工具列表:检查 ~/.claude.json 中端口是否与实验中的 Chrome 一致。
- MCP 服务器在 Chrome 之前启动:先启动 Chrome,再连接 MCP。


这套方案经过数月日常使用验证,关键是将登录状态持久化并避免高昂的截图 token 消耗。记住保持调试配置隔离,且只绑定到 127.0.0.1。故障时先用健康检查命令定位问题。

#开发者 #工具 #WSL2 #Claude #Chrome #CDP #agentbrowser #MCP #调试
@DevToolboxHub
More from @devtoolboxhub
  1. Sep 30, 2026AMSI 绕过技术 2026 开发者指南 AMSI(Antivirus Malware Scan Interface)是 Windows 的恶意脚本扫描接口,覆盖 PowerShe…
  2. Sep 30, 2026AI Agent 为什么记不住事 和 AI Agent 协作时最容易注意到的一点是:它们很擅长回答问题,却不擅长记住昨天发生过什么。你可以和它长聊一轮,做出一堆决定、说明偏好、一起…
  3. Sep 30, 2026wpipe:面向 Python 开发者的轻量编排库 wpipe 是一个纯 Python 可嵌入的编排库,目标是让数据管道的开发回到「编辑—运行—调试」的快速循环,而不必为验证业务逻…
  4. Sep 29, 20262,916 个 AI 网站 8 月流量:转录与图生 3D 起飞 Anjin Radar 追踪了 2,916 个 AI 网站的月度访问量,数据截至 2026 年 9 月 28 日。访…
  5. Sep 29, 2026Python 虚拟环境其实是个软链接 在 Linux 和 macOS 上执行 python3 -m venv .venv,并不会复制一份 Python。venv 里的 python…
  6. Sep 29, 2026Will It Focus:相机自动对焦兼容性查询 Agent 这是一个面向摄影器材的自动对焦兼容性查询工具,但它真正的看点在于工程实现:如何让模型引用厂商原文时,保证引用的确实是…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →