F

functions

by @browserbasev
4.3(13)

通过 Browserbase CLI 部署无服务器浏览器自动化,支持截图、数据抓取和 UI 测试,无需管理浏览器基础设施

automationweb-scrapingbrowser-automationserverlessGitHub
安装方式
npx skills add browserbase/skills --skill functions
compare_arrows

Before / After 效果对比

1
使用前

手动配置 Puppeteer/Playwright,管理浏览器实例、代理和 Headless 运行,维护成本高,一个脚本需要 2 小时配置

使用后

使用 Browserbase CLI 一键部署无服务器浏览器,自动处理会话管理和代理,10 分钟内完成自动化脚本运行

SKILL.md

functions

Browserbase Functions

Deploy serverless browser automation using the official bb CLI.

Prerequisites

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"

Creating a Function Project

1. Initialize

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

2. Add Credentials to .env

echo "BROWSERBASE_API_KEY=$BROWSERBASE_API_KEY" >> .env
echo "BROWSERBASE_PROJECT_ID=$BROWSERBASE_PROJECT_ID" >> .env

3. Install Dependencies

pnpm install

Function Structure

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 Playwright

  • context.params - Input parameters from invocation

Development Workflow

1. Start Dev Server

pnpm bb dev index.ts

Server runs at http://127.0.0.1:14113

2. Test Locally

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"}}'

3. Iterate

The dev server auto-reloads on file changes. Use console.log() for debugging - output appears in the terminal.

Deploying

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.

Quick Reference

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 Installs579Repositorybrowserbase/skillsGitHub Stars548First SeenTodaySecurity AuditsGen Agent Trust HubPassSocketPassSnykWarn

用户评价 (0)

发表评价

效果
易用性
文档
兼容性

暂无评价

统计数据

安装量1.7K
评分4.3 / 5.0
版本
更新日期2026年5月21日
对比案例1 组

用户评分

4.3(13)
5
38%
4
38%
3
15%
2
8%
1
0%

为此 Skill 评分

0.0

兼容平台

🔧Claude Code

时间线

创建2026年4月25日
最后更新2026年5月21日