agent操作浏览器 还得是codex啊
-
浏览器 Agent 的体验差异,基本不在"能不能点",而在三层有没有解耦:
-
动作层(CDP/Playwright)
主流都是 Chromium + remote debugging。崩溃和版本冲突,九成出在 Playwright / puppeteer / MCP SDK / Node 的版本漂移上,尤其同时挂两套框架时。
每个环境锁一套版本(lockfile + 固定 Chromium 版本),浏览器单独常驻,Agent 用 connect_over_cdp 连过去,别让每个 MCP 各起一个 Chromium。 -
观测层("看得到 Agent 在干嘛")
MCP 默认只回结果、不回过程,所以"看不到操作"。想实时看,用同一个浏览器实例开 CDP screencast,或者 headful + noVNC 直接看那个窗口;Playwright 的 trace viewer 适合事后回放,不适合实时。
hermes desktop 能同步但 drive_preview 一堆 bug,本质是它自己维护了一套观测通道,稳定性取决于它;自己接 CDP 反而更可控。 -
模型层(能不能换)
codex 丝滑是垂直整合换来的:动作空间、上下文裁剪、重试都按自家模型调过,代价就是绑死模型。想换模型,就得回到"薄 MCP + 通用 VLM grounding"这条更折腾但可替换的路。
结论:现在这还是工程问题不是模型问题。要稳,就走常驻 headful Chromium + connect_over_cdp + 薄工具层(click/type/read/screenshot),模型可换;要省心,就认 codex 的绑模型。
-
-
codex是这方面的行家
-
开发一个就可以了。
支持 MCP 的浏览器非常多。