Skip to content

内置浏览器自动化 ​

内置一块 AI 可以直接驱动的浏览器面板——终端里的 AI 能自己打开网页、点击、填表、读取数据、跑自动化测试。查文档、测网页、抓数据、验登录流程这些过去要你手动来的事,现在交给 AI 在浏览器里完成。

为什么需要 ​

AI 编程时经常要和网页打交道:查在线文档、测试自己写的前端、获取页面数据、验证登录注册流程。过去 AI「看不到」浏览器,只能让你手动操作再把结果贴回来。内置浏览器自动化把浏览器接进了 AI 的工作闭环:

  • AI 能看见:读取页面结构、截图,AI 据此理解页面、规划操作
  • AI 能操作:真实点击、输入、滚动、上传下载,和人手操作等效
  • 不挡你提问:面板嵌在终端右上角,AI 操作浏览器时你照常打字

全局单窗多标签 ​

内置浏览器采用全局单窗多标签架构——不管从哪个会话、哪个入口打开网页,都汇聚到同一个浏览器窗口的不同标签页里,像用日常浏览器一样管理(早期版本的「嵌入式三态小窗」已统一到这套多标签窗)。

  • Chrome 式标签栏 — 标签外形与 Chrome 一致,颜色跟随应用主题;每个标签显示网页的真实标题和网站图标(favicon),同一站点开几个页也分得清(窗口标题、最近访问、「复制为 Markdown 链接」同样用真标题)。窗口控制键(最小化 / 最大化 / 关闭)位于标签栏右上角
  • 新建标签页 = 应用图标 + 最近访问 — Chrome 式居中布局:上方是应用图标,下方是「最近访问」磁贴(每行 5 个、最多 10 个,按域名去重),没有网站图标的站点显示名字首字母,点一下直接访问
  • 访问本机 — 工具栏的主页按钮(房子图标)一键打开 http://localhost,方便联调本地前端;连着远程主机时还能选择经那台主机访问,见经远程主机出网
  • 按会话归属 — 浏览器面板默认按发起会话归属隔离,不跨会话串用;标签栏上的会话按钮可一键回到发起此页的聊天会话
  • 固定与休眠 — 标签页可以固定(收窄成纯图标、不显示关闭按钮,防误关);整个浏览器窗关掉后,标签页转为休眠以释放内存,再切到它时点「重新加载」即可恢复

标签页右键菜单 ​

菜单项说明
新建标签页 / 重新加载 / 复制此标签页常规标签操作
固定标签页 / 取消固定标签页固定后只留图标
复制网址 / 复制为 Markdown 链接Markdown 链接带网页标题
复制标签页标识符(粘给 AI)把标识符交给别的会话,那边的 AI 就能接着操作这个标签页
回到发起此页的会话跳回打开这个页面的聊天会话
截图此页截图直接进剪贴板
用默认浏览器打开交给系统浏览器
用代理重新打开 / 直连重新打开判断错了时手动纠正这个站点的走向(本次运行内有效),见按站点自动分流代理
开发者工具打开该页的开发者工具
关闭标签页 / 关闭其他标签页 / 关闭右侧标签页固定的标签页不会被「关闭其他 / 关闭右侧」带走
重新打开已关闭的标签页记最近关闭的 10 个

不抢焦点 ​

浏览器窗默认藏在主窗背后、定位到屏幕右上角,后台打开时不遮挡你正在进行的聊天,也不抢走输入焦点——AI 在浏览器里忙它的,你照常在终端打字。需要看浏览器时点一下即可唤到前台。

不抢焦点的代价是你可能完全没察觉 AI 开了浏览器。所以入口按钮加了三层提醒:AI 刚开页时闪烁,浏览器有活动时呼吸光晕,你没看过的页面累计成未读角标。

AI 在后台开页时,也会照顾你手上正在做的事:

你此刻的状态AI 开新页时
正在用浏览器新页在后台开出,窗口不会被压到主窗背后,焦点留在你手上
浏览器已最小化保持最小化,不会被弹出来;AI 照常读页面、点击、截图
正在地址栏打字回车仍然跳转你正在编辑的那个标签页,不会跑到 AI 那一页;回车后地址栏会跟上页面最终跳转到的网址

