关于 functions
Browserbase Functions 是使用 browse 命令行部署无服务器浏览器自动化的技能。它涵盖项目初始化、本地开发与调用测试,以及将函数发布到 Browserbase。
主要功能
- 01使用 browse 初始化函数项目
- 02通过本地服务开发和测试
- 03开发时自动重新加载
- 04将函数发布到 Browserbase
- 05通过 CDP 连接 Playwright
适用场景
- 01搭建浏览器自动化函数项目
- 02在本地测试函数调用
- 03借助自动重载迭代代码
- 04将浏览器自动化部署到 Browserbase
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ browserbase/ skills --skill functions安装后在 Claude Code 中输入/functions确认已加载。
附带文件LICENSE.txtREFERENCE.md
详细介绍
Browserbase Functions
使用官方 browse CLI 部署无服务器浏览器自动化。
先决条件
从以下地址获取 API 密钥:https://browserbase.com/settings
export BROWSERBASE_API_KEY="your_api_key"
创建函数项目
1. 初始化
browse functions init my-function
cd my-function
这会创建:
my-function/
├── package.json
├── index.ts # Your function code
└── .env # Add credentials here
2. 将凭据添加到 .env
echo "BROWSERBASE_API_KEY=$BROWSERBASE_API_KEY" >> .env
3. 安装依赖项
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 };
});
关键对象:
context.session.connectUrl- 用于连接 Playwright 的 CDP 端点context.params- 调用时传入的输入参数
开发工作流
1. 启动开发服务器
browse functions dev index.ts
服务器运行于 http://127.0.0.1:14113
2. 本地测试
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. 迭代
开发服务器会在文件更改时自动重新加载。使用 console.log() 进行调试——输出会显示在终端中。
部署
browse functions publish index.ts
输出:
Function published successfully
Build ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Function ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
保存函数 ID——调用时需要用到它。
快速参考
| 命令 | 描述 |
|---|---|
browse functions init <name> | 创建新项目 |
browse functions dev <file> | 启动本地开发服务器 |
browse functions publish <file> | 部署到 Browserbase |
调用示例、常见模式和故障排查请参阅 REFERENCE.md。
评论
支持 Markdown