Skill 安装
多 Agent 安装npx skills add https://github.com/browserbase/skills --skill browser-to-api
使用 npx skills 快速安装,支持将 Skill 添加到多个兼容的 AI Agent。
Skill 调研报告
browserbase/skills#browser-to-api
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
无版本号
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
无版本号
添加 browser-reverse 技能 — 从 browser-trace 捕获生成 OpenAPI 3.1 (#88)
* 添加 browser-reverse 技能 — 从 browser-trace 捕获中发现 OpenAPI 3.1
消费一次 browser-trace 运行(.o11y//),配对 CDP 请求/响应
事件,将路径模板化,从样本推断 JSON schema,并输出一份
OpenAPI 3.1 文档,附带覆盖率报告和置信度元数据。
流水线:load → filter → normalize → infer → emit。每个阶段都是一个
独立脚本,写入 intermediate/ 以便调试。可选的
--bodies 标志通过 CDP requestId 连接 `browse network on` 捕获,
使响应体输入到 schema 推断中。
已针对 Hacker News、jsonplaceholder、derekmeegan.com、
browserbase.com、browser-use.com、reddit.com 进行 E2E 测试。
Co-Authored-By: Claude Opus 4.7 (1M context)
* 回应 PR #88 审查:重命名为 browser-to-api,删除 lift 文档,修复 bug
重命名和文档清理(依据 shrey150):
- 将技能从 `browser-reverse` 重命名为 `browser-to-api`。更新 SKILL.md
frontmatter + 标题、package.json、REFERENCE.md 标题、OpenAPI
文档的 `info.description` 以及 report.md 标题。
- 修复 SKILL.md 组合图中过时的 `discover-api-spec` 引用
(早期重命名遗留)。
- 从 PR 中删除 `BODY-CAPTURE-LIFT.md`;它是一个单独的提案。
- 删除 SKILL.md 中的 `exec.sendFile()` 引用(browserbase 内部,
不是通用技能原语)。
- REFERENCE.md 重构为以脚本/CLI/文件格式参考开头,
而不是架构介绍。删除流水线图。
Bug 修复(依据 Cursor Bugbot):
- `filter.mjs`:重做优先级,使 `--include` 真正挽救会被
默认排除命中的 URL,与文档化契约一致。用户
`--exclude` 仍然优先。添加了单元式测试路径。
- `infer.mjs`:跳过 CDP 状态为 null 的响应体样本。此前
它们被键为 `"0"`,但 `emit.mjs` 只遍历 `ep.statusCodes`
(排除 null),从而静默丢弃响应体。
- `load.mjs`:修复 `urlQuery()` 中的注释 — 代码是首个值优先,而不是
最后值优先。
Co-Authored-By: Claude Opus 4.7 (1M context)
* 为 browser-to-api 添加 Swagger UI 预览
* 噪声分类、GraphQL 分解和客户端 SDK 生成
normalize.mjs:
- 自动将端点分类为 api/noise/page 并丢弃非 API 流量
(跟踪、分析、机器人防御、会话管道、HTML 页面渲染)
- 检测多路复用端点(GraphQL operationName、JSON-RPC method、
查询参数分发)并分解为独立的逻辑操作
- 通常将捕获流量的 60-80% 作为噪声丢弃
emit.mjs:
- 生成 client.mjs — 零依赖 ES 模块,将每个发现的
操作包装为带 JSDoc 参数类型的异步函数
- 对于 GraphQL/APQ 端点,嵌入持久化查询哈希并接好
完整请求结构,使调用者只需传递变量
- 从 trace 中提取必需头(CSRF 令牌、自定义头)并
将其包含在客户端默认值中
- 面向任务的 report.md,包含快速开始导入、curl 示例、
变量表以及每个操作的响应样本
在 OpenTable trace 上:27 个原始端点 → 9 个命名操作,零噪声。
生成的客户端包含 autocomplete()、restaurantsAvailability() 等。
Co-Authored-By: Claude Opus 4.6 (1M context)
* 添加自包含 HTML 报告以替代 Swagger UI
生成 index.html,包含:
- 摘要统计(操作、端点、协议、样本数)
- 每个操作的可展开卡片,包含变量表、客户端用法、
请求体和响应示例
- 完整生成的 client.mjs 嵌入在底部
Swagger UI 并不合适 — 对于单个 GraphQL 端点,
有 10 个相同的绿色 POST 条,且带有甚至不是
有效 OpenAPI 的括号语法路径。HTML 报告展示了真正重要的内容。
Co-Authored-By: Claude Opus 4.6 (1M context)
* 用自包含 HTML 报告替换 Swagger UI
emit.mjs 已生成 index.html 作为主要视觉输出 —
更新 SKILL.md 以匹配,并删除无用的 open-swagger-ui.mjs 脚本。
Co-Authored-By: Claude Opus 4.6 (1M context)
---------
Co-authored-by: Claude Opus 4.7 (1M context)
Co-authored-by: Shrey Pandya
暂无评论...