cookie-sync

cookie-sync

热门

将本地 Chrome 的 Cookie 同步到 Browserbase 持久化上下文(persistent context),让 browse CLI 能够直接访问已登录网页。当用户希望以本人身份浏览网页、同步 Cookie 或通过 Browserbase 登录网站时使用。

3668Star
233Fork
更新于 2026/7/30
SKILL.md
只读
名称
cookie-sync
描述

将本地 Chrome 的 Cookie 同步到 Browserbase 持久化上下文(persistent context),让 browse CLI 能够直接访问已登录网页。当用户希望以本人身份浏览网页、同步 Cookie 或通过 Browserbase 登录网站时使用。

Cookie Sync — 本地 Chrome → Browserbase 上下文

将本地 Chrome 的 Cookie 导出并保存到 Browserbase 的**持久化上下文(persistent context)**中。同步完成后,即可通过 browse CLI 带有该上下文打开已登录的浏览器会话。

支持域名过滤(仅同步你需要的网站 Cookie)和上下文复用(直接刷新 Cookie,无需重复创建新上下文)。

前置条件

  • 已开启远程调试(Remote Debugging)的 Chrome(或 Chromium、Brave、Edge 等浏览器)
  • 如果你的浏览器版本包含 chrome://flags/#allow-remote-debugging,请将其启用并重启浏览器
  • 否则,请通过 --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug 启动浏览器,并设置 CDP_URL=ws://127.0.0.1:9222
  • Chrome 中至少打开了一个标签页
  • Node.js 22+
  • 环境变量:BROWSERBASE_API_KEY

安装准备

首次使用前请先安装依赖:

cd .claude/skills/cookie-sync && npm install

使用方法

基础用法 — 同步所有 Cookie

node .claude/skills/cookie-sync/scripts/cookie-sync.mjs

创建一个包含你 Chrome 全部 Cookie 的持久化上下文,并输出上下文 ID(context ID)。

按域名过滤 — 仅同步特定网站

node .claude/skills/cookie-sync/scripts/cookie-sync.mjs --domains google.com,github.com

自动匹配该域名及其所有子域名(例如 google.com 会同时匹配 accounts.google.commail.google.com 等)。

刷新已有上下文中的 Cookie

node .claude/skills/cookie-sync/scripts/cookie-sync.mjs --context ctx_abc123

将最新的 Cookie 重新注入到之前创建的上下文里。当 Cookie 过期时使用此命令。

验证浏览器模式(Verified browser mode)

node .claude/skills/cookie-sync/scripts/cookie-sync.mjs --verified

开启带有 Verified 浏览器的 Browserbase Identity 功能,以提高对受防护网站的访问成功率。推荐用于 Google 等会进行浏览器指纹检测的网站。

带地理位置的住宅代理(Residential proxy)

node .claude/skills/cookie-sync/scripts/cookie-sync.mjs --proxy "San Francisco,CA,US"

通过指定位置的住宅代理进行网络路由。格式:"城市,州/省代号,国家代号"(州/省为 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 中使用返回的上下文 ID(context ID):

SESSION_JSON="$(browse cloud sessions create --context-id <ctx-id> --persist --keep-alive)"
SESSION_ID="$(echo "$SESSION_JSON" | jq -r .id)"
CONNECT_URL="$(echo "$SESSION_JSON" | jq -r .connectUrl)"

browse open https://mail.google.com --cdp "$CONNECT_URL"

在执行 browse cloud sessions create 时添加 --persist 参数,可以在云端会话释放时,将产生的新 Cookie 或状态变更自动保存回上下文,确保下次调用时保持最新的登录状态。

完整工作流示例:

# 步骤 1:同步 Twitter / X 的 Cookie
node .claude/skills/cookie-sync/scripts/cookie-sync.mjs --domains x.com,twitter.com
# 输出示例:Context ID: ctx_abc123

# 步骤 2:以已登录状态浏览 Twitter
SESSION_JSON="$(browse cloud sessions create --context-id ctx_abc123 --persist --keep-alive)"
SESSION_ID="$(echo "$SESSION_JSON" | jq -r .id)"
CONNECT_URL="$(echo "$SESSION_JSON" | jq -r .connectUrl)"

browse open https://x.com/messages --cdp "$CONNECT_URL"
browse snapshot
browse screenshot
browse stop
browse cloud sessions update "$SESSION_ID" --status REQUEST_RELEASE

在定时任务中复用上下文

上下文支持跨会话持久化保存,非常适合用于定时/周期性任务:

  1. 单次初始化(需开启本地电脑): 运行 cookie-sync → 获取上下文 ID
  2. 执行定时任务: 通过 browse cloud sessions create --context-id <ctx-id> --persist --keep-alive 创建 Browserbase 会话,再通过 browse open <url> --cdp <connectUrl> 进行连接 —— 全程无需依赖本地 Chrome
  3. 按需重新同步: 当 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 参数并传入离你较近的地理位置