← Silent Star
X-Ray · Claude Desktop

内置浏览器就是 Electron 自带的那份 Chromium,又开了一排隔离标签

我拆这只包的时候,最先对上的就是这件事。Claude.app 画画界面用的本来就是 Chromium。Cowork 侧栏里那块网页,不是再装了一个 Chrome,是同一份引擎里另开的沙箱标签。模型也不盯着窗口看。它挂的是调试协议。

下面几个标记怎么读 Observed 本机文件里直接看到 Corroborated 官方说明对得上 Inferred 我根据证据推断 Unknown 还没钉死
容易搅在一起的三件事

桌面端能碰网页,但不是一条路

8 月 26 日 Cowork 宣传的那只内置浏览器,和 7 月 Claude Code 的 Browser pane,用的是同一套 Electron 标签页。本机后来升到 1.37937.3,设置里也写了 Built-in browser、Preferred browser。它仍然不是 Cowork 那台 Linux 虚拟机,也不是 Chrome 扩展。

内置浏览器(默认)Electron 隔离标签 + CDP。不碰你的书签和密码。
需要你自己的登录时 ↓
Claude in Chrome扩展进你的真 Chrome,走 native host 或 websocket 桥。
网页工具不够、要操作整个桌面时 ↓
Computer use / VM这是点屏幕,不是内置浏览器。
一次点击

你看见的是网页,模型看见的是 CDP

侧栏里能滚动、能点,是因为 Electron 把 WebContentsView 嵌进了主窗口。模型拿到的是另一份东西:无障碍树、截图、控制台、网络日志。真要点按钮时,主进程对着那个 tab 的 webContents.debuggerInput.dispatchMouseEvent。窗口没露出来的时候,截图会直接失败,提示要把 tab 放到前面。后台“想象一个浏览器”这条路走不通。

内置 Browser pane

  1. 任务需要一个网址。提示词要求默认用内置浏览器,别用 Bash 起服务器,也别去开真 Chrome。
  2. preview_start {url}tabs_create 在当前会话的 pane 里造一个 tab。
  3. 主进程用 session.fromPartition("persist:launch-preview-…") 拿出隔离 cookie 罐,再 new WebContentsView
  4. 页面 load 之后 CDPTools.attach(webContents),打开 Network / DOM / Accessibility。
  5. 外站还要过域名名单、源权限卡、带账号密码的 URL 拦截。组织策略可以把范围锁成只准 localhost。
  6. read_pageAccessibility.getFullAXTree。点击走 CDP 鼠标事件。截图优先 Page.captureScreenshot
它怎么跟你的 Chrome 隔开

cookie 罐是自己的,外站也不是想开就开

Observed

配置目录跟你的 Chrome 不是同一份

标签开在 persist:launch-preview-staticpersist:launch-preview-session- 这种 Electron session 上。用户数据里已经有 Partitions/launch-preview-static。系统提示写的是 separate from your real Chrome。书签、密码库它读不到。

Observed

外站会先问服务器这页能不能碰

主进程打 /api/web/domain_info/browser_extension,还有 URL hash 检查。category1/2 或组织 block 就拦下来。金融站和高风险站会弹出源权限卡。链接里带着 user:password@ 的,直接拒绝。

Observed

每个 tab 自己也被沙箱住

sandbox: true,没有 Node,开了 contextIsolation。普通页连对话框都关掉。急的时候还能给 Chromium 加上 --js-flags=--jitless。同一个 pane 超过 8 个 tab,弹窗会被拒。

官方把这套防护和 Claude in Chrome 归成同一类 prompt injection 缓解。分类器看的是动作还符不符合你最初那句话。它减风险,消灭不了。

我拆到了什么

本机后来升过一版,内核还是那套标签页

第一次拆的是 /Applications/Claude.app 1.26832.0,签名 2026-08-06,Electron 42.7.0,内嵌 Chrome/148.0.7778.280。引擎当时已经在。后来这台机器升到 1.37937.3(8 月 26 日),Cowork 开关才写进设置文案:coworkBrowserToolsEnabledcoworkPreferredBrowserbuilt_inchrome,默认前者)。关掉 Built-in browser,只从 Cowork 拿掉 pane 和那套浏览器工具。Claude in Chrome 还在。Code 里的浏览器也还在。

每个 tab 挂着一个 CDPTools

主进程 chunk 是 .vite/build/index.chunk-DIBPwUV0.js。tab 一侧是 WebContentsView,一侧是 CDPTools。挂上会打 [CDPTools] Attached to webContents

