模型选择指南
在模型评测页面查看更详细的模型对比与推荐。
文档索引
可在此获取完整文档索引:https://docs.stagehand.dev/llms.txt
在进一步浏览前,可使用该文件发现所有可用页面。
在 Stagehand 中使用任意 LLM 模型
Model Gateway 让你无需自行接入各模型提供方,也能使用 Stagehand。你不必为每个提供方分别管理 API Key,只需传入 Browserbase API Key 并选择一个模型,Browserbase 会为你把请求路由到上游提供方。
import { Stagehand } from "@browserbasehq/stagehand";
const stagehand = new Stagehand({ env: "BROWSERBASE", model: "openai/gpt-5",});
await stagehand.init();当你只提供 Browserbase API Key 时(而未提供特定模型提供方的 API Key),Stagehand 会自动通过 Model Gateway 路由模型请求。无需额外配置。
使用 Model Gateway 时,在不同提供方之间切换只需要修改配置——不需要新账号、API Key,也不需要重新改写代码:
const stagehand = new Stagehand({ env: "BROWSERBASE", model: "openai/gpt-5",});const stagehand = new Stagehand({ env: "BROWSERBASE", model: "anthropic/claude-sonnet-4-6",});const stagehand = new Stagehand({ env: "BROWSERBASE", model: "google/gemini-3-flash-preview",});| 提供方 | 示例模型 |
|---|---|
| OpenAI | openai/gpt-5 |
| Anthropic | anthropic/claude-sonnet-4-6 |
google/gemini-2.5-flash |
你可以先从 Google Gemini 开始(在速度与成本方面都很推荐):
import { Stagehand } from "@browserbasehq/stagehand";
const stagehand = new Stagehand({ env: "BROWSERBASE", model: "google/gemini-2.5-flash", // API key auto-loads from GOOGLE_GENERATIVE_AI_API_KEY - set in your .env});
await stagehand.init();你可以直接使用以下已支持提供方中的任意模型。
import { Stagehand } from "@browserbasehq/stagehand";
const stagehand = new Stagehand({ env: "BROWSERBASE", model: "google/gemini-2.5-flash", // API key auto-loads from GOOGLE_GENERATIVE_AI_API_KEY - set in your .env});
await stagehand.init();警告
Google Vertex 需要在 Stagehand 构造器中设置 experimental: true。
import { Stagehand } from "@browserbasehq/stagehand";
const stagehand = new Stagehand({ env: "BROWSERBASE", experimental: true, // Vertex 必需 model: { modelName: "vertex/gemini-3-flash-preview", project: "your-gcp-project-id", location: "us-central1", googleAuthOptions: { credentials: { client_email: "your-sa@project.iam.gserviceaccount.com", private_key: process.env.GOOGLE_SERVICE_ACCOUNT_PRIVATE_KEY, }, }, },});
await stagehand.init();model 对象支持以下字段:
modelName —— Vertex 模型名,需带 vertex/ 前缀(例如 vertex/gemini-3-flash-preview)project —— 你的 GCP 项目 IDlocation —— 你的 Vertex AI 区域(例如 us-central1)googleAuthOptions.credentials —— 服务账号凭据,包含 client_email 与 private_keyimport { Stagehand } from "@browserbasehq/stagehand";
const stagehand = new Stagehand({ env: "BROWSERBASE", model: "anthropic/claude-haiku-4-5", // API key auto-loads from ANTHROPIC_API_KEY - set in your .env});
await stagehand.init();import { Stagehand } from "@browserbasehq/stagehand";
const stagehand = new Stagehand({ env: "BROWSERBASE", model: "openai/gpt-5", // API key auto-loads from OPENAI_API_KEY - set in your .env});
await stagehand.init();import { Stagehand } from "@browserbasehq/stagehand";
const stagehand = new Stagehand({ env: "BROWSERBASE", model: "azure/gpt-5", // API key auto-loads from AZURE_API_KEY - set in your .env});
await stagehand.init();import { Stagehand } from "@browserbasehq/stagehand";
const stagehand = new Stagehand({ env: "BROWSERBASE", model: "cerebras/llama-4-scout", // API key auto-loads from CEREBRAS_API_KEY - set in your .env});
await stagehand.init();import { Stagehand } from "@browserbasehq/stagehand";
const stagehand = new Stagehand({ env: "BROWSERBASE", model: "deepseek/deepseek-chat", // API key auto-loads from DEEPSEEK_API_KEY - set in your .env});
await stagehand.init();import { Stagehand } from "@browserbasehq/stagehand";
const stagehand = new Stagehand({ env: "BROWSERBASE", model: "groq/llama-3.1-8b-instant", // API key auto-loads from GROQ_API_KEY - set in your .env});
await stagehand.init();import { Stagehand } from "@browserbasehq/stagehand";
const stagehand = new Stagehand({ env: "BROWSERBASE", model: "mistral/codestral-2508", // API key auto-loads from MISTRAL_API_KEY - set in your .env});
await stagehand.init();import { Stagehand } from "@browserbasehq/stagehand";
const stagehand = new Stagehand({ env: "BROWSERBASE", model: "ollama/llama3.2", // 无需 API Key});
await stagehand.init();import { Stagehand } from "@browserbasehq/stagehand";
const stagehand = new Stagehand({ env: "BROWSERBASE", model: "perplexity/sonar-reasoning", // API key auto-loads from PERPLEXITY_API_KEY - set in your .env});
await stagehand.init();import { Stagehand } from "@browserbasehq/stagehand";
const stagehand = new Stagehand({ env: "BROWSERBASE", model: "togetherai/Qwen/Qwen3-235B-A22B-Instruct-2507-tput", // API key auto-loads from TOGETHER_AI_API_KEY - set in your .env});
await stagehand.init();import { Stagehand } from "@browserbasehq/stagehand";
const stagehand = new Stagehand({ env: "BROWSERBASE", model: "xai/grok-4-fast-reasoning", // API key auto-loads from XAI_API_KEY - set in your .env});
await stagehand.init();支持 Amazon Bedrock、Cohere、全部一等公民模型,以及 Vercel AI SDK 中的任意模型。
当你需要自定义端点、自定义重试逻辑或缓存逻辑时,可以使用这种配置方式。
下面以 Amazon Bedrock 和 Google 为例。
为你的提供方安装对应的 Vercel AI SDK。
npm install @ai-sdk/amazon-bedrockpnpm add @ai-sdk/amazon-bedrockyarn add @ai-sdk/amazon-bedrockbun add @ai-sdk/amazon-bedrockimport { createAmazonBedrock } from '@ai-sdk/amazon-bedrock';import { AISdkClient } from '@browserbasehq/stagehand';
const bedrockProvider = createAmazonBedrock({ region: 'us-east-1', accessKeyId: 'xxxxxxxxx', secretAccessKey: 'xxxxxxxxx', sessionToken: 'xxxxxxxxx',});
const bedrockClient = new AISdkClient({ model: bedrockProvider("amazon/nova-pro-latest"),});const stagehand = new Stagehand({ env: "BROWSERBASE", llmClient: bedrockClient,});
await stagehand.init();为你的提供方安装对应的 Vercel AI SDK。
npm install @ai-sdk/googlepnpm add @ai-sdk/googleyarn add @ai-sdk/googlebun add @ai-sdk/googleimport { createGoogle } from '@ai-sdk/google';import { AISdkClient } from '@browserbasehq/stagehand';
const googleProvider = createGoogle({ apiKey: process.env.GEMINI_API_KEY,});
const googleClient = new AISdkClient({ model: googleProvider("google/gemini-2.5-flash"),});const stagehand = new Stagehand({ env: "BROWSERBASE", llmClient: googleClient,});
await stagehand.init();要实现自定义模型,请按照你所使用提供方的步骤进行。可以参考上面的 Amazon Bedrock 与 Google 示例。所有受支持的提供方与模型都可在 Vercel AI SDK 中找到。
安装对应提供方的 Vercel AI SDK。
import { createProvider } from '@ai-sdk/provider';import { AISdkClient } from '@browserbasehq/stagehand';
const provider = createProvider({ apiKey: 'xxxxxxxxx',});
const providerClient = new AISdkClient({ model: provider("model/name"),});const stagehand = new Stagehand({ env: "BROWSERBASE", llmClient: providerClient,});
await stagehand.init();不同模型各自擅长不同任务。请根据你的使用场景综合考虑速度、准确率与成本。
模型选择指南
在模型评测页面查看更详细的模型对比与推荐。
快速推荐
| 使用场景 | 推荐模型 | 原因 |
|---|---|---|
| 生产环境 | google/gemini-2.5-flash | 速度快、准确且成本效益高 |
| 智能性 | google/gemini-3-pro-preview | 在复杂任务上准确率最佳 |
| 速度 | google/gemini-2.5-flash | 响应时间最快 |
| 成本 | google/gemini-2.5-flash | 单位 token 性价比最佳 |
| 本地/离线 | ollama/qwen3 | 无 API 成本,完全可控 |
默认行为
Stagehand agent 默认会使用传给 Stagehand 的同一个模型。所有模型(一等公民模型与自定义模型)都支持。下面是一个使用 Gemini 的示例:
const stagehand = new Stagehand({ env: "BROWSERBASE", model: "google/gemini-2.5-flash", // GOOGLE_GENERATIVE_AI_API_KEY is auto-loaded from .env // ... other stagehand options});
// Agent 将使用 google/gemini-2.5-flashconst agent = stagehand.agent();覆盖模型(支持 CUA)
不过,stagehand agent 也接受 model 参数,它可以接收任意一等公民模型,包括计算机使用代理(CUA)。当你希望 agent 使用与 Stagehand 主实例不同的模型时,这会非常有用。
警告
弃用提示: cua: true 选项已弃用,未来版本将移除。请改用 mode: "cua"。
const agent = stagehand.agent({ mode: "cua", model: "google/gemini-2.5-computer-use-preview-10-2025", // GOOGLE_GENERATIVE_AI_API_KEY is auto-loaded from .env // ... other agent options});const agent = stagehand.agent({ mode: "cua", model: "anthropic/claude-sonnet-4-6", // ANTHROPIC_API_KEY is auto-loaded from .env // ... other agent options});const agent = stagehand.agent({ mode: "cua", model: "openai/computer-use-preview", // OPENAI_API_KEY is auto-loaded from .env // ... other agent options});所有一等公民模型都可用。下面是一个 Gemini 示例:
const agent = stagehand.agent({ model: "google/gemini-2.5-pro", // GOOGLE_GENERATIVE_AI_API_KEY is auto-loaded from .env // ... other agent options});| 提供方 | 模型 |
|---|---|
| Anthropic | anthropic/claude-haiku-4-5-20251001 |
| Anthropic | anthropic/claude-sonnet-4-6 |
| Anthropic | anthropic/claude-sonnet-4-5-20250929 |
| Anthropic | anthropic/claude-opus-4-5-20251101 |
| Anthropic | anthropic/claude-opus-4-6 |
google/gemini-2.5-computer-use-preview-10-2025 | |
google/gemini-3-flash-preview | |
google/gemini-3-pro-preview | |
| Microsoft | microsoft/fara-7b |
| OpenAI | openai/computer-use-preview |
| OpenAI | openai/computer-use-preview-2025-03-11 |
如果你需要使用 Azure OpenAI 部署或企业内部部署,可以参考以下方式。
对于 OpenAI,你可以通过 model 参数直接传入配置,而不必使用 llmClient:
const stagehand = new Stagehand({ env: "BROWSERBASE", model: { modelName: "openai/gpt-5", apiKey: process.env.OPENAI_API_KEY, baseURL: "https://custom-openai-endpoint.com/v1", }});对于 Anthropic,你可以通过 model 参数直接传入配置,而不必使用 llmClient:
const stagehand = new Stagehand({ env: "BROWSERBASE", model: { modelName: "anthropic/claude-haiku-4-5", apiKey: process.env.ANTHROPIC_API_KEY, baseURL: "https://custom-anthropic-endpoint.com", },});对于其他所有提供方,请使用 llmClient。下面是一个使用 Hugging Face 的示例:
// pnpm add @ai-sdk/huggingface
import { createHuggingFace } from "@ai-sdk/huggingface";import { AISdkClient } from "@browserbasehq/stagehand";
const huggingFaceProvider = createHuggingFace({ apiKey: process.env.HUGGINGFACE_API_KEY, baseURL: "https://custom-huggingface-endpoint.com",});
const huggingFaceClient = new AISdkClient({ model: huggingFaceProvider("meta-llama/Llama-3.1-8B-Instruct"),});
const stagehand = new Stagehand({ env: "BROWSERBASE", llmClient: huggingFaceClient,});Vercel AI Gateway 允许你通过单一 API Key 与统一接口访问多个提供方(OpenAI、Anthropic、Google 等)的模型。无需额外安装提供方 SDK,也不需要为每个提供方单独配置 API Key。
主要优势:
AI_GATEWAY_API_KEY 即可访问所有主流提供方的模型使用 gateway/ 前缀,后面接提供方与模型名:
import { Stagehand } from "@browserbasehq/stagehand";
const stagehand = new Stagehand({ env: "BROWSERBASE", model: "gateway/openai/gpt-5", // API key auto-loads from AI_GATEWAY_API_KEY - set in your .env});
await stagehand.init();适用于网关上提供的任意模型:
// 通过 gateway 使用 Anthropicmodel: "gateway/anthropic/claude-sonnet-4.5"
// 通过 gateway 使用 Googlemodel: "gateway/google/gemini-3-flash-preview"使用对象形式显式传入 API Key 以及可选的 base URL:
import { Stagehand } from "@browserbasehq/stagehand";
const stagehand = new Stagehand({ env: "BROWSERBASE", model: { modelName: "gateway/openai/gpt-5", apiKey: process.env.AI_GATEWAY_API_KEY, baseURL: "https://ai-gateway.vercel.sh/v3/ai", // 可选自定义端点 }});
await stagehand.init();对于自定义重试逻辑或缓存逻辑等高级场景,你可以扩展 AISdkClient:
import { LLMClient } from "@browserbasehq/stagehand";
class CustomRetryClient extends LLMClient { async createChatCompletion(options) { let retries = 3; while (retries > 0) { try { return await super.createChatCompletion(options); } catch (error) { retries--; if (retries === 0) throw error; await new Promise((r) => setTimeout(r, 1000 * (4 - retries))); } } }}以下模型出于兼容旧版本的目的,仍然支持在 model 参数中不带 provider/ 前缀:
gemini-2.5-flash-preview-04-17gemini-2.5-pro-preview-03-25gemini-2.0-flashgemini-2.0-flash-litegemini-1.5-flashgemini-1.5-flash-8bgemini-1.5-proclaude-sonnet-4-6claude-sonnet-4-5-20250929claude-haiku-4-5-20251001gpt-4ogpt-4o-minio1o1-minio3o3-minigpt-4.1gpt-4.1-minigpt-4.1-nanoo4-minigpt-4.5-previewgpt-4o-2024-08-06o1-previewcerebras-llama-3.3-70bcerebras-llama-3.1-8bgroq-llama-3.3-70b-versatilegroq-llama-3.3-70b-specdecmoonshotai/kimi-k2-instruct错误: API key not found
解决方案:
.env 文件中是否使用了与你当前提供方匹配的变量名dotenv).env 后重启应用| 提供方 | 环境变量 |
|---|---|
| Model Gateway | BROWSERBASE_API_KEY(无需提供方 Key) |
GOOGLE_GENERATIVE_AI_API_KEY 或 GEMINI_API_KEY | |
| Vertex | 服务账号凭据(见设置) |
| Anthropic | ANTHROPIC_API_KEY |
| OpenAI | OPENAI_API_KEY |
| Azure | AZURE_API_KEY |
| Cerebras | CEREBRAS_API_KEY |
| DeepSeek | DEEPSEEK_API_KEY |
| Groq | GROQ_API_KEY |
| Mistral | MISTRAL_API_KEY |
| Ollama | 无(本地) |
| Perplexity | PERPLEXITY_API_KEY |
| TogetherAI | TOGETHER_AI_API_KEY |
| xAI | XAI_API_KEY |
| AI Gateway | AI_GATEWAY_API_KEY |
错误: Unsupported model
解决方案:
provider/model 格式,例如:openai/gpt-5Stagehand v3 现已支持 Python。Python SDK 采用 BYOB(Bring Your Own Browser,自带浏览器)架构。
解决方案:
找不到解决方案,或还有其他问题?欢迎联系支持团队:
联系支持
发送邮件至 support@browserbase.com
提示词指南
学习如何为 LLM 编写提示词,以获得最佳结果。
运行评测
测试哪些模型最适合你的具体使用场景。
缓存指南
通过缓存响应来降低成本并提升速度。
优化成本
借助缓存与智能模型选择来降低 LLM 开销。