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 的更多技能

browse
browserbase
使用 browse CLI 进行 Browserbase 浏览器自动化、Browserbase 云 API、Browserbase Functions、模板、网页抓取/搜索、诊断以及 Browse.sh…
official
browser-automation
browserbase
使用MCP工具自动化网页浏览器交互。当用户要求浏览网站、导航网页、从网站提取数据、截图时使用,……
official
functions
browserbase
引导使用官方 Browserbase Functions CLI 进行无服务器浏览器自动化的部署。当用户想要部署自动化以在……上运行时使用。
official
agent-experience
browserbase
通过仅使用一个简短的任务提示和真实的……,投放多个Claude子代理来审计产品、SDK、文档站点或SKILL.md的开发者体验。
official
autobrowse
browserbase
通过自动研究循环实现自我改进的浏览器自动化。迭代执行浏览任务、读取追踪记录并优化导航技能…
official
browse
browserbase
使用 browse CLI 创建和部署浏览器自动化功能的完整指南
official
browser
browserbase
使用本地Chrome或远程Browserbase进行浏览器自动化,适用于受保护网站、机器人检测和验证码场景。两种模式:本地Chrome(默认,无需配置)或远程Browserbase(反机器人隐身、自动验证码破解、住宅代理、会话持久化)。核心命令涵盖导航、页面检查、交互(点击、输入、填充、选择、拖拽)以及通过CLI进行会话管理。使用browse snapshot读取无障碍树并获取元素引用以实现可靠交互;保留...
official
Browser Automation
browserbase
使用自然语言通过CLI命令自动化网页浏览器交互。当用户要求浏览网站、导航网页、提取数据等时使用。
official