标签上也有对应提醒:AI 新开标签时标签栏扫过一道光、该标签闪一下;AI 正在操作的标签图标会呼吸;你还没看过的 AI 标签带一个未读小圆点。

打开方式 ​

触发来源说明
AI 驱动终端里的 AI 调用 MCP 工具 browser_open,自动在多标签窗里开页
你手动点 标签栏直接开窗(去掉了旧版的 URL 弹窗)
终端 URL 链接点终端输出里的 http(s) 链接,在确认弹窗里选「通过内置浏览器打开」,在会话浏览器里新开标签页并切到前台

每个浏览器窗都有一个唯一标识符(label)。把标识符复制给另一个会话,别的会话里的 AI 也能找到同一个窗口接着操作,实现跨会话共享与接管。

按站点自动分流代理 ​

有些站点(如雅虎、部分海外服务)在国内直连打不开。内置浏览器会逐个站点决定走直连还是走代理:国内站直连,连不上的站自动学成走代理。开页前不用先探测好几秒,判断错了也不用关页重开;直连和走代理的页面共用同一份登录状态,不会这边登录了那边还要再登。

代理用的是「设置 → 网络」里填的代理地址;需要账号密码的代理也能用(在同一页的「认证(可选)」里填用户名和密码)。

三种模式 ​

在「设置 → 网络 → 内置浏览器代理」里选择:

模式行为
智能(默认)先直连;连不上、或连上后被掐断,就自动改走代理,并记住这个站点 12 小时(过期后重新尝试直连,免得一次误判永久锁死)。谷歌、YouTube、X、维基百科等常见境外站点直接先走代理
始终走代理所有网页都经代理访问
从不全部直连,不走代理

无论哪种模式,本机和内网地址始终直连。

地址栏旁的代理按钮 ​

打开普通网页时,地址栏右侧有一个小按钮,显示当前站点的走向:

按钮文字含义
代理(高亮)这个站点正走代理
直连这个站点直连
自动还没判定,先直连、不通再走代理

鼠标悬停能看到判定依据,例如「你设置的站点规则」「直连连不上,已自动改走代理(12 小时内有效)」「常见的境外站点,默认先走代理」「AI 打开网页时指定的,本次运行内有效」。按钮变淡并提示「本地代理没有运行,网页全部直连」时,说明分流没在工作,网页一律直连。

点开按钮,工具栏里就地展开三个选项:

选项效果
此站走代理该站点及其子域名一律走代理,永久保存
此站直连该站点及其子域名一律直连,永久保存
自动去掉这个站点的规则,并忘掉自动学到的走法,按代理模式重新判断

你设的站点规则优先于代理模式;AI 打开网页时临时指定的走向、或右键「用代理重新打开 / 直连重新打开」,在本次运行内更优先。本机 / 内网地址、空白新标签页、隧道标签页不显示这个按钮。

查看与删除站点规则 ​

「设置 → 网络」的「站点规则」列表列出你设过的所有站点,每条标明「走代理」或「直连」,点「删除」即恢复自动判断。规则在浏览器的代理按钮里添加,这里负责查看和删除。

AI 打开境外站会顺手指定代理

AI 打开谷歌、YouTube 这类境外站点时会直接指定走代理(本次运行内对该站有效),不必等第一次直连失败再回退。

经远程主机出网 ​

调试「只有服务器上才访问得到」的服务,或者想看网页从服务器所在地区访问的样子时,可以让某个标签页的网络出口落在远程主机上:

  1. 先切到那台远程主机的工作区并连上(只列出已连接的主机,见远程 SSH 工作区)
  2. 点浏览器工具栏的主页按钮(房子图标),工具栏里会展开「本机 localhost」和「主机别名 的 localhost」
  3. 选「主机别名 的 localhost」,新开一个隧道标签页:这个页里的 localhost 和任意端口都指向那台服务器,不必事先做端口转发;访问外网时也从服务器的网络出去

没有已连接的远程主机时,主页按钮仍是一键直达本机 localhost,不会多弹选择。

怎么认出隧道标签页 ​

隧道标签页和普通标签页打开的可能是同一个网址,但访问的是不同机器上的服务,界面上这样区分:

