functions

作者: browserbase

使用Browserbase将无服务器浏览器自动化部署为云函数。当用户希望部署浏览器自动化以按计划或定时任务运行时使用…

npx skills add https://github.com/browserbase/skills --skill functions

Browserbase Functions

Deploy serverless browser automation using the official browse CLI.

Prerequisites

Get an API key from: https://browserbase.com/settings

export BROWSERBASE_API_KEY="your_api_key"

Creating a Function Project

1. Initialize

browse 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

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

browse functions 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

browse functions 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

CommandDescription
browse functions init <name>Create new project
browse functions dev <file>Start local dev server
browse functions publish <file>Deploy to Browserbase

For invocation examples, common patterns, and troubleshooting, see REFERENCE.md.

来自 browserbase 的更多技能

browser-automation
browserbase
使用MCP工具自动化网页浏览器交互。当用户要求浏览网站、导航网页、从网站提取数据、截图时使用……
official
functions
browserbase
使用官方 Browserbase Functions CLI 指导无服务器浏览器自动化的部署。当用户希望部署自动化以在……上运行时使用。
official
autobrowse
browserbase
通过自动研究循环实现自我改进的浏览器自动化。迭代执行浏览任务、读取追踪记录并优化导航技能…
official
browser
browserbase
使用本地Chrome或远程Browserbase进行浏览器自动化,适用于受保护网站、机器人检测和验证码场景。两种模式:本地Chrome(默认,无需配置)或远程Browserbase(反机器人隐身、自动验证码破解、住宅代理、会话持久化)。核心命令涵盖导航、页面检查、交互(点击、输入、填充、选择、拖拽)以及通过CLI进行会话管理。使用browse snapshot读取无障碍树并获取元素引用以实现可靠交互;保留...
official
browser-trace
browserbase
捕获任意浏览器自动化的完整DevTools协议跟踪——CDP数据流、截图和DOM转储——然后将流分割为按页面可搜索的…
official
browserbase-cli
browserbase
Use the Browserbase CLI (`bb`) for Browserbase Functions and platform API workflows. Use when the user asks to run `bb`, deploy or invoke functions, manage…
official
company-research
browserbase
发现并深入研究可销售的公司。使用Browserbase Search API进行发现,并采用“规划→研究→综合”模式进行深度丰富——输出评分研究报告和CSV文件。
official
cookie-sync
browserbase
将本地Chrome的cookies同步到Browserbase持久化上下文中,以便browse CLI能够访问已认证的站点。当用户希望以…身份浏览时使用。
official