其他
需要让 browse CLI 以本地 Chrome…
把本地 Chrome 的 Cookie 导出并写入 Browserbase 持久上下文,之后可用 browse CLI 打开已登录站点。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 35/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 38/100 ×0.15
适用场景
需要让 browse CLI 以本地 C特定
解决思路
- 首次使用前安装依赖:`cd .claude/skills/cookie-sync && npm install`。
- 准备本地 Chromium 系浏览器远程调试:若浏览器构建暴露 `chrome://flags/#allow-remote-debugging`,启用后重启浏览器;否则用 `--remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug` 启动,并设置 `CDP_URL=ws://127.0.0.1:9222`。
- 确保环境满足:Chrome/Chromium/Brave/Edge 至少打开一个标签页,Node.js 22+,并设置环境变量 `BROWSERBASE_API_KEY`。
- 基础同步全部 Cookie:运行 `node .claude/skills/cookie-sync/scripts/cookie-sync.mjs`;会创建持久上下文并输出 context ID。
- 仅同步指定站点:运行 `node .claude/skills/cookie-sync/scripts/cookie-sync.mjs --domains google.com,github.com`;域名匹配包含其所有子域,例如 `google.com` 匹配 `accounts.google.com`、`mail.google.com` 等。
- 刷新已有上下文中的 Cookie:运行 `node .claude/skills/cookie-sync/scripts/cookie-sync.mjs --context ctx_abc123`;将新鲜 Cookie 重新注入之前创建的上下文,Cookie 过期时使用。
- 启用已验证浏览器模式:运行 `node .claude/skills/cookie-sync/scripts/cookie-sync.mjs --verified`;启用 Browserbase Identity 的 Verified browser 以改善受保护站点访问,推荐用于 Google 等会对浏览器做指纹识别的站点。
- 使用带地理位置的住宅代理:运行 `node .claude/skills/cookie-sync/scripts/cookie-sync.mjs --proxy "San Francisco,CA,US"`;通过指定位置的住宅代理路由,格式为 `"City,ST,Country"`(state 为 2 字母代码),帮助匹配本地 IP 地理位置,避免认证 Cookie 被拒绝。
- 组合参数:运行 `node .claude/skills/cookie-sync/scripts/cookie-sync.mjs --domains github.com,google.com --verified --proxy "San Francisco,CA,US"`。
- 同步后使用 `browse` CLI 和 context ID 浏览认证站点:创建云会话 `SESSION_JSON="$(browse cloud sessions create --context-id <ctx-id> --persist --keep-alive)"`。
- 从会话 JSON 中提取 ID:`SESSION_ID="$(echo "$SESSION_JSON" | jq -r .id)"`。
- 从会话 JSON 中提取连接 URL:`CONNECT_URL="$(echo "$SESSION_JSON" | jq -r .connectUrl)"`。
- 打开页面:`browse open https://mail.google.com --cdp "$CONNECT_URL"`。
- 创建云会话时使用 `--persist`:释放云会话时会把新 Cookie 或状态变化保存回上下文,使下次会话保持新鲜。
- 完整工作流示例:为 Twitter 同步 Cookie:`node .claude/skills/cookie-sync/scripts/cookie-sync.mjs --domains x.com,twitter.com`,输出 `Context ID: ctx_abc123`。
- 完整工作流示例:创建会话:`SESSION_JSON="$(browse cloud sessions create --context-id ctx_abc123 --persist --keep-alive)"`,并提取 `SESSION_ID` 与 `CONNECT_URL`。
- 完整工作流示例:浏览已认证 Twitter:`browse open https://x.com/messages --cdp "$CONNECT_URL"`。
- 完整工作流示例:执行 `browse snapshot`。
- 完整工作流示例:执行 `browse screenshot`。
- 完整工作流示例:执行 `browse stop`。
- 完整工作流示例:请求释放会话:`browse cloud sessions update "$SESSION_ID" --status REQUEST_RELEASE`。
- 复用上下文执行定时任务时,第一次(笔记本打开时)运行 cookie-sync,获得 context ID。
- 复用上下文执行定时任务时,创建 Browserbase 会话:`browse cloud sessions create --context-id <ctx-id> --persist --keep-alive`,再用 `browse open <url> --cdp <connectUrl>` 附加;无需本地 Chrome。
- 复用上下文执行定时任务时,按需在 Cookie 过期后用 `--context <ctx-id>` 再次运行 cookie-sync 刷新。
- 排障 `"No DevToolsActivePort found"`:若可用则启用 `chrome://flags/#allow-remote-debugging`,或用 `--remote-debugging-port=9222` 启动并设置 `CDP_URL=ws://127.0.0.1:9222`。
- 排障 `"No open page targets found"`:在 Chrome 中至少打开一个标签页。
- 排障 `"WebSocket error"`:Chrome 可能挂起,强制退出并重新打开。
- 排障上下文中的 Cookie 过期:用 `--context <id>` 重新运行 cookie-sync 刷新。
- 排障站点拒绝认证:尝试添加 `--verified` 和/或 `--proxy`,代理位置靠近你。
适用边界 · 注意事项
- 没有 Browserbase API key、browse CLI、Node.js 22+,或无法开启本地 Chromium 系浏览器远程调试时。
- 不允许把本地浏览器 Cookie 导出到 Browserbase 云服务或第三方云环境时。
- 目标站点无需登录态,或已有其他认证/浏览方案时。