Back to UI-TARS-desktop

@agent-infra/browser

packages/agent-infra/browser/README.md

0.3.02.4 KB
Original Source

@agent-infra/browser

A tiny Browser Control library based on puppeteer, built for Agent Tars.

<p> <a href="https://npmjs.com/package/@agent-infra/browser?activeTab=readme"></a> <a href="https://npmcharts.com/compare/@agent-infra/browser?minimal=true"></a> <a href="https://nodejs.org/en/about/previous-releases"></a> <a href="https://github.com/bytedance/UI-TARS-desktop/blob/main/LICENSE"></a> </p>

Features

  • 🔍 Browser Detection - Auto-detects installed browsers across platforms
  • 🔄 Remote Browser Support - Connect to remote browser instances
  • 🛡️ Type Safety - Written in TypeScript with full type definitions

Architecture

mermaid
graph TD
    A[Browser Interface] --> B[Local Browser]
    A --> C[Remote Browser]
    B --> D[Browser Finder]
    B --> E[Browser Adapter]
    C --> E
    E --> F[Puppeteer Adapter]
    F --> G[Browser Control]

Installation

bash
npm install @agent-infra/browser
# or
yarn add @agent-infra/browser
# or
pnpm add @agent-infra/browser

Quick Start

typescript
import { LocalBrowser } from '@agent-infra/browser';

async function main() {
  // Initialize browser
  const browser = new LocalBrowser();

  try {
    // Launch browser
    await browser.launch({ headless: false });

    // Create new page
    const page = await browser.createPage();

    // Navigate to URL
    await page.goto('https://example.com');

    // Take screenshot
    await page.screenshot({ path: 'example.png' });
  } finally {
    // Always close browser
    await browser.close();
  }
}

Credits

Thanks to:

  • EGOIST for creating a great AI chatbot product ChatWise from which we draw a lot of inspiration for browser detection functionality.
  • The puppeteer project which helps us operate the browser better.