functions by browserbase/agent-browse
npx skills add https://github.com/browserbase/agent-browse --skill functions使用官方的 bb CLI 部署无服务器浏览器自动化。
从以下网址获取 API 密钥和项目 ID:https://browserbase.com/settings
export BROWSERBASE_API_KEY="your_api_key"
export BROWSERBASE_PROJECT_ID="your_project_id"
pnpm dlx @browserbasehq/sdk-functions init my-function
cd my-function
这将创建:
my-function/
├── package.json
├── index.ts # 你的函数代码
└── .env # 在此处添加凭据
echo "BROWSERBASE_API_KEY=$BROWSERBASE_API_KEY" >> .env
echo "BROWSERBASE_PROJECT_ID=$BROWSERBASE_PROJECT_ID" >> .env
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
pnpm install
import { defineFn } from "@browserbasehq/sdk-functions";
import { chromium } from "playwright-core";
defineFn("my-function", async (context) => {
const { session, params } = context;
// 连接到浏览器
const browser = await chromium.connectOverCDP(session.connectUrl);
const page = browser.contexts()[0]!.pages()[0]!;
// 你的自动化操作
await page.goto(params.url || "https://example.com");
const title = await page.title();
// 返回可 JSON 序列化的结果
return { success: true, title };
});
关键对象:
context.session.connectUrl - 用于连接 Playwright 的 CDP 端点context.params - 来自调用的输入参数pnpm bb dev index.ts
服务器运行在 http://127.0.0.1:14113
curl -X POST http://127.0.0.1:14113/v1/functions/my-function/invoke \
-H "Content-Type: application/json" \
-d '{"params": {"url": "https://news.ycombinator.com"}}'
开发服务器在文件更改时会自动重新加载。使用 console.log() 进行调试 - 输出会显示在终端中。
pnpm bb publish index.ts
输出:
Function published successfully
Build ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Function ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
保存 Function ID - 调用时需要用到它。
| 命令 | 描述 |
|---|---|
pnpm dlx @browserbasehq/sdk-functions init <name> | 创建新项目 |
pnpm bb dev <file> | 启动本地开发服务器 |
pnpm bb publish <file> | 部署到 Browserbase |
有关调用示例、常见模式和故障排除,请参阅 REFERENCE.md。
每周安装量
20
代码仓库
GitHub 星标数
453
首次出现
2026年2月4日
安全审计
安装于
opencode20
gemini-cli16
openclaw16
codex15
github-copilot14
kimi-cli14
Deploy serverless browser automation using the official bb CLI.
Get API key and Project ID from: https://browserbase.com/settings
export BROWSERBASE_API_KEY="your_api_key"
export BROWSERBASE_PROJECT_ID="your_project_id"
pnpm dlx @browserbasehq/sdk-functions init my-function
cd my-function
This creates:
my-function/
├── package.json
├── index.ts # Your function code
└── .env # Add credentials here
echo "BROWSERBASE_API_KEY=$BROWSERBASE_API_KEY" >> .env
echo "BROWSERBASE_PROJECT_ID=$BROWSERBASE_PROJECT_ID" >> .env
pnpm install
import { defineFn } from "@browserbasehq/sdk-functions";
import { chromium } from "playwright-core";
defineFn("my-function", async (context) => {
const { session, params } = context;
// Connect to browser
const browser = await chromium.connectOverCDP(session.connectUrl);
const page = browser.contexts()[0]!.pages()[0]!;
// Your automation
await page.goto(params.url || "https://example.com");
const title = await page.title();
// Return JSON-serializable result
return { success: true, title };
});
Key objects:
context.session.connectUrl - CDP endpoint to connect Playwrightcontext.params - Input parameters from invocationpnpm bb dev index.ts
Server runs at http://127.0.0.1:14113
curl -X POST http://127.0.0.1:14113/v1/functions/my-function/invoke \
-H "Content-Type: application/json" \
-d '{"params": {"url": "https://news.ycombinator.com"}}'
The dev server auto-reloads on file changes. Use console.log() for debugging - output appears in the terminal.
pnpm bb publish index.ts
Output:
Function published successfully
Build ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Function ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Save the Function ID - you need it to invoke.
| Command | Description |
|---|---|
pnpm dlx @browserbasehq/sdk-functions init <name> | Create new project |
pnpm bb dev <file> | Start local dev server |
pnpm bb publish <file> | Deploy to Browserbase |
For invocation examples, common patterns, and troubleshooting, see REFERENCE.md.
Weekly Installs
20
Repository
GitHub Stars
453
First Seen
Feb 4, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykWarn
Installed on
opencode20
gemini-cli16
openclaw16
codex15
github-copilot14
kimi-cli14
Azure Data Explorer (Kusto) 查询技能:KQL数据分析、日志遥测与时间序列处理
119,800 周安装
漫画风格短剧生成器 - AI自动分镜图生视频工具,快速创作漫剧
177 周安装
Cloudflare D1数据库迁移指南 - Drizzle ORM工作流与问题解决方案
177 周安装
MongoDB开发专家 | Payload CMS与Node.js全栈TypeScript开发,支持React Native/Next.js
177 周安装
联网电视广告指南:CTV/OTT广告投放策略、格式与优化技巧
177 周安装
Symfony Messenger 异步消息处理指南 - 稳定重试与失败传输配置
177 周安装
代码质量优化指南:清洁代码原则与SOLID实践提升可维护性
177 周安装