1234567891011121314import { Browser } from "@opencomputer/sdk"; const browser = await Browser.create({ headless: false, stealth: true, startUrl: "https://example.com", timeoutSeconds: 120, }); console.log(browser.id); console.log(browser.cdpWsUrl); console.log(browser.liveViewUrl); await browser.delete();
telemetry: false / telemetry=False to disable it, or pass a
Kernel telemetry configuration object directly.recording: true /
recording=True to enable replay recording for a headful browser session.wait() polls with short requests until the run completes.1234567891011const profile = await BrowserProfile.connect("linkedin-profile"); const run = await profile.checkAuth({ homepage: "https://www.linkedin.com/feed/", user: "motatoes", mode: "vision", compareFresh: true, }); const result = await run.wait(); console.log(result.status, result.result);
compareFresh is enabled.connectOverCDP.1234567891011121314151617181920import { Browser } from "@opencomputer/sdk"; import { chromium } from "playwright"; const ocBrowser = await Browser.create({ headless: false, startUrl: "https://example.com", }); try { const browser = await chromium.connectOverCDP(ocBrowser.cdpWsUrl); const context = browser.contexts()[0] || await browser.newContext(); const page = context.pages()[0] || await context.newPage(); await page.goto("https://example.com"); console.log(await page.title()); await browser.close(); } finally { await ocBrowser.delete(); }
12345678910111213141516171819202122import { Browser } from "@opencomputer/sdk"; import { chromium } from "playwright"; import { startBrowserAgent } from "magnitude-core"; const ocBrowser = await Browser.create({ headless: false, stealth: true, startUrl: "https://example.com", }); try { const browser = await chromium.connectOverCDP(ocBrowser.cdpWsUrl); const context = browser.contexts()[0] || await browser.newContext(); const page = context.pages()[0] || await context.newPage(); const agent = await startBrowserAgent({ page }); await agent.act("Find the page title and summarize what this site is for."); await browser.close(); } finally { await ocBrowser.delete(); }
Browser, connect to
cdpWsUrl with Playwright, then pass the resulting page or browser object to
Magnitude.12345import { BrowserProfile } from "@opencomputer/sdk"; const profile = await BrowserProfile.create({ name: "github-login", });
12345678910111213import { Browser } from "@opencomputer/sdk"; const browser = await Browser.create({ profile: { id: profile.id, saveChanges: true, }, headless: false, }); // Log in or update session state, then delete the browser. // With saveChanges enabled, changes are saved back to the profile. await browser.delete();
1234567891011import { Browser, BrowserProfile } from "@opencomputer/sdk"; const profile = await BrowserProfile.connect("github-login"); const browser = await Browser.create({ profile: { id: profile.id, saveChanges: true, }, headless: false, });
1export OPENCOMPUTER_API_KEY="osb_..."
OPENCOMPUTER_BROWSER_API_URL.