將本地 Chrome 的 Cookie 同步至 Browserbase 持久化 Context(Persistent Context),使 `browse` CLI 能夠存取已登入的網站。當使用者需要以個人身份瀏覽網頁、同步 Cookie 或透過 Browserbase 登入網站時使用。
Cookie Sync — 本地 Chrome → Browserbase Context
將本地 Chrome 中的 Cookie 匯出並儲存至 Browserbase 的**持久化 Context(Persistent Context)**中。同步完成後,即可使用 browse CLI 搭配該 Context 開啟已通過身分驗證的 Session。
支援網域篩選(僅同步需要的 Cookie)以及 Context 複用(無需建立新 Context 即可重新整理 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 的持久化 Context,並輸出 Context ID。
依網域篩選 — 僅同步指定網站
node .claude/skills/cookie-sync/scripts/cookie-sync.mjs --domains google.com,github.com
會比對該網域及其所有子網域(例如 google.com 會比對 accounts.google.com、mail.google.com 等)。
重新整理既有 Context 中的 Cookie
node .claude/skills/cookie-sync/scripts/cookie-sync.mjs --context ctx_abc123
將最新的 Cookie 重新寫入先前建立的 Context 中。當 Cookie 過期時可使用此命令。
驗證瀏覽器模式
node .claude/skills/cookie-sync/scripts/cookie-sync.mjs --verified
啟用帶有 Verified 瀏覽器的 Browserbase Identity,提升受保護網站的存取成功率。建議用於 Google 等會進行瀏覽器指紋辨識的網站。
搭配地理位置的住宅代理
node .claude/skills/cookie-sync/scripts/cookie-sync.mjs --proxy "San Francisco,CA,US"
透過指定位置的住宅代理伺服器(Residential proxy)路由流量。格式:"城市,州縮寫,國家"(州縮寫為 2 個英文字母)。這有助於符合你本地 IP 的地理位置,避免驗證 Cookie 被網站拒絕。
組合 Flag 使用
node .claude/skills/cookie-sync/scripts/cookie-sync.mjs --domains github.com,google.com --verified --proxy "San Francisco,CA,US"
瀏覽已身分驗證網站
同步完成後,即可搭配 Context ID 使用 browse CLI:
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 Flag,能在雲端 Session 釋放時將所有新的 Cookie 或狀態變更寫回 Context,確保下次使用時 Session 依然保持最新狀態。
完整工作流程範例:
# 步驟 1:同步 Twitter 的 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
在排程任務中複用 Context
Context 可跨 Session 持久化保存,非常適合用於定期/排程任務:
- 僅需執行一次(開啟筆電): 執行 cookie-sync → 取得 Context ID
- 排程任務: 使用
browse cloud sessions create --context-id <ctx-id> --persist --keep-alive建立 Browserbase Session,接著使用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 可能未回應;請強制結束並重新開啟 Chrome
- Context 中的 Cookie 已過期 → 重新執行帶有
--context <id>的 cookie-sync 以更新 Cookie - 身分驗證遭網站拒絕 → 嘗試加入
--verified及/或設定靠近你所在位置的--proxy