位置隧道标签页的样子
标签网站图标旁多一个蓝色小服务器图标(固定成纯图标后也有)
悬停标签提示「经远程主机「主机别名」出网」
地址栏右侧不显示代理按钮(出口已固定在远程主机)

注意事项 ​

  • 已打开的页面不能就地换出口,想换只能新开一个标签页;要回到本机,点主页按钮选「本机 localhost」,会新开一个本机标签页
  • 在隧道标签页里复制此标签页、重新打开已关闭的标签页、下载文件,都继续经同一台远程主机;主机断开时会直接报错,不会悄悄改成本机出网
  • 右键「用代理重新打开 / 直连重新打开」在隧道标签页上置灰;「用默认浏览器打开」对本机 / 内网地址置灰(系统浏览器从你的电脑访问,打开的不是同一个服务)
  • 隧道标签页不计入新标签页的「最近访问」
  • Windows 与 Linux 支持隧道标签页;macOS 暂不支持(无法保证这种标签页里的 localhost 真的指向远程主机),主页按钮在 macOS 上直接打开本机 localhost

更像真 Chrome ​

内置浏览器对网站表现得和普通 Chrome 一样,常见的「浏览器不像浏览器」问题都已处理:

  • 验证框能正常加载(Windows) — reCAPTCHA、Cloudflare Turnstile 等常见验证码 / 人机验证框能正常显示,你可以直接在里面完成验证
  • 不再被误判成客户端(Windows) — 有的站点(如 TaskGo)会把内置浏览器误认成它自家的桌面客户端而整页空白,现在能正常打开
  • 网页原生通知可用 — 需要通知权限的网站可以正常申请和使用通知,不会被一律当成「已拒绝」

下载 ​

谁发起文件存到哪怎么知道下完了
你在网页里点下载系统「下载」文件夹,重名时自动加序号,不覆盖已有文件浏览器窗口顶部先显示「正在下载 文件名…」,完成后变成「已下载 文件名」并带「打开所在文件夹」链接
AI 用下载工具默认存到应用缓存目录下按标签页分开的文件夹,也可让 AI 指定目录AI 拿到的结果里直接写着文件的完整路径,可以接着读取或交给你

系统「下载」文件夹被改到别的盘时,点「打开所在文件夹」一样能直接找到文件。AI 下载会带上当前页面的登录状态,登录后才能下的文件也能下。

本机服务还没起来时自动等待 ​

AI 刚启动服务就去开页、或者服务正在重启时,本机地址(localhost 等)会暂时打不开。内置浏览器不会直接弹「无法访问,请检查网络」,而是在这个标签页上等它起来:

  • 工具栏显示「本机 localhost:端口 还没有服务在监听,起来后自动刷新(已等 N 秒)」,标签上出现沙漏图标(切到别的标签也看得到)
  • 每秒检查一次,服务一起来就自动刷新,最长等 90 秒
  • 等满仍没有服务:提示「请确认服务已启动、端口没写错」,点「重试」再等一轮
  • 网址写成 127.0.0.1 或 [::1]、服务却只在另一种地址上监听时,会自动改用 localhost 打开
  • 端口已有服务在听、只是页面本身报错时,不会每秒刷新个没完

AI 能做什么 ​

AI 经 MCP 工具驱动浏览器,覆盖网页自动化的完整能力:

类别能力
导航与感知打开网址、跳转、抓页面语义快照(标题/链接/按钮/输入框)、整页截图、单个元素截图、列出页面内的 iframe
交互操作真实点击、输入文本、悬停、设置下拉框、按键与组合键、滚动到元素/底部、自动应答 alert/confirm/prompt 弹窗
文件传输给文件框上传本地文件、把网页文件下载到本地(自动带登录 cookie)
登录态读写 cookie(含 httpOnly 登录凭证)、读写 localStorage/sessionStorage
数据获取按规则批量提取结构化数据、把 HTML 表格转成结构化数据、拦截/改写网络请求做接口 mock
网络抓包一个请求一条记录,带请求体与响应体,凭据自动打码,可导出 HAR,见AI 抓包
识别被拦认出 Cloudflare 检查、人机验证、登录墙、限流,交给你处理,见页面被拦住时交给你
测试闭环录制你的操作并重放、对页面状态执行断言(元素存在 / 文本匹配 / URL 包含 / 数量等)
移动端画幅按手机 / 平板视口渲染,触摸事件与移动 UA 一并切换
收尾关掉自己开的标签页,任务做完不留一堆页面占内存

截图:画面外还有多少一清二楚 ​

AI 截图时拿到的不只是一张图:

  • 说明画面外的内容 — 默认截当前一屏,同时告诉 AI 右侧、下方还藏着多少内容(包括表格、面板这类自己滚动的区域),AI 不会拿半张图就下结论
  • 整页截图 — 长页面一次截下全部内容,不用一屏屏滚着截
  • 桌面固定视口 — 表格列太多被窗口裁掉、或需要在不同电脑上截出一样的图时,可把页面锁定为「桌面 1440×900」或「桌面 1920×1080」渲染(与窗口实际大小无关)。你也可以在工具栏的设备按钮里手动选这两档,见下方移动端 H5 调试

整页截图与桌面固定视口仅 Windows 支持。

AI 抓包 ​

AI 能读到页面自打开起的网络请求,排查接口问题不用你再手动抄:

  • 一个请求一条记录 — 最多保留最近 300 条;可以只看接口请求、按网址关键字筛,或只看出错的
  • 带请求体与响应体 — 单条请求能看到请求头、请求体、响应头、响应体(接口返回的 JSON / 文本,过长会截断),重定向的每一跳都列出来
  • 凭据自动打码 — Cookie、登录凭据,以及名字像密码 / token 的请求头和字段一律打码;AI 需要带登录状态调接口时,直接在页面里发请求,不取出凭据
  • 导出 HAR — 把记录导出成 HAR 文件,可拖进 Chrome 开发者工具的 Network 面板,或用 Charles / Fiddler 打开;导出内容同样已打码

页面被拦住时交给你 ​

AI 打开的页面如果停在拦截页上,AI 能认出来,不再反复刷新或试图去点验证控件,而是按下表处理:

情况AI 的做法
Cloudflare 浏览器检查先等十秒左右(这类检查通常会自动放行),不反复刷新;仍未放行就请你在内置浏览器里手动通过
人机验证(reCAPTCHA、hCaptcha、Turnstile、极验、阿里滑块、腾讯验证码等)不点、不破解验证控件,请你在内置浏览器里完成验证后再继续
登录墙请你在内置浏览器里登录(登录状态会保留),不替你输入密码
限流放慢操作、等一会儿再试,避免越刷限制越久
拒绝访问可能是出口或地区被拦,换走代理再打开;仍不行就告诉你,由你判断

你在内置浏览器里处理完,告诉 AI 继续即可。

移动端 H5 调试 ​

移动端页面在 PC 宽屏里看不出真机效果。现在打开页面时可以直接指定手机画幅,第一帧就是手机视口 + 触摸 + 移动 UA,省掉「先按 PC 加载 → 再切设备 → 再重载」一整轮。

不指定时也会自动判定:uni-app / Taro / Vant 这类页面会自动切成手机画幅,判据包括站点记忆、发起会话的项目依赖、页面特征探针。

设备画幅覆盖在窗口里居中显示,缩放比例与坐标换算一致 —— AI 点击的位置就是你看到的位置。

你也可以手动切换:

  • 设备按钮 — 工具栏的手机图标展开一排选项:「响应式」(按窗口铺满,普通 PC 网页)、各款手机 / 平板,以及分隔线后的「桌面 1440×900」「桌面 1920×1080」两档桌面固定视口(页面按这个宽高渲染,与窗口大小无关,放不下时等比缩小显示)。手动选的画幅会按站点记住,下次打开这个站直接就是它
  • 旋转 — 设备模式下可一键横竖屏切换,不会重新加载页面
  • 自动切换可撤销 — 自动切成手机画幅时,工具栏提示「检测到 … · 已切 …」,可点「撤销」,或点「此站始终 PC」让这个站以后不再自动切

设计模式:在页面上点,让 AI 改代码 ​

改样式最麻烦的一步是把「哪个元素」说清楚——"第三个卡片右上角那个小按钮",AI 得靠猜。设计模式把这一步变成点一下。

点浏览器工具栏的 □ 进入选择态,鼠标划过页面时元素会高亮,点中就弹出确认面板:

面板内容说明
元素缩略图选中区域的截图(仅 Windows,见下方平台支持)
选择器 / DOM 路径 / 父级链定位信息,AI 据此在代码里找到对应元素
尺寸元素的实际宽高
React 组件名页面用 React 写的话,直接给出组件名——往往一步就能定位到源文件
诉求输入框你补一句想怎么改,例如「这个按钮 hover 时不该变色,改成只加深边框」

点「发送给 AI」后,这些上下文会拼成一段结构化 Markdown 直接写进当前活动会话的终端,包含:来源页面网址、选择器与 DOM 路径、HTML 片段、以及该元素上与浏览器默认值不同的 CSS(也就是作者实际写过的那些声明)。

为什么只给"作者设置过的" CSS

如果把完整 computed style 全给出去,AI 会把没列出的属性理解成"未设置",从而写出一堆多余的重置声明。只给差异部分,AI 改动更克制。

发送前可以展开「预览将发送的内容」看完整文本,确认无误再发。

平台支持 ​

内置浏览器在三个平台都能开窗、导航、跑自动化,但能力深度不同:Windows 上的内置浏览器与 Chrome 同内核,能力最完整;macOS / Linux 用系统自带的 WebKit 内核,读取、操作、截图、抓包、Cookie 都已补齐,只有少数能力做不到。

能力WindowsmacOS / Linux
打开 / 导航 / 多标签支持支持
页面快照、点击、输入、悬停、按键、滚动、断言支持支持(点击与输入是模拟事件,见下方说明)
数据提取、表格转换、iframe 列举、等待条件、弹窗应答支持支持
视口截图、元素截图支持支持
整页截图、桌面固定视口(1440 / 1920)支持不支持(按窗口实际宽度渲染,只截当前一屏)
手机 / 平板画幅支持(尺寸、触摸、手机版标识一并切换)部分支持(只有画幅尺寸生效)
Cookie 读写、登录态跨窗复用支持支持
网络抓包、导出 HAR、控制台日志支持支持(抓包只含页面脚本发起的接口请求,看不到网页文档、图片、样式等)
网络请求拦截与 mock支持不支持
给网页文件框上传文件支持不支持(可改用粘贴 / 拖放式上传)
录制你的操作支持不支持
重放录制脚本支持支持
按站点自动分流代理支持Linux 支持;macOS 14 及以上支持(13 及以下网页一律直连,地址栏的代理按钮会说明)
经远程主机出网(隧道标签页)支持Linux 支持;macOS 暂不支持
更像真 Chrome(验证框正常加载、不被误判成客户端)支持不适用

macOS / Linux 上的点击与输入是模拟出来的事件:普通网页和前端框架照常响应,但个别风控严格的站点可能不认。这两个平台的读取与操作工具对内容安全策略严格的站点同样有效。

遇到不支持的操作会怎样

做不到的工具在 macOS / Linux 上会返回带 [unsupported] 标记的错误,明确告诉 AI「这是平台限制、重试也不会成功」,并提示可以改用哪些工具。这样 AI 会直接换路子,而不是把它当成偶发故障反复重试。

需要接口 mock、录制操作、整页截图这类能力,请在 Windows 上运行;隧道标签页在 Windows 与 Linux 上都能用。

终端网址悬停预览 ​

终端里悬停网址时弹出的预览卡片,用的也是内置浏览器的能力(完整用法见终端与文件工具)。与浏览器相关的几点:

  • 只给网页截图 — 指向文件(附件、导出、安装包等)的链接只显示文件名、类型和大小,悬停不会把文件下载下来;图片链接直接显示图片
  • 不卡、不白屏 — 页面弹出的提示框不会把预览卡住,也不会截到一张空白页
  • 闲置自动关闭 — 预览窗闲置 3 分钟自动关闭,释放约 290MB 内存;代价是之后第一次悬停多等 1~2 秒

典型场景 ​

