update provider flag (#217)

* auto-release

* fixes

* fix secret name

* update provider flag
This commit is contained in:
Chris Tate
2026-01-23 11:41:17 -06:00
committed by GitHub
parent 57dc7602fc
commit fff4312d16
2 changed files with 22 additions and 13 deletions
+12 -2
View File
@@ -708,14 +708,24 @@ curl -o .claude/skills/agent-browser/SKILL.md \
[Browserbase](https://browserbase.com) provides remote browser infrastructure to make deployment of agentic browsing agents easy. Use it when running the agent-browser CLI in an environment where a local browser isn't feasible. [Browserbase](https://browserbase.com) provides remote browser infrastructure to make deployment of agentic browsing agents easy. Use it when running the agent-browser CLI in an environment where a local browser isn't feasible.
To enable Browserbase, set these environment variables: To enable Browserbase, use the `-p` flag:
```bash ```bash
export BROWSERBASE_API_KEY="your-api-key" export BROWSERBASE_API_KEY="your-api-key"
export BROWSERBASE_PROJECT_ID="your-project-id" export BROWSERBASE_PROJECT_ID="your-project-id"
agent-browser -p browserbase open https://example.com
``` ```
When both variables are set, agent-browser automatically connects to a Browserbase session instead of launching a local browser. All commands work identically. Or use environment variables for CI/scripts:
```bash
export AGENT_BROWSER_PROVIDER=browserbase
export BROWSERBASE_API_KEY="your-api-key"
export BROWSERBASE_PROJECT_ID="your-project-id"
agent-browser open https://example.com
```
When enabled, agent-browser connects to a Browserbase session instead of launching a local browser. All commands work identically.
Get your API key and project ID from the [Browserbase Dashboard](https://browserbase.com/overview). Get your API key and project ID from the [Browserbase Dashboard](https://browserbase.com/overview).
+10 -11
View File
@@ -678,14 +678,16 @@ export class BrowserManager {
/** /**
* Connect to Browserbase remote browser via CDP. * Connect to Browserbase remote browser via CDP.
* Returns true if connected, false if credentials not available. * Requires BROWSERBASE_API_KEY and BROWSERBASE_PROJECT_ID environment variables.
*/ */
private async connectToBrowserbase(): Promise<boolean> { private async connectToBrowserbase(): Promise<void> {
const browserbaseApiKey = process.env.BROWSERBASE_API_KEY; const browserbaseApiKey = process.env.BROWSERBASE_API_KEY;
const browserbaseProjectId = process.env.BROWSERBASE_PROJECT_ID; const browserbaseProjectId = process.env.BROWSERBASE_PROJECT_ID;
if (!browserbaseApiKey || !browserbaseProjectId) { if (!browserbaseApiKey || !browserbaseProjectId) {
return false; throw new Error(
'BROWSERBASE_API_KEY and BROWSERBASE_PROJECT_ID are required when using browserbase as a provider'
);
} }
const response = await fetch('https://api.browserbase.com/v1/sessions', { const response = await fetch('https://api.browserbase.com/v1/sessions', {
@@ -727,8 +729,6 @@ export class BrowserManager {
this.pages.push(page); this.pages.push(page);
this.activePageIndex = 0; this.activePageIndex = 0;
this.setupPageTracking(page); this.setupPageTracking(page);
return true;
} catch (error) { } catch (error) {
await this.closeBrowserbaseSession(session.id, browserbaseApiKey).catch((sessionError) => { await this.closeBrowserbaseSession(session.id, browserbaseApiKey).catch((sessionError) => {
console.error('Failed to close Browserbase session during cleanup:', sessionError); console.error('Failed to close Browserbase session during cleanup:', sessionError);
@@ -844,14 +844,13 @@ export class BrowserManager {
return; return;
} }
// Try connecting to cloud browser providers if configured // Cloud browser providers require explicit opt-in via -p flag or AGENT_BROWSER_PROVIDER env var
// Browserbase: auto-connects when BROWSERBASE_API_KEY and BROWSERBASE_PROJECT_ID are set // -p flag takes precedence over env var
if (await this.connectToBrowserbase()) { const provider = options.provider ?? process.env.AGENT_BROWSER_PROVIDER;
if (provider === 'browserbase') {
await this.connectToBrowserbase();
return; return;
} }
// Browser Use: requires explicit opt-in via -p browseruse flag or AGENT_BROWSER_PROVIDER=browseruse
const provider = options.provider ?? process.env.AGENT_BROWSER_PROVIDER;
if (provider === 'browseruse') { if (provider === 'browseruse') {
await this.connectToBrowserUse(); await this.connectToBrowserUse();
return; return;