40 · Chrome:让它操作浏览器
📚 系列导航:上一篇 39 实战入门 把前面学的零件第一次拼成一条完整流程跑了一遍。这一篇给 Claude Code 再开一扇门——让它直接操作你的 Chrome 浏览器:开网页、读控制台报错、填表单、从页面里扒数据,全程不用你离开终端去手点。
⚠️ 实验性功能,可能随版本变化。 本篇讲的 Chrome 集成目前处于测试版(beta),命令、前置版本、支持的浏览器都以官方文档为准,后续版本可能调整。
兄弟们,今天聊一个能让 Claude Code「长出手」的功能——操作浏览器。
前面三十九篇里,Claude 干的活基本都在「文件 + 命令行」这一亩三分地:读你的代码、改你的文件、跑你的脚本。但真实开发里有一大堆事是离不开浏览器的——改完登录表单得打开页面点一下试试、报了个 bug 得看浏览器控制台(console)里红色的报错、设计稿还原得对着浏览器一像素一像素比。这些事,以前你只能自己切到 Chrome 手动来,然后把看到的复制回来喂给 Claude。
现在不用了。 接上 Chrome 集成,你在终端里说一句「打开 localhost:3000,用错误数据提交那个表单,看看报错提示对不对」,Claude 自己就把浏览器开了、表单填了、报错读了,回头告诉你结果。「改代码」和「在浏览器里验代码」第一次能在同一个对话里从头到尾搞定,不用来回切窗口。
我第一次接上它那天,盯着自己那个 Chrome 自动弹出新标签页、鼠标点搜索框、一个字一个字敲进去,愣是看了一会儿——那种「它真的在替我点」的感觉,跟之前在沙箱里跑命令完全是两码事。
这么说吧:前面 MCP(详见第 22 篇)是给它接上了数据库、Jira 这些数据源;Chrome 集成是给它接上了你天天在用的那个浏览器本身——连着你所有的登录态。这一篇就讲清楚它能干嘛、怎么接、有哪些坑、以及操作你「真浏览器」这件事的安全边界在哪。
看完这一篇,你会拿到:
- 一句话讲明白 Chrome 集成是什么、它和 MCP / computer use 各管哪一块
- 接上它的完整步骤(装扩展、
--chrome启动、前置版本和套餐要求),以及哪些浏览器 / 环境不支持 - 六类高频用例(实时调试、设计验证、填表单、扒数据……,选自官方列出的典型工作流),每类配一句你真实会怎么用
- 操作「真浏览器」相对沙箱的风险在哪、官方给了哪些护栏、你自己该守哪几条
- 一个能照着跑、给了预期结果的最小实战:接上 Chrome 让它读一次页面
01 先搞懂:它到底是什么、能干什么
先给结论:Chrome 集成 = 让 Claude Code 借用你已经登录好一切的那个 Chrome,替你开网页、点按钮、填表单、读页面。
关键词是「你已经登录好的那个」。官方说得很直接:
Claude 为浏览器任务打开新标签页,并共享您浏览器的登录状态,因此它可以访问您已登录的任何网站。浏览器操作在实时可见的 Chrome 窗口中运行。
把这句话拆开,有三个点对小白特别重要:
- 开的是新标签页,不是另起一个陌生浏览器——它就在你眼前那个 Chrome 里干活。
- 共享你的登录态——你 Gmail、Notion、公司后台都登录着,它直接就能进,不用你再配什么 API、贴什么 token。
- 窗口实时可见——它点哪、填哪你全看得见,不是在后台偷偷摸摸。
类比:叫了个代驾。 你今晚喝了点酒,叫个代驾把你送回家。代驾开的不是他自己的车,是你这台车——车里插着你的 ETC、储物格放着你的停车卡、导航里存着你家地址,这些他全能直接用,你不用重新给他办一张卡。但方向盘你随时能要回来:遇到要刷脸的小区门禁(代驾刷不了),他停下让你来。Claude 操作浏览器就是这么个「代驾」——开的是你那台登录好一切的浏览器,该它干的它干,遇到登录页、验证码(CAPTCHA)这种它过不了的,它停下来喊你。
那它具体能干哪些活?官方列了一串,我挑出小白最有体感的几类,配上「你真实会怎么用」:
- 实时调试:直接读浏览器控制台的报错和页面 DOM 状态,然后回头就把导致报错的代码改了——这是它和 MCP 最不一样的地方,能「看见」浏览器里发生了啥。
- 设计验证:照 Figma 稿写完 UI,打开浏览器比一比对不对得上(衔接第 17 篇讲的还原设计稿)。
- 网页应用测试:测表单校验、查视觉有没有变形、验用户流程走不走得通。
- 操作已登录的应用:直接在 Gmail、Notion、Google Docs 里写东西、改东西,不用 API 连接器。
- 扒数据:把页面上的列表(名称、价格、库存)抽成结构化数据,存成本地 CSV。
- 录 GIF:把一段浏览器操作录成 GIF,用来记录或者分享「这事儿是怎么发生的」。
举个我自己印象最深的场景:有回调一个前端的诡异 bug,页面加载时控制台报一个 undefined,我对着代码看了快半小时也没看出哪错了。接上 Chrome 后我就甩了句「打开 dashboard 页,把加载时控制台里的报错念给我听,再定位是哪段代码」——它读完报错、顺着调用栈找到了一个没做空值判断的地方,前后不到两分钟。换以前我得自己开 F12、复制报错、再贴回终端描述一遍,光来回倒腾就比这久。
💡 一句话总结:Chrome 集成让 Claude 借用你那台登录好一切的浏览器开网页、读控制台、填表单、扒数据——「改代码」和「在浏览器里验」第一次能在同一个对话里完整跑通。
02 它和 MCP、computer use 各管哪一块
接之前先把一个容易混的事捋清:Claude 操作「外部世界」有好几条路,Chrome 集成只是其中一条。三条路别搞混了,不然你会纠结「这事该用哪个」。
官方在 computer use 那页讲了一个优先级顺序——Claude 干外部的活,会从最精准的工具往最笨重的工具试:
如果您有该服务的 MCP server,Claude 会使用它。如果任务是 shell 命令,Claude 会使用 Bash。如果任务是浏览器工作且您已设置 Claude in Chrome,Claude 会使用它。如果以上都不适用,Claude 会使用 computer use。
类比:能打电话办的事就别专门跑一趟。 同一件事,能发个消息说清的就发消息(最快),发消息说不清就打个电话(慢一点),电话也办不了才亲自上门跑一趟(最慢最费事)。Claude 也是这个排序——先试最省事的,最省事的够不着才升级到更重的手段。
三条路对照着看,你就知道各自的主场:
| 手段 | 干什么 | 什么时候轮到它 | 本篇是它吗 |
|---|---|---|---|
| MCP(详见第 22 篇) | 连数据库、Jira、Slack 这些有接口的服务 | 服务有现成 MCP server,最精准,优先用 | 否 |
| Chrome 集成 | 操作浏览器里的网页:点、填、读控制台、扒数据 | 活儿是网页操作、又装了 Chrome 集成 | 是 |
| computer use | 控制本机原生 app:点 macOS 应用、看屏幕、截图 | 上面都够不着(原生应用、模拟器、没 API 的工具) | 否,见下方 |
computer use(让 Claude 用你的电脑) 是兄弟篇,这里顺带提一句让你有个数。它比 Chrome 集成更「广」也更「慢」——Chrome 集成只能碰浏览器,computer use 能控制整个 macOS 桌面:打开原生 app、点任意按钮、截你的屏。官方原话:
屏幕控制保留用于其他工具无法到达的事物:原生应用、模拟器和没有 API 的工具。
几个关键差别记住就行(都以官方文档为准):
- computer use 目前是研究预览版,只在 macOS 上的 CLI 可用(Windows 用桌面 app 那条线,见第 10 篇),要 Pro / Max 套餐,且不支持
-p非交互模式。 - 它在
/mcp菜单里以一个叫computer-use的内置 server 出现,默认关着,要手动启用。 - 它跑在你真实的桌面上,会请求 macOS 的「辅助功能」和「屏幕录制」权限。
一句话分工:有接口走 MCP,网页里的事走 Chrome,连原生桌面都得碰才上 computer use。这一篇专讲中间那条——Chrome。
💡 一句话总结:Claude 碰外部世界从精准到笨重三条路——MCP(有接口的服务)→ Chrome(浏览器网页)→ computer use(整个 macOS 桌面);本篇专讲 Chrome 这条,它的主场是浏览器里的操作。
03 怎么接上:装扩展、--chrome 启动
接 Chrome 集成,比接一个普通 MCP server 还简单——核心就两步:装个 Chrome 扩展,启动时带个 --chrome 标志。但有几个前置条件不满足就是接不上,先把门槛摆清楚。
先对四个前置条件
官方列了四条硬要求,差一条都连不上,挨个对一遍:
| 前置条件 | 具体要求 | 怎么查 |
|---|---|---|
| 浏览器 | Google Chrome 或 Microsoft Edge | 别的浏览器不行,见下方「不支持清单」 |
| Chrome 扩展 | 「Claude in Chrome」扩展 v1.0.36 或更高 | chrome://extensions 里看 |
| Claude Code 版本 | v2.0.73 或更高 | 终端跑 claude --version |
| 套餐 | 直接的 Anthropic 计划(Pro / Max / Team / Enterprise) | /status 看订阅 |
最后一条套餐最容易栽,单独强调一下。官方明确:
Chrome 集成不可通过 Amazon Bedrock、Google Cloud Vertex AI 或 Microsoft Foundry 等第三方提供商获得。如果您仅通过第三方提供商访问 Claude,则需要单独的 claude.ai 账户来使用此功能。
翻成人话:你要是走 Bedrock / Vertex / Foundry 这些第三方接入(第 05 篇讲过),或者只用 API key,这功能用不了——它只认直接的 Anthropic 订阅。这点和桌面 app、computer use 一个脾气,记住就行。
哪些浏览器 / 环境不支持
这张「不支持清单」我专门拎出来,因为踩了会很懵:
- 浏览器:目前只支持 Chrome 和 Edge。Brave、Arc、以及其他基于 Chromium 的浏览器都不支持——别看它们也是 Chromium 内核就想当然。
- 环境:不支持 WSL(Windows 子系统 Linux)。你在 WSL 里跑 Claude Code 想接 Windows 上的 Chrome,这条路目前不通。
Arc 这个坑我亲自踩过。我日常主力浏览器就是 Arc(同样 Chromium 内核),想当然以为装上扩展就能用,结果 /chrome 死活连不上,扩展也装了、版本也对,就是不通。折腾了二十来分钟才翻到文档里那行小字「尚不支持 Brave、Arc 或其他基于 Chromium 的浏览器」——白忙活。后来老老实实单独装了个 Chrome 专门给它用,才秒连上。
装扩展 + 启动
前置条件齐了,正式接:
第一步:装「Claude in Chrome」扩展。 去 Chrome 应用商店搜「Claude」装上(Edge 也是在 Chrome 应用商店装同一个)。
装扩展、访问 Chrome 应用商店在国内一般需要「魔法上网」;扩展本身要连 Anthropic,网络不通时也连不上。
第二步:带 --chrome 启动 Claude Code。 在终端:
bash
claude --chrome或者你已经在一个会话里了,直接敲 /chrome 启用,不用退出重开。
就这两步。 接上之后,任何时候敲 /chrome 都能:检查连接状态、管理权限、重新连接扩展、选用哪个已连接的浏览器。要是同时连了多个浏览器,浏览器操作一开始 Claude 会问你用哪个。
不想每次都打 --chrome?
嫌每个会话都加 --chrome 烦,可以设成默认:运行 /chrome,选「默认启用」。
但官方专门提醒了一句代价,值得你想清楚再开:
在 CLI 中默认启用 Chrome 会增加上下文使用,因为浏览器工具始终被加载。如果您注意到上下文消耗增加,请禁用此设置,仅在需要时使用
--chrome。
说白了:默认启用 = 浏览器那套工具每次会话都常驻,会吃掉一截上下文窗口(第 19 篇讲过工作台塞满会变蠢)。一般来说更稳的做法是不设默认,需要操作浏览器的会话才临时 --chrome——大多数纯改代码的活根本用不上浏览器,没必要让它一直占着地方。
顺带一提:如果你主力在 VS Code 扩展(第 08 篇)里干活,只要装了 Chrome 扩展,浏览器自动化就直接可用,不用加任何标志——这点比 CLI 省心。
网站权限从哪管
还有个细节:Claude 能浏览、点击、输入哪些网站,是从 Chrome 扩展那边继承的。官方:
网站级权限从 Chrome 扩展程序继承。在 Chrome 扩展程序设置中管理权限,以控制 Claude 可以浏览、点击和输入的网站。
也就是说,控制它能碰哪些站,去 Chrome 扩展的设置里调,不在 Claude Code 这边。这是它的第一道闸,下一节讲安全会再提。
💡 一句话总结:接 Chrome 就两步——装「Claude in Chrome」扩展 + 用
--chrome启动(或会话里/chrome);但先对齐四个前置(浏览器、扩展版本、CC 版本、Anthropic 订阅),且 Brave / Arc / 其他 Chromium、WSL 都不支持。
04 典型用例:六类活儿,照着抄
接上只是开始,会用才值钱。官方给了一串示例工作流,我按「你大概率会遇到」的顺序,把六类最实用的拎出来,每类给一条可以直接照着改的指令。这些指令都是用自然语言说的,你照着套自己的场景就行。
用例一:测本地网页应用
开发时改完一个功能,让它直接帮你在浏览器里验:
text
我刚改了登录表单的校验逻辑。打开 localhost:3000,
用一组无效数据提交表单,看看错误提示有没有正确出现。它会导航到你的本地服务器、跟表单交互、把观察到的结果报给你。这大概是用得最多的一类——改完前端不用自己切浏览器手点,它替你跑一遍验证流程。
用例二:用控制台日志调试
让它读浏览器控制台帮你定位问题。这里有个官方给的诀窍:别让它「把所有控制台输出都给我」,日志太长会刷屏——告诉它你要找的模式:
text
打开 dashboard 页面,检查页面加载时控制台里有没有报错。它会读控制台消息,按你说的模式或错误类型过滤,不会把一大堆无关日志全倒给你。
用例三:批量填表单
重复的数据录入最适合丢给它:
text
我有一个客户联系人表格在 contacts.csv 里。对每一行,
打开 crm.example.com 的 CRM,点「添加联系人」,
把姓名、邮箱、电话填进去。它读你的本地文件、操作网页界面、一条条录进去。说句实话,这类「机械重复」的活儿是它最香的用武之地——你只要把数据准备好,剩下的它照着填。
用例四:直接在已登录的应用里写东西
这类最能体现「共享登录态」的爽:
text
根据最近的几个 commit 起草一份项目进展更新,
加到我那份 Google Doc(docs.google.com/document/d/abc123)里。它打开文档、点进编辑器、把内容敲进去。Gmail、Notion、Sheets——凡是你已经登录的网页应用都吃这套,不用配任何 API。
用例五:从网页扒结构化数据
把页面上散着的信息抽成规整的数据:
text
打开商品列表页,把每件商品的名称、价格、库存状态抽出来,
存成一个 CSV 文件。它导航到页面、读内容、编译成结构化格式存到本地。
用例六:录一段操作 GIF
想给同事演示「这功能怎么走」,让它录:
text
录一个 GIF,展示怎么走完整个结账流程,
从把商品加进购物车一直到确认页。它把这段交互序列录下来、存成 GIF 文件。写文档、提 issue 配个动图,比打一堆字描述清楚多了。
把这六类对照「以前怎么干」摆一下,你就知道它省在哪:
| 场景 | ❌ 没有 Chrome 集成 | ✅ 有 Chrome 集成 |
|---|---|---|
| 验证前端改动 | 自己切浏览器手点、看效果、回来描述 | 一句话让它打开页面跑一遍报结果 |
| 调控制台报错 | F12 开控制台、复制报错、贴回终端 | 让它直接读控制台、过滤出报错 |
| 批量录数据 | 一条条手动复制粘贴进网页 | 喂个 CSV,它照着逐行填 |
| 在 Notion / Docs 写 | 自己整理好再粘进去 | 让它直接进文档写(共享登录态) |
提醒: /mcp 选 claude-in-chrome 能看到这些浏览器工具的完整列表,想知道它到底有哪些「手上的动作」,去那儿翻。官方还列了「多站点工作流」这类用例,这里略过,有兴趣可自行在 /mcp → claude-in-chrome 里探索。
💡 一句话总结:六类高频用例——测本地应用、读控制台调 bug、批量填表单、在已登录应用里写、扒页面数据、录演示 GIF,每类一句自然语言指令就能让它干,核心都是「省掉你手动切浏览器那一段」。
05 安全:操作「真浏览器」的风险在哪
这一节最不能跳过——因为它操作的是你真实的、登录着一切的浏览器,不是一个用完即焚的沙箱。这跟前面 Claude 在沙箱里跑命令(第 21 篇)是完全不同的信任边界。
风险到底在哪
回到「代驾」那个比方:代驾开的是你那台插着 ETC、放着停车卡的车。方便是真方便,但风险也实打实——他在你车里、用着你所有的卡。Chrome 集成同理:它共享你的登录态,意味着它能进的,是你登录着的所有网站——你的邮箱、你的公司后台、你的银行页面(只要你登录着)。
具体两类风险你得有数:
- 登录态等于钥匙串:它访问网站不需要再认证,你登录了什么,它就够得着什么。让它去某个页面操作时,心里要清楚这台浏览器上还登录着哪些敏感账号。
- 提示注入(prompt injection):这个第 21 篇专门讲过——网页内容里可能藏着「写给 AI 看」的恶意指令。它读一个页面时,页面上某段文字可能在偷偷指挥它干别的。操作浏览器时这个风险格外真实,因为它读的全是外部的、你控制不了的网页内容。
官方给了哪些护栏
好在 Chrome 集成不是「敞开了让它乱来」,内置了几道闸:
- 遇到登录 / 验证码会停下喊你:碰到登录页或 CAPTCHA,它暂停、要你手动处理,不会替你瞎填、瞎点过。
- 操作实时可见:它在一个你看得见的 Chrome 窗口里干活,点哪填哪你全程盯得到,不对劲随时能掐。
- 网站权限可控:上一节说的,在 Chrome 扩展设置里限定它能碰哪些网站——这是你最该用起来的一道闸,把它能动的范围圈小。
你自己该守的几条
官方护栏之外,还有几条操作真浏览器的土规矩值得记下来:
| 场景 | 该怎么办 |
|---|---|
| 让它操作浏览器前 | 先想清楚这台 Chrome 上还登录着哪些敏感账号 |
| 涉及钱 / 不可逆操作(下单、转账、删数据) | ⚠️ 自己来,别交给它,或全程死盯每一步 |
| 给它操作的网站范围 | ✅ 在扩展设置里圈小,只放它确实需要的站 |
| 让它访问陌生 / 不可信网页 | ⚠️ 警惕提示注入,内容里的「指令」别让它照单全收 |
总原则就一条:它在浏览器里点的每一下都是「真的」——不像沙箱里跑错了删个容器重来,浏览器里点了「确认付款」就是真付了。所以越是不可逆、越是涉及钱的操作,越要自己把着方向盘,让它干那些「错了也好收拾」的活。
这跟前面所有篇章的安全主线是一根弦:便利和风险成正比。Chrome 集成把便利拉满了——直接用你登录态——那对应的,你得把「它能碰什么」这道闸也守紧。
💡 一句话总结:Chrome 集成操作的是你登录着一切的真浏览器,不是沙箱——风险在「登录态即钥匙」和「网页里的提示注入」;官方护栏有「遇登录 / 验证码停手、操作可见、网站权限可控」,你自己则要圈小网站范围、把不可逆和涉钱操作攥在自己手里。
06 动手:接上 Chrome,让它读一次页面
光看不练假把式。下面带你跑一个最小实战:接上 Chrome,让它打开一个网页、读点东西回来。全程不碰你的敏感账号,专门拿来验证「接通了没」。
前提:你得是 Pro / Max / Team / Enterprise 直接订阅(不是 Bedrock / Vertex / API key),装好 Chrome 或 Edge。装扩展、访问网页可能需要「魔法上网」。
第一步:装「Claude in Chrome」扩展
在 Chrome 应用商店搜「Claude」,装上官方扩展。装完去 chrome://extensions 确认它已启用、版本 ≥ 1.0.36。
✅ 自验:扩展列表里能看到「Claude」且是开启状态。
第二步:确认 Claude Code 版本够新
bash
claude --version预期:打印的版本号 ≥ 2.0.73。低了就先升级(npm update -g @anthropic-ai/claude-code 或按第 02 篇的方式更新),否则接不上。
第三步:带 --chrome 启动
bash
claude --chrome进去后敲 /chrome 看状态:
text
/chrome预期:显示 Chrome 已连接、扩展状态正常。如果提示没检测到扩展,按官方排查:确认扩展已装并启用 → 确认 CC 是最新 → 确认 Chrome 在运行 → /chrome 选「重新连接扩展程序」。第一次启用时它会装一个本机消息传递配置,Chrome 要重启一次才读得到——头一回连不上,先重启 Chrome 再试。
第四步:让它打开页面读点东西
连上后,给它一条「只读、不碰敏感账号」的指令(官方文档站正好拿来练手):
text
打开 code.claude.com/docs,点一下搜索框,
输入「hooks」,把出现的结果告诉我。预期:你会看见你那个 Chrome 弹出新标签页、自动导航过去、点搜索框、敲字——全程肉眼可见(这就是第 05 节说的「操作实时可见」)。然后它把搜到的结果列回终端。看到浏览器真的动起来、结果回来了 = 接通成功。
如果操作到一半浏览器没反应了,官方提示先查有没有弹出的对话框(alert / confirm)挡着页面——JavaScript 对话框会卡住浏览器事件;手动关掉再让它继续。长时间不动后断连,就
/chrome选「重新连接扩展程序」(扩展的后台 service worker 会进空闲状态)。
跑通这四步,你就把「装扩展 → 启动 → 验连接 → 让它操作页面」这条完整链路走了一遍。以后让它干任何浏览器的活,本质都是这套,无非把第四步换成你真实的任务。
💡 一句话总结:动手就四步——装扩展、
claude --chrome启动、/chrome验连接、给一条只读指令看浏览器真动起来;头回连不上多半是扩展没装好或 Chrome 没重启,按官方那串排查走一遍。
07 小结
这一篇给 Claude Code 接上了你天天在用的那个浏览器——从「只会摸文件和命令行」,到能开网页、读控制台、填表单、扒数据,「改代码」和「在浏览器里验」这两件事终于能在一个对话里从头到尾跑完。
把核心串起来回顾:
| 你要做的事 | 关键点 |
|---|---|
| 理解它是什么 | 借用你登录好一切的真 Chrome,开新标签页操作,实时可见 |
| 分清它和别的工具 | MCP(有接口)→ Chrome(网页)→ computer use(整个桌面) 三条路,从精准到笨重 |
| 接上它 | 装「Claude in Chrome」扩展 + --chrome 启动;对齐扩展 / CC 版本、要 Anthropic 直接订阅 |
| 知道哪不支持 | Brave / Arc / 其他 Chromium、WSL 都不行,只支持 Chrome / Edge |
| 会用 | 测本地应用、读控制台、批量填表单、在已登录应用写、扒数据、录 GIF |
| 守住安全 | 操作的是真浏览器(非沙箱):圈小网站权限、不可逆和涉钱操作自己来、警惕提示注入 |
你现在应该能: 讲清 Chrome 集成是什么、它和 MCP / computer use 各管哪一块,独立把它接上(装扩展 + --chrome),用自然语言指令让它干六类常见的浏览器活儿,并且清楚操作真浏览器的风险在哪、该守哪几条闸。这一接,Claude Code 从「本地代码助手」又往前迈了一步——能直接替你操作那个你最常打交道的窗口了。
下一篇 41「并行任务」——这一篇让一个 Claude 能操作浏览器了,但活儿一多,你会发现一个会话串着干还是慢:它开浏览器测着 A 功能,你 B、C 两个需求只能干等着。下一篇换个思路:怎么让多个任务真正并行铺开、各干各的、互不打扰。想想看:如果改前端、跑测试、扒数据这三件事能同时进行,而不是排队等一个 Claude 来回切,是不是又能省下一大段时间?