协议命令包括 Accessibility.getFullAXTreeInput.dispatchMouseEventInput.dispatchKeyEventInput.insertTextPage.captureScreenshotRuntime.evaluateNetwork.getResponseBodyEmulation.setDeviceMetricsOverride。方法名是 clickAtfilltakeSnapshottypeTextpressKey

模型手上的工具名

清单在 index.chunk-CEp6GoCO.jspreview_startread_pagecomputerjavascript_toolform_inputtabs_context。旧别名 preview_clickpreview_snapshot 还留着。

MCP 前缀是拼出来的。代码里 T = "Claude Browser",空格换成下划线,就是 mcp__Claude_Browser__*。系统提示块 <browser_surfaces> 把这条标成默认,把 mcp__claude-in-chrome__* 写成只有需要你已有登录时才用。

真要进你的 Chrome,走的是另一座桥

扩展生产 ID:fcoeoabgfenejglbffodgkkbkcdhcgfn。还有两个备用。桌面会把 native messaging 清单写进 Chrome / Edge 的 NativeMessagingHosts。host 名 com.anthropic.claude_browser_extension,二进制在 Contents/Helpers/chrome-native-host,stdio。

这个 Rust 程序还会在本机开 Unix socket,前缀 claude-mcp-browser-bridge-。过不了本机通道时,还有 wss://bridge.claudeusercontent.com。帮助文档把整条路叫 Claude in Chrome。

那台 10GB 虚拟机别算进来

用户目录里有 vm_bundles/claudevm.bundle:ARM64 Linux 内核、10GB rootfs、gVisor MAC、.cowork-adopted。那是 Cowork 给 computer use 用的沙箱桌面。内置浏览器的 tab 活在 Electron 的 partition 里,路径不一样。

包里能看到 playwright-core,但它只出现在下载域名白名单,cdn.playwright.dev。没有 chromium.launch。别理解成本地又用 Playwright 拉起一份 Chrome。

什么时候走哪条

用哪条路,官方分得很开

不需要你个人登录的活,走内置的。你已经打开、已经登录的 CRM 或邮箱,走 Chrome 扩展。两边都够不着,才轮到点屏幕。

内置浏览器 Claude in Chrome Computer use
页面在哪 桌面应用自己的 Chromium 标签 你的 Google Chrome 你的屏幕,或 Cowork Linux VM
登录从哪来 自己的 partition。官方说可按站点导入。1.37937.3 有导入提示状态 launchChromeImportPrompt,导入器我没往下拆完 你现成的 Cookie 和已打开的页 屏幕上碰巧是什么就是什么
模型怎么动手 CDP 快照、点击、填表、执行 JS 扩展工具,经 native host 或 websocket 截屏加辅助功能点击
我没做的事

登录导入还差一口气

Inferred

Cowork 侧栏就是这套 pane 接出去的壳

7 月 Code 已经能读、点、填。8 月 26 日的 Cowork 文案还是这些能力,多了侧栏默认打开、和 Chrome 并列可选。主进程里 pane、tab、CDP、外站策略都在通用的 PreviewContext 上。更像接到 Cowork,不像另写一个浏览器内核。1.37937.3 里也能对上 isCoworkBrowserEnabledcoworkPreferredBrowser === "chrome" 才切扩展那条路。

Unknown

从 Chrome 带登录过来,我没看流量

官方说可以从 Chrome、Edge、Firefox 按站点导入,银行和 SSO 默认排除。新包有 launchChromeImportPrompt(pending / dismissed / done),设置文案也有 “Sites you’ve brought over”。具体怎么读对面浏览器的 cookie,这次没挂钩,也没解密 HTTPS。要钉死得再拆导入器,或者看一次授权过的导入。

从哪核对

链接和路径

  1. Claude Cowork gets a built-in browser。2026-08-26,侧栏、和真浏览器隔离、Preferred browser。
  2. Use the built-in browser in Claude Cowork。桌面在线时,web / mobile 也能驱这只浏览器。
  3. Claude Code Week 28。2026-07,桌面 in-app browser 第一次写进 changelog。
  4. 本机先拆 1.26832.0app.asar SHA-256 964e709746e9d40cd68b2ade85bdd8dca12b8da034dc8153fc14838285148b79,签名 Anthropic PBC (Q6L2SF6YDW)。后来升到 1.37937.3
  5. 主进程 .vite/build/index.chunk-DIBPwUV0.js(CDPTools / WebContentsView / partition)、index.chunk-CEp6GoCO.js(工具和 browser_surfaces)、index2.chunk-DaCwJ8Hk.js(域名名单和源权限)、index.js(native host 安装)、Contents/Helpers/chrome-native-host
文章目录7
Silent Star约 5 分钟