Files
openclaw-zero-token/docs/zero-token/web-models-browser-modes.md

43 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Web 模型:浏览器与 CDP 模式说明
本文说明 Zero Token 通过 Playwright **CDP 连接 Chrome** 时的几种用法及硬约束,便于与 `docs/zero-token/zero-token-requirements.md` 对照。
## 模式 A独立调试 Profile当前默认
- **做法**:运行 `start-chrome-debug.sh`,使用专用 `user-data-dir`(如 Linux 下 `~/.config/chrome-openclaw-debug`),并开启 `--remote-debugging-port=9222`
- **配置**`browser.attachOnly: true``browser.cdpUrl`(或 profile 中的 `cdpUrl`)指向 `http://127.0.0.1:9222`
- **优点**:不与日常 Chrome 抢同一用户目录;行为稳定、文档与脚本一致。
- **缺点**:需在**该**浏览器实例中完成各站登录,与「日常已登录的 Chrome」不是同一套会话。
## 模式 B用户自备「单实例」调试 Chrome
- **做法**:用户自行用固定 `user-data-dir` + `--remote-debugging-port` 启动 **唯一** Chrome 进程例如桌面快捷方式OpenClaw 仅 **attach** 到该端口。
- **约束****同一 `user-data-dir` 不能同时跑两个 Chrome**。若已打开普通 Chrome 占用该目录,再启动调试实例会失败或异常;需关闭其一或使用与日常不同的专用目录。
- **何时算「复用登录态」**:仅当用户**始终**用这一调试实例上网、完成登录,或该目录本就是用户接受的「专用 Zero Token 环境」时,才等价于长期复用会话。
## 模式 C扩展 / 守护进程桥(参考)
- **参考项目**[bb-browser](https://github.com/epiral/bb-browser)(扩展 + 本机服务)、[insidebar-ai](https://github.com/xiaolai/insidebar-ai)(侧栏复用站点会话的产品思路)。
- **现状**:本仓库主路径仍为 **CDP + Playwright**;是否引入 bb-browser 类集成以 **PoC 结论** 为准见下方「bb-browser PoC 摘要」与 `docs/zero-token/zero-token-requirements.md` 变更记录)。
- **说明**:该模式不依赖「无调试端口的普通 Chrome 被 CDP 附加」——需单独实现或集成桥接层。
### bb-browser PoC 摘要(结论性)
| 维度 | 结论 |
|------|------|
| CLI 可用性 | `npx bb-browser --help` 可正常展示命令(`site``open``eval``fetch` 等),适合作为 **独立工具****MCP** 由 Agent 调用。 |
| 与 Zero Token Web 模型的关系 | bb-browser 以 **站点 adapter**(搜索/热榜/结构化拉数)为主;**不能**替代 `src/zero-token/streams/web-stream-factories.ts` 中 11 个 Web 聊天 Provider 的流式对话与工具协议实现。 |
| `--openclaw` | 文档说明可走 OpenClaw 内置浏览器;与 **本 fork 的 CDP 授权 + `*-web-stream`****并行能力**,非替换关系。 |
| 推荐用法 | 需要站外数据时,通过 **工具/MCP** 暴露 `bb-browser`;主对话模型仍走既有 Web Provider。 |
| 依赖 | **本仓库不默认添加** `bb-browser` 依赖;由用户在环境中 `npm i -g bb-browser``npx` 按需使用。 |
## 配置关系小结
| 模式 | 典型 `user-data-dir` | CDP 端口 | 与日常 Chrome 并行 |
| ---- | -------------------- | -------- | ------------------ |
| A | 脚本指定的独立目录 | 9222 | 可以(不同目录) |
| B | 用户自选(须单实例) | 用户指定 | 同目录则不可以 |
| C | 依具体方案 | 依方案 | 依方案 |
授权命令仍通过 `onboard-web-auth` / `auth-choice` 等将凭证写入本地 profileCDP 只解决「浏览器由谁启动、连哪台 Chrome」。