mcpField
F
functions

functions

github.com/browserbase云与 DevOps3.7k2.8k 次安装8 周前更新
代码仓库

关于 functions

Browserbase Functions 是使用 browse 命令行部署无服务器浏览器自动化的技能。它涵盖项目初始化、本地开发与调用测试,以及将函数发布到 Browserbase。

主要功能

  1. 01使用 browse 初始化函数项目
  2. 02通过本地服务开发和测试
  3. 03开发时自动重新加载
  4. 04将函数发布到 Browserbase
  5. 05通过 CDP 连接 Playwright

适用场景

  1. 01搭建浏览器自动化函数项目
  2. 02在本地测试函数调用
  3. 03借助自动重载迭代代码
  4. 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