update provider flag (#217)
* auto-release * fixes * fix secret name * update provider flag
This commit is contained in:
@@ -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.
|
||||
|
||||
To enable Browserbase, set these environment variables:
|
||||
To enable Browserbase, use the `-p` flag:
|
||||
|
||||
```bash
|
||||
export BROWSERBASE_API_KEY="your-api-key"
|
||||
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).
|
||||
|
||||
|
||||
+10
-11
@@ -678,14 +678,16 @@ export class BrowserManager {
|
||||
|
||||
/**
|
||||
* 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 browserbaseProjectId = process.env.BROWSERBASE_PROJECT_ID;
|
||||
|
||||
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', {
|
||||
@@ -727,8 +729,6 @@ export class BrowserManager {
|
||||
this.pages.push(page);
|
||||
this.activePageIndex = 0;
|
||||
this.setupPageTracking(page);
|
||||
|
||||
return true;
|
||||
} catch (error) {
|
||||
await this.closeBrowserbaseSession(session.id, browserbaseApiKey).catch((sessionError) => {
|
||||
console.error('Failed to close Browserbase session during cleanup:', sessionError);
|
||||
@@ -844,14 +844,13 @@ export class BrowserManager {
|
||||
return;
|
||||
}
|
||||
|
||||
// Try connecting to cloud browser providers if configured
|
||||
// Browserbase: auto-connects when BROWSERBASE_API_KEY and BROWSERBASE_PROJECT_ID are set
|
||||
if (await this.connectToBrowserbase()) {
|
||||
// Cloud browser providers require explicit opt-in via -p flag or AGENT_BROWSER_PROVIDER env var
|
||||
// -p flag takes precedence over env var
|
||||
const provider = options.provider ?? process.env.AGENT_BROWSER_PROVIDER;
|
||||
if (provider === 'browserbase') {
|
||||
await this.connectToBrowserbase();
|
||||
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') {
|
||||
await this.connectToBrowserUse();
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user