14 KiB
Codex Browser 与 Chrome 技能调研记录
日期:2026-06-26
主题:Codex 内置浏览器、外置 Chromium 浏览器扩展、登录态页面操作与自动化测试的能力边界
性质:讨论整理与后续 Skill 设计参考,不是正式安全政策或项目规范
1. 摘要结论
今天的实测可以归纳为一句话:
browser适合干净、后台、可重复的网页自动化;chrome适合需要真实浏览器 profile、登录态、扩展环境和用户可见页面的任务。
二者不是互相替代关系,而是不同执行表面:
| 维度 | browser | chrome |
|---|---|---|
| 浏览器位置 | Codex 内置浏览器 | 外置 Chromium 浏览器,通过扩展连接 |
| 用户是否能看到 | 默认后台;需要时可显式显示 | 用户能在 Edge/Chrome 等真实窗口中看到 |
| 登录态 | 默认没有用户真实 Cookie/session | 使用当前浏览器 profile 的登录态 |
| 适合任务 | 本地 Web 测试、公开页面检查、干净环境验证 | 已登录网站操作、接管当前标签、需要扩展或真实账号的流程 |
| 隐私边界 | 与用户真实浏览器隔离 | 可读页面显示内容,但不应读取原始 Cookie、localStorage、密码或 session store |
| 主要风险 | 隐式后台操作、WebAuthn 系统弹窗可能让用户困惑 | 真实账号误操作、隐私内容暴露、对站点规则的合规风险 |
2. 本次实测事实
2.1 browser 内置浏览器
本次用 Codex 内置浏览器访问 https://x.com,页面成功加载,得到的状态包括:
- URL:
https://x.com/ - 标题:
X. It's what's happening / X - 页面状态:
complete - 页面文本包含未登录首页的登录选项
这说明 browser 不限于 localhost。技能说明中强调 localhost、127.0.0.1、file://,是因为它常用于本地 Web 应用测试,而不是访问权限只允许本地页面。
需要注意:browser 默认在后台运行。用户不一定能看到它的窗口。如果任务目标是“让用户看见页面”或“边看边操作”,需要显式使用可见性能力把内置浏览器展示出来。
本次访问 X 时,Windows 弹出了 Passkey/WebAuthn 安全密钥提示。这个提示来自系统认证层,即使浏览器本体在后台,也可能弹到用户桌面。除非用户明确要完成登录,否则这类认证提示应取消或等待用户处理。
2.2 chrome 外置浏览器扩展
最初 Chrome 技能环境不可用,报错为扩展后端不可用。后来用户在 Edge 中安装了对应扩展后,扩展通道可用。
随后通过 chrome 技能完成了几项验证:
- 连接到外置 Chromium 浏览器扩展后端。
- 打开
https://x.com。 - 使用用户真实浏览器 profile 中的 X 登录态进入
https://x.com/home。 - 接管 X 标签页,在右侧
What is happening区域找到标题見てるだけでいいの。 - 点击该标题,页面进入搜索页:
https://x.com/search?q=見てるだけでいいの&src=promoted_trend_click&vertical=trends- 标题变为:
見てるだけでいいの - Search / X
这说明虽然技能名是 chrome,但本次实际可用的是 Edge 上的 Chromium 扩展通道。更保守的表述应是:chrome 技能控制的是安装并连通 Codex 扩展的外置 Chromium 浏览器/profile,而不是只能控制 Google Chrome。
2.3 标签页可见性边界
通过外置浏览器扩展,Codex 可以列出当前连接 profile 中的顶层标签页元数据,例如:
- 标题
- URL
- 最近打开或聚焦时间
- 标签组信息
但这不等于自动读取所有页面内容。只有在接管某个标签页之后,Codex 才会读取该页 DOM、可见文本、截图并执行点击、输入等操作。
它也不等于能看见整台机器:
- 看不到未安装或未启用扩展的浏览器。
- 看不到其他浏览器,例如 Firefox。
- 看不到其他未连接的 profile。
- 无痕窗口通常需要额外允许扩展后才可能被看到。
- 不应读取原始 Cookie、localStorage、密码、session store。
3. 能力模型
可以把浏览器自动化分成三层:
3.1 连接层
连接层决定 Codex 能否拿到浏览器控制面:
browser:连接 Codex 内置浏览器,后端为iab。chrome:连接外置浏览器扩展,后端为extension。
连接层只说明“能不能控制浏览器”,不说明“该不该操作某个账号页面”。
3.2 页面层
页面层决定 Codex 能读到什么:
- 页面标题、URL、DOM、可见文本、截图。
- 页面上已渲染出来的登录态内容。
- 用户当前能正常访问的网页内容。
页面层不等于底层凭证层。已经渲染在页面上的用户名、头像、消息、列表等可以被读到;但原始 Cookie、浏览器密码、session 文件不应读取。
3.3 操作层
操作层决定 Codex 能做什么:
- 点击链接、按钮、标签页。
- 输入表单。
- 滚动页面。
- 截图。
- 提取可见文本。
- 读取少量 DOM 状态。
有外部副作用的动作需要额外确认,例如:
- 发帖、评论、私信。
- 点赞、关注、收藏。
- 提交表单。
- 上传文件。
- 改权限。
- 购买、支付。
- 删除数据。
- 接受敏感浏览器权限。
4. 场景判断
4.1 防爬网站与内容采集
用户提出“小红书这类防爬网站,是否可以利用 chrome 打开页面,爬取对应文章和视频”。
判断:技术上可以做一部分,但必须把“浏览器辅助整理”与“绕过反爬爬虫”区分开。
适合做:
- 打开用户账号本来就能看到的页面。
- 少量、低频、人工授权范围内的内容整理。
- 提取标题、正文、作者、时间、链接等页面可见信息。
- 生成摘要、标签、笔记、引用清单。
- 截图保存证据。
- 对用户自有内容或明确授权内容做归档。
不适合做:
- 批量绕过反爬。
- 绕过验证码、风控、登录限制。
- 绕过付费墙、年龄验证、地区限制。
- 绕过 DRM 或下载受保护视频。
- 批量搬运有版权风险的内容。
- 抓取私密、敏感、未授权内容。
对于视频内容,应优先记录页面 URL、标题、作者、发布时间、可见描述、封面和引用信息。只有在用户明确拥有权利或站点明确允许下载时,才考虑下载或保存媒体文件。
4.2 Web 系统自动化测试
用户总结“Web 系统自动化测试完全可以用 browser,这种不需要人工介入,也省开销”。
判断:准确,但应补充一个路由条件。
优先使用 browser 的测试场景:
- 本地开发服务:
localhost、127.0.0.1。 - 未登录或测试账号流程。
- 表单提交、按钮点击、弹窗验证。
- 布局和响应式检查。
- 截图回归检查。
- 控制台错误检查。
- 干净环境复现 bug。
- 不依赖真实账号、真实扩展、真实浏览器 profile 的测试。
应使用 chrome 的测试场景:
- 依赖真实登录态。
- 依赖企业 SSO。
- 依赖 Passkey、2FA 或用户手动认证后的会话。
- 依赖浏览器扩展。
- 需要接管用户当前已打开的生产后台页面。
- 需要用户看着真实浏览器页面确认操作结果。
工程化建议:长期稳定的 E2E 测试仍应沉淀到项目内 Playwright、Cypress 或类似测试框架。Codex 的 browser 更适合探索式测试、回归前人工智能辅助检查、临时验证和生成测试线索。
5. 路由规则草案
后续如果要做项目内 Skill,可以把路由规则写成以下形式。
5.1 默认选择 browser
当满足以下条件时,默认使用 browser:
- 目标是本地 Web 应用或公开页面。
- 不需要用户真实登录态。
- 不需要浏览器扩展。
- 不需要用户观看过程。
- 操作无账号副作用。
- 目标是验证行为、提取公开信息、截图、检查 UI。
5.2 选择 chrome
当满足以下任一条件时,使用 chrome:
- 用户明确要求使用 Edge、Chrome 或外置浏览器。
- 需要用户当前登录态。
- 需要接管已打开标签页。
- 需要浏览器扩展或真实 profile。
- 需要用户看到页面。
- 页面被登录、SSO、2FA、Passkey、企业权限挡住,而用户已经在真实浏览器中完成认证。
5.3 暂停并确认
当任务包含以下动作时,应暂停并确认:
- 发帖、评论、私信、关注、点赞、收藏。
- 提交会改变外部系统状态的表单。
- 上传个人文件。
- 下载或保存可能受版权保护的媒体。
- 输入或提交密码、验证码、API key、支付信息、身份证件、地址、医疗或财务信息。
- 接受摄像头、麦克风、定位、下载、扩展安装等浏览器权限。
- 遇到 CAPTCHA 或安全验证。
5.4 拒绝或改为安全替代
当任务意图是绕过访问控制、批量规避反爬、破解 DRM、绕过付费墙、抓取未授权私密内容时,不应执行。可替代方案是:
- 只整理用户手动提供或合法可访问的页面。
- 只做摘要、索引、引用清单。
- 使用官方 API、导出功能或平台允许的下载方式。
- 降低频率,保留来源链接,不做批量复制。
6. Skill 设计建议
如果在项目库中打造对应 Skill,建议不要做成“浏览器操作说明”的简单封装,而应做成一个路由与安全边界 Skill。
6.1 建议名称
可选名称:
browser-surface-routercodex-browser-routingweb-automation-surface-policylogged-in-browser-automation
如果面向中文项目库,建议名为:
浏览器执行表面路由网页登录态自动化边界Codex Browser Chrome 路由规则
6.2 Skill 输入判断项
每次执行前先判断:
target_url_or_app:
requires_real_login_state: yes/no
requires_existing_tab: yes/no
requires_browser_extension: yes/no
user_must_watch: yes/no
operation_type: read/click/type/download/upload/submit/change_permission
external_side_effect: yes/no
sensitive_data_involved: yes/no
anti_bot_or_access_control_present: yes/no
expected_artifact: summary/screenshot/extracted_text/test_result/navigation
6.3 输出格式
Skill 可以要求 Codex 输出:
Selected surface: browser | chrome | stop-and-confirm | refuse-with-safe-alternative
Reason:
Risk flags:
Allowed actions:
Disallowed actions:
Verification plan:
Cleanup plan:
6.4 操作原则
建议沉淀以下原则:
- 优先干净环境:能用
browser就不用真实账号。 - 真实账号最小化:只有需要登录态、扩展或用户可见页面时才用
chrome。 - 不读底层凭证:不读取 Cookie、localStorage、密码、session 文件。
- 页面内容可读但需谨慎:已渲染页面内容可用于任务,但敏感信息不应扩散。
- 外部副作用动作前确认:提交、发送、上传、购买、删除、改权限都要确认。
- 防爬场景不做绕过:只做合法访问范围内的低频整理、摘要和引用。
- 测试场景优先工程化:探索式测试可用 Codex,稳定回归应进入项目测试框架。
7. 可复用决策表
| 任务 | 推荐表面 | 说明 |
|---|---|---|
| 本地前端页面冒烟测试 | browser | 干净、后台、可重复 |
检查 localhost 登录弹窗是否出现 |
browser | 除非必须使用真实 SSO |
| 需要企业 SSO 后台 | chrome | 依赖真实浏览器登录态 |
| 用户已在 Edge 打开的 X 页面操作 | chrome | 接管指定标签页 |
| 抓取公开网页标题和正文 | browser | 不需要真实账号 |
| 整理用户账号可见的小红书笔记 | chrome | 低频、授权、只取可见内容 |
| 批量下载小红书视频 | stop/refuse | 可能涉及反爬、版权和平台规则 |
| 生成 UI 截图证据 | browser | 默认后台,必要时显示 |
| 复现只有用户浏览器才出现的问题 | chrome | 依赖真实 profile 和扩展 |
| 需要点击“提交订单” | confirm | 外部副作用动作 |
8. 对未来项目库的落地建议
建议在具体项目库中不要把这份记录直接当运行规则全文复制,而是提炼为三类文件:
skills/
browser-surface-router/
SKILL.md
references/
browser-vs-chrome-research.md
safety-boundaries.md
templates/
task-routing-checklist.md
SKILL.md 应保持短而可执行,只放触发条件、路由规则、确认规则和输出格式。本文这种调研记录更适合作为 references/ 下的背景材料。
对于需要频繁采集资料的项目,可再拆一个专门 Skill:
skills/
logged-in-page-extraction/
SKILL.md
references/
allowed-extraction-patterns.md
disallowed-anti-bot-patterns.md
它的核心不应是“怎样绕过反爬”,而应是“怎样在用户授权和平台允许的范围内,把用户可见页面整理成结构化材料”。
9. 未解决问题
后续还需要进一步验证:
- Codex 内置
browser的可见模式在当前 Windows 桌面中的具体表现。 - Edge、Chrome、多 profile、无痕窗口的扩展连接边界。
- 对视频页面,能稳定提取哪些层级的信息:页面元数据、封面、可见描述、播放状态、媒体 URL。
- 对项目内 Web 系统,
browser结果如何转化为正式 Playwright/Cypress 测试。 - 如何在团队或个人知识库中记录“已授权页面采集”的证据和范围。
10. 一句话规则
后续做 Skill 时可以把核心规则压缩成:
默认用
browser做干净、后台、可重复的网页验证;只有当任务确实依赖用户真实浏览器状态、登录态、扩展或可见窗口时,才使用chrome;任何外部副作用、敏感数据、验证码、反爬规避、版权下载都必须停下来重新确认或改用安全替代方案。