8.1 KiB
1
我之前应该有个browser的技能,刚刚又装了chrome的技能,这两个是否重叠了?他们都是做什么的,是否环境都没准备好?
不是完全重叠,也不是都没准备好。
browser:control-in-app-browser:控制 Codex 应用里的内置浏览器。适合打开/测试 localhost、文件页面、网页 QA、截图、点按钮、读页面状态。这个我刚验证过:后端 iab 能连接,运行时是可用的。
chrome:control-chrome:控制你本机真实 Chrome,通过 Codex Chrome Extension 连接现有 Chrome profile。适合需要你 Chrome 里的登录态、Cookies、已打开标签页、扩展状态的任务。这个和内置 browser 的能力有重叠,但关键差别是它使用真实 Chrome 状态。
当前检查结果:
- 两个技能包都已安装,核心脚本也存在。
- 内置
browser:可用。 chrome:当前不可用,报Browser is not available: extension。- Chrome 本体已检测到安装。
- Codex Chrome native host manifest 缺失:
C:\Users\wangq\AppData\Local\OpenAI\extension\com.openai.codexextension.json不存在,注册表项也不存在。 - 默认 Chrome user data 目录也没检测到:
C:\Users\wangq\AppData\Local\Google\Chrome\User Data。
结论:browser 可以直接用;chrome 技能装了,但 Chrome 扩展连接环境还没准备好。按技能自己的说明,这种 native host 缺失不应由我手工修,建议从 Codex 的插件 UI 里重新安装/修复 Chrome plugin,然后确认 Codex Chrome Extension 在目标 Chrome profile 里已安装并启用。
2
browser只能打开loclhost?权限被限制了么,还是只是技能说明这样写。 你测试一下browser是否能打开x.com
测试结果:内置 browser 可以打开 https://x.com。
实际返回:
{
"ok": true,
"url": "https://x.com/",
"title": "X. It’s what’s happening / X",
"readyState": "complete"
}
页面内容也读到了 X 的未登录首页登录选项。所以 browser 并不只限 localhost;技能说明里强调 localhost / 127.0.0.1 / file:// 是因为它常用于本地应用测试。当前限制主要是:它没有你的真实 Chrome 登录态、Cookie、扩展和已打开标签页;这些才是 chrome 技能的用途。
3
你打开x时,windows弹出了安全密钥的选项,我也不知道怎么填;但是你的内置browser我看不见。
我刚在edge上装了chrome skill的扩展。你试一下chrome 环境是否具备,若具备也访问x.com。
Chrome/extension 环境现在具备了。刚才扩展通道已经能连上,和之前 Browser is not available: extension 的状态不同。
我也用这个真实浏览器通道访问了 https://x.com,结果:
{
"ok": true,
"url": "https://x.com/",
"title": "x.com",
"readyState": "interactive"
}
我把这个 x.com 标签页保留在你的真实浏览器里了。注意:技能名叫 chrome,但你是在 Edge 上装的扩展;从 Codex 侧看,目前可用的是“扩展浏览器通道”,已经能打开页面。Windows 弹出的安全密钥一般是 Passkey/WebAuthn 登录提示;不登录的话可以取消,不需要我这边填写。
4
刚browser打开,我看不见窗口,弹出了Passkey/WebAuthn
chrome你打开x后用的默认的还是我的cookie,用我的账号登录到x上了。
那么,你能看到x.com的东西并操作么,比如点击页面上見てるだけでいいの这个标题,进入相应的页面。
可以,已经操作成功。
我接管的是你真实浏览器里的 https://x.com/home 登录态标签页,找到了右侧 What’s happening 里的 見てるだけでいいの,确认只有一个匹配项后点击了它。
现在页面已进入:
https://x.com/search?q=見てるだけでいいの&src=promoted_trend_click&vertical=trends
标题变成:
(19) 見てるだけでいいの - Search / X
这个标签页我保留在浏览器里了。
5
所以我总结一下: browser,你内置浏览器,操作我都看不见; chrome,可以控制外置浏览器,chrome内核就可以,比如这次用的edge,可以用我的cookie,seesion。
那么基于这个,探讨两个:
- 对于防爬的网站,比如小红书,可以利用chrome打开页面,爬取对应的文章和视频
- 对于Web系统的自动化测试,完全可以用browser,这种不需要人工介入,也省开销。
点评我的总结是否准确,你还能想到更多的场景应用么?
你的总结大体准确,但有两点要修正:
browser 不是“永远看不见”,而是默认后台运行;我可以在需要时把 Codex 内置浏览器显示出来。它不是你的 Edge/Chrome 窗口,所以没有你的登录态、扩展、真实 Cookie。刚才弹 Passkey/WebAuthn 是系统级认证弹窗,哪怕浏览器本身在后台,也可能被 Windows 弹出来。
chrome 更准确说是“通过扩展控制外置 Chromium 浏览器”。这次 Edge 可用,说明它不局限于 Google Chrome。它能使用你当前浏览器 profile 的登录态/session,但我不会读取原始 cookie、localStorage、密码等,只操作页面上已加载、可见或 DOM 可读的内容。
关于两个判断:
-
防爬网站
技术上可以用chrome像真人浏览一样打开已登录页面,读取页面文本、标题、链接、可见媒体信息,做小规模、低频、账号授权范围内的采集。
但它不等于“合法绕过反爬”。不适合做批量抓取、规避验证码/风控/付费墙/DRM、绕过站点限制、批量下载受版权保护的视频。小红书这类站点更适合做“你账号能正常看到的少量页面整理、归档、摘要、截图、链接清单”,而不是爬虫化搬运。 -
Web 系统自动化测试
准确。browser很适合本地 Web 系统测试:localhost、表单流程、按钮点击、DOM 断言、截图、响应式检查、console error 检查。它不污染你的真实浏览器账号,也不需要人工看着。
如果测试依赖真实 SSO、企业插件、浏览器扩展、已有登录态、Passkey/2FA,则用chrome更合适。
更多场景:
browser:本地前端 QA、复现 bug、验证改动、检查页面布局、生成截图证据、测试未登录/干净环境、跑轻量探索式 E2E。chrome:操作已登录后台、处理只能在真实浏览器里访问的网站、接管你已打开的标签页、用你的扩展环境、继续需要人工登录后的流程。- 两者配合:先用
browser在干净环境测试公开流程,再用chrome验证真实账号/真实权限下的行为差异。
6
那么,我现在edge上打开的页面/标签,你都能看见么?还是只能看见x
不是只能看见 X。
更准确分三层:
- 标签页清单层面:通过 Edge 上的扩展,我可以看到当前连接的浏览器 profile 里打开的顶层标签页元数据,主要是标题、URL、最近打开/聚焦时间、标签组信息。
- 页面内容层面:只有我接管某个标签页之后,才会读取这个页面的 DOM、可见文本、截图并执行点击/输入等操作。
- 隐私/底层状态:我不会读取原始 cookie、localStorage、密码、session store 这类浏览器内部数据;但如果页面已经用你的登录态渲染出来,我能看到页面上显示出来的内容。
所以刚才不是“只能看到 X”,而是我选择并接管了 X 标签页。范围也不是全机器:看不到未安装/未启用扩展的浏览器、其他 profile、Firefox、普通桌面窗口;无痕窗口通常也需要单独允许扩展才可能被看到。
如果你要我从多个 Edge 标签里选一个操作,最好给我标题关键词或 URL 关键词,我可以先只匹配标签元数据,再接管指定页面。
7
能否把这个今天的讨论总结成一份调研式文档,以便我在具体项目库里打造对应的skill做引用。
位置放在C:\Users\wangq\Documents\Codex\knowledge-vault\discussions\technology\Codex\,我确认授权。