🧪 Skills

AgentGo Cloud Browser

Automates browser interactions using AgentGo's distributed cloud browser cluster via playwright@1.51.0. Use when the user needs to navigate websites, interac...

v0.1.0
❤️ 0
⬇️ 114
👁 2
Share

Description


name: agentgo-browser description: Automates browser interactions using AgentGo's distributed cloud browser cluster via playwright@1.51.0. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information — running on AgentGo's remote cloud browsers instead of a local browser.

Browser Automation with AgentGo Cloud Browsers

AgentGo provides a distributed cloud browser cluster. Connect via WebSocket using chromium.connect() from playwright@1.51.0.

Note: Must use playwright@1.51.0 exactly — newer versions have protocol incompatibilities with AgentGo's server.

Get an API key

Register at https://app.agentgo.live/ — free credits included, no credit card required.

export AGENTGO_API_KEY=your_api_key_here

Install

npm install playwright@1.51.0
# or
pnpm add playwright@1.51.0

Quick start

import { chromium } from "playwright"; // must be playwright@1.51.0

const options = { _apikey: process.env.AGENTGO_API_KEY };
const serverUrl = `wss://app.browsers.live?launch-options=${encodeURIComponent(JSON.stringify(options))}`;

const browser = await chromium.connect(serverUrl);
const page = await browser.newPage();

await page.goto("https://example.com");
const title = await page.title();
console.log(title);

await browser.close();

Connection helper

import { chromium } from "playwright";

export async function connectAgentGo() {
  if (!process.env.AGENTGO_API_KEY)
    throw new Error("AGENTGO_API_KEY is not set");
  const opts = encodeURIComponent(JSON.stringify({ _apikey: process.env.AGENTGO_API_KEY }));
  return chromium.connect(`wss://app.browsers.live?launch-options=${opts}`);
}

Basic interactions

const browser = await connectAgentGo();
const page = await browser.newPage();

await page.goto("https://example.com");
await page.click("button#submit");
await page.fill("input[name=email]", "user@example.com");
await page.press("input[name=email]", "Enter");
await page.screenshot({ path: "screenshot.png" });

await browser.close();

Extract data

const browser = await connectAgentGo();
const page = await browser.newPage();
await page.goto("https://news.ycombinator.com");

const items = await page.$$eval(".titleline a", els =>
  els.map(a => ({ title: a.textContent, href: (a as HTMLAnchorElement).href }))
);

await browser.close();
return items;

Multiple pages (parallel)

const browser = await connectAgentGo();
const [page1, page2] = await Promise.all([browser.newPage(), browser.newPage()]);

await Promise.all([
  page1.goto("https://site-a.com"),
  page2.goto("https://site-b.com"),
]);

await browser.close();

Always close in finally

const browser = await connectAgentGo();
try {
  const page = await browser.newPage();
  await doWork(page);
} finally {
  await browser.close();
}

Specific Tasks

Tips & Anti-Detection

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs