cookie-sync

3周前发布 6 0 0 0

browserbase/skills#cookie-sync

Skill 安装

多 Agent 安装
npx skills add https://github.com/browserbase/skills --skill cookie-sync

使用 npx skills 快速安装,支持将 Skill 添加到多个兼容的 AI Agent。

Skill 调研报告

browserbase/skills#cookie-sync

Skill 更新日志

版本列表
无版本号
[STG-2254] chore: 使合并的技能符合 agent-skills 标准 (#135) * chore: 使合并的技能符合 agent-skills 标准 - 为 browser-to-api、company-research、event-prospecting 添加 MIT LICENSE.txt - 将 autobrowse 的 LICENSE 年份规范化为 2026,并将 license frontmatter 规范化为 MIT - 在缺失处添加 license/compatibility/allowed-tools frontmatter (agent-experience、cookie-sync、fetch、functions、safe-browser、search) - README:删除过时的 site-debugger/bb-usage 行,添加 agent-experience、 autobrowse、browser-to-api、company-research、event-prospecting 行 - 从 autobrowse 中移除被禁止的 .env.example(更新 README 设置片段) Co-Authored-By: Claude Fable 5 * fix: 从 autobrowse 设置行中移除 BROWSERBASE_PROJECT_ID 回应 shrey150 的审查反馈 --------- Co-authored-by: Claude Fable 5
无版本号
更新技能以使用经过验证的 Browserbase 会话 (#106)
无版本号
docs: 将 bb/browse-cli 引用重命名为统一的 browse CLI (#111) * docs: 将 bb/browse-cli 引用重命名为统一的 browse CLI `@browserbasehq/cli` (bb) 和 `@browserbasehq/browse-cli` 包 已合并为单个 `browse` 包(`npm install -g browse`)。 更新所有技能文档、脚本和示例以使用新的命令 接口: - `bb fetch|search|sessions|projects|contexts|extensions` → `browse cloud ...` - `bb functions ...` → `browse functions ...` - `bb templates ...` → `browse templates ...` - `bb skills install` → `browse skills install` - `bb browse ` → 顶层 `browse `(open、get、click、……) - `pnpm bb dev|publish` → `browse functions dev|publish` - `# bb call N/TOTAL` 强制注释 → `# browse call N/TOTAL` - extract_page.mjs 中的 `bbFetch`/`bbBrowseMarkdown` 辅助函数已重命名并 重写为调用新的 `browse cloud fetch` / `browse get markdown` 接口。 - bb-capture.mjs / bb-finalize.mjs 通过 shell 调用 `browse cloud sessions ...` SDK 变量名(`const bb = new Browserbase()`)和 `x-bb-api-key` HTTP 头保持不变。 Co-Authored-By: Claude Opus 4.7 (1M context) * fix: 使 browse 命令示例与 0.6 对齐 * docs: 注明已弃用的 context 上传刷新 * docs: 阐明 trace 示例中 cdp 标志的用法 * docs: 在 trace 示例中依赖 cdp 守护进程持久性 * docs(browser-trace): 在后续命令中删除冗余的 target 标志 browse 守护进程在第一条命令后缓存 target,因此 在 `browse open --cdp 9222`(或 `--remote --session "$SID"`)之后的命令 无需重复 target 标志。回应 PR #111 审查意见 中关于 EXAMPLES.md 中 `--cdp` 重复的问题。 Co-Authored-By: Claude Opus 4.7 (1M context) * docs: 阐明 cdp 守护进程行为 * fix(extract_page): 在 `browse get` 上删除冗余的 --local --headless browse 守护进程在 `browse open --local --headless` 后缓存 target, 因此后续的 `browse get markdown` 调用不应重复模式标志。 与 skills/browser/SKILL.md 的约定一致(“将 --local、--remote、 --auto-connect 或 --cdp 放在第一条浏览器命令上”),也与 Shrey 在 5468e0e 中对 browser-trace 应用的相同修复一致。 回应 PR #111 上的 Cursor Bugbot 发现。 Co-Authored-By: Claude Opus 4.7 (1M context) * docs: 对齐 browse 生命周期示例 * docs: 删除过时的 fill 标志引用 * docs: 收紧 browse 技能迁移措辞 * docs: 阐明 browse stop 模式切换 * docs: 验证 browse 命令注意事项 --------- Co-authored-by: Claude Opus 4.7 (1M context) Co-authored-by: Shrey Pandya
无版本号
添加 cookie-sync 技能 [实验性] (#49) * 添加 cookie-sync 技能,用于将本地 Chrome cookie 同步到 Browserbase 从本地 Chrome 浏览器(通过 CDP)导出 cookie,并将其注入到 新的 Browserbase 云会话中,从而实现带完整会话 重放和可观测性的已认证浏览。与 Browserbase Contexts 集成,以在会话之间持久复用 cookie。 Co-Authored-By: Claude Opus 4.6 (1M context) * 支持 CDP_URL 环境变量以进行直接 WebSocket 连接 当 Chrome 以 --remote-debugging-port 启动时(这需要 --user-data-dir 且不会创建 DevToolsActivePort 文件),用户 现在可以设置 CDP_URL=ws://127.0.0.1:9222,而不是伪造一个假的 DevToolsActivePort 文件。在 chrome://flags/#allow-remote-debugging 落地之前,这是 Chrome 稳定版上唯一可行的路径。 Co-Authored-By: Claude Opus 4.6 (1M context) * 阐明 chrome://flags 标志尚未在 Chrome 稳定版中提供 截至 2026 年 3 月,allow-remote-debugging 标志仅在 Chrome Beta/Dev/Canary 中可用。更新了 SKILL.md 描述和先决条件,以便 agent 清楚地向用户传达这一限制。 Co-Authored-By: Claude Opus 4.6 (1M context) * 添加域名过滤、stealth/代理支持以及安全 cookie 修复 - --domains 标志用于选择性同步特定站点的 cookie - --stealth 标志用于 Browserbase 高级 stealth 模式 - --proxy "City,ST,US" 用于带地理定位的住宅代理 - --persist / --context CLI 标志(取代仅环境变量配置) - addUrlsToCookies() 修复:安全 cookie(例如 Google 认证) 在没有 URL 字段的情况下被 Network.setCookies 静默丢弃 - Chrome 146+ 版本检查,并提供可操作的错误消息 Co-Authored-By: Claude Opus 4.6 (1M context) * 修复 cookie-sync 脚本中的 bugbot 问题 - 在 getLocalWsUrl() 中读取 CDP_URL 环境变量,以支持 Chrome < 146 回退 - 在 resolve/reject 时清除 CDP send() 中悬空的超时 - 在轮询循环中检测终端会话状态(ERROR/TIMED_OUT/FAILED) - 当设置了 CDP_URL 或 CDP_PORT_FILE 时跳过 Chrome 版本检查 - 读取 BROWSERBASE_CONTEXT_ID 环境变量作为 --context 标志的回退 - 移除未使用的 getDebugUrl 函数 Co-Authored-By: Claude Opus 4.6 (1M context) * 重写 cookie-sync 以使用 Stagehand 和 Browserbase SDK 用 @browserbasehq/stagehand 进行浏览器连接(本地 + 云) 以及 @browserbasehq/sdk 进行 context 创建,替换手写的 CDP 客户端和原始 fetch API 调用。这践行了我们 自己的 SDK,并移除了约 200 行样板代码。 Co-Authored-By: Claude Opus 4.6 (1M context) * 修复 cookie-sync 的 Stagehand v3 模型配置 将 model 作为 { modelName, apiKey } 对象传递,以匹配 Stagehand v3 API。 Cookie 同步仅使用浏览器连接,不使用 AI 功能,因此一个虚拟 API key 就足够了。 Co-Authored-By: Claude Opus 4.6 (1M context) * 修复大写 WebSocket URL 的 ws→http 方案替换 WSS://host 被转换为 httpS://host 而不是 https://host, 因为正则表达式以不区分大小写的方式匹配,但没有处理 wss 中末尾的 's'。现在匹配完整的 wss/ws 前缀并正确映射到 https/http。 Co-Authored-By: Claude Opus 4.6 (1M context) * 从 Stagehand 实例中移除不必要的虚拟模型配置 当未传递 model 时,Stagehand 默认使用 openai/gpt-4.1-mini, 但 LLM 客户端是延迟创建的,并且对于仅 cookie 的 操作(context.cookies / context.addCookies)从未被调用。apiKey: 'unused' 的 hack 是不必要的——通过追踪构造函数验证:AI SDK 模型对象仅在 act/extract/observe 被使用时才会被调用。 Co-Authored-By: Claude Opus 4.6 (1M context) * 在 Stagehand BROWSERBASE 初始化中使用 disableAPI 而不是虚拟模型 key Stagehand API 客户端(api.ts:213)在 BROWSERBASE 初始化期间需要 modelApiKey,但这仅用于我们不需要的服务器端 AI 功能。 设置 disableAPI: true 会完全跳过 API 客户端 (v3.ts:928),同时仍然创建 BB 会话和 CDP 连接。 在 OPENAI_API_KEY 和 ANTHROPIC_API_KEY 均未设置的情况下进行了端到端测试—— 从本地 Chrome 导出 cookie 并注入到云会话中。 Co-Authored-By: Claude Opus 4.6 (1M context) * 修复 DevToolsActivePort 中的 Windows 行尾并添加 Linux Chrome 版本检查 - 对 DevToolsActivePort 使用 /\r?\n/ 分割以处理 Windows CRLF - 将 Linux Chrome 二进制名称添加到版本检查中(google-chrome、chromium 等) - 移除 existsSync 门控,以便通过 execSync 找到 PATH 解析的二进制文件 Co-Authored-By: Claude Opus 4.6 (1M context) * 验证 --proxy 标志需要城市和州 Co-Authored-By: Claude Opus 4.6 (1M context) * 移除 BROWSERBASE_PROJECT_ID——从 API key 推断 API key 限定于某个项目,因此项目 ID 是多余的。 已从脚本、SKILL.md、REFERENCE.md 和 EXAMPLES.md 中移除。 Co-Authored-By: Claude Opus 4.6 (1M context) * 使用持久 context 而不是 keepAlive 会话 Cookie-sync 现在始终创建一个持久 context,并在注入 cookie 后关闭 临时会话。这让用户可以使用 `browse open --context-id --persist` 浏览已认证的站点,而不是使用原始的 `node -e` WebSocket hack。 - 移除 --persist 标志(始终创建 context) - 移除 keepAlive: true(会话在注入后关闭) - 用 browse CLI 工作流替换 node -e 导航文档 - 添加针对 stealth/代理的故障排除提示 Co-Authored-By: Claude Opus 4.6 (1M context) --------- Co-authored-by: Claude Opus 4.6 (1M context) Co-authored-by: shubh24

暂无评论

none
暂无评论...