自动化测试——让 AI 打开你的网站走一遍关键流程,再断言结果:

「打开 example.com/login,用 test 账号登录,断言进入后台页且顶部显示用户名」

AI 会自己导航、填表、点提交、读取页面、给出每条断言的通过/失败。

数据获取——把页面列表或表格变成结构化数据:

「打开这个商品列表页,把每个商品的标题和价格提取出来」

前端联调——拦截接口返回假数据,测前端各种状态:

「mock /api/list 返回空数组,看页面的空状态显示是否正常」

接口排查——让 AI 看页面到底发了哪些请求、哪个出了错:

「打开登录页走一遍登录,把出错的接口和它的返回内容列出来」

查在线文档——AI 自己开网页查资料,不用你复制粘贴。

怎么用 ​

直接用自然语言告诉终端里的 AI 你想做什么,AI 会自动选用合适的浏览器工具去操作。前提是该 AI 客户端已接入智码的 MCP 服务(设置 → MCP 接入 → 一键接入)。

登录态复用

内置浏览器有独立的持久存储:在某个站点登录一次,cookie 会被记住,关掉重开仍是登录状态。AI 也能把一个窗口的登录 cookie 导出、注入到另一个窗口,实现登录态跨窗复用,避免反复登录。

上手提示词 ​

把下面这些话(网址换成你自己的)直接发给终端里的 AI,它就会驱动内置浏览器去做。不用记任何命令,自然语言描述需求即可。

浏览与查询

用浏览器打开 https://你的网址

打开 github.com 搜索 tauri,把前 5 个结果的标题和链接列给我

自动化测试

打开 http://localhost:3000/login ,用账号 test 密码 123456 登录,断言登录后跳到 /dashboard 且页面显示用户名

打开我的网站走一遍注册流程(随便填测试数据),告诉我哪一步报错或卡住

数据获取

打开这个商品列表页,把每个商品的名称、价格、链接提取成表格

打开这个数据表格页,把表格转成 JSON 给我

前端联调(接口 mock)

打开 http://localhost:3000 ,拦截 /api/list 让它返回空数组,看页面的空状态显示对不对

mock 这个接口返回 500 错误,测一下前端的错误提示是否正常

抓包与排查

打开 http://localhost:3000 刷新一次,把所有返回错误的接口请求列出来,带上请求体和响应内容

把这个页面刚才的网络请求导出成 HAR 文件给我

登录态复用

打开网站登录后,把登录用的 cookie 导出给我

在这个新窗口注入刚才那套 cookie,免登录直接进

录制回放与截图

我在浏览器里手动操作一遍,你录下来生成可重放的脚本

打开这个页面,截图给我看看现在长什么样

这个页面很长,截一张整页图给我

让 AI 自己摸索

不确定页面结构时,可以先说「打开这个页面,先看看上面有哪些按钮和输入框」,AI 会读取页面快照规划后续操作,你再让它继续点/填/读即可。

安全说明 ​

  • 内置浏览器与应用主进程严格隔离:外部网页拿不到任何应用内部接口;网页即使拿到浏览器的调试地址,也无法借此反过来操控内置浏览器
  • AI 的浏览器操作全部经过 MCP 工具,每次调用都有审计记录
  • 你在网页里点的下载存到系统「下载」文件夹并给出回执;AI 用下载工具下的文件默认落到应用缓存目录下按标签页隔离的子目录,不会污染你的系统下载夹
  • 直接打开的本机网页文件,不能借脚本读取你电脑上的其他文件
  • 录制你的操作时,密码、银行卡、一次性验证码这类输入框只记成 ***,不记原文(录制结果可能交给 AI、写进测试脚本)
  • 抓包记录与导出的 HAR 文件里,Cookie、登录凭据和密码类字段都已打码
  • 远程主机上的会话调用浏览器时,可以照常浏览网页、点击、读取、截图,但不能碰你电脑上的文件:不能把本机文件上传或粘贴给网页、不能打开本机文件,下载和导出 HAR 也只能存到默认缓存目录,不能指定本机的其他目录

相关章节 ​

若依科技工作室 · 承接后台管理 / 桌面软件 / 全栈 / 小程序定制开发 · 技术服务咨询