본문으로 건너뛰기
cccskills
무료GitHub에 공개

cua

Computer Use Agent — autonomous browser control via Steel, Browser Use, and Browserbase cloud providers. Supports headful CDP sessions, CAPTCHA solving, proxy rotation, live view, session recording/replay, Playwright/Puppeteer integration, and LLM-driven visual browsing. Use when asked about computer use, browser automation, web scraping, Steel sessions, cloud browsers, headful browsing, CAPTCHA solving, or autonomous web navigation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md14.4 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

CUA — Computer Use Agent

Autonomous browser control powered by three cloud browser providers: Steel, Browser Use, and Browserbase. Each offers CDP-based headful browser sessions for Playwright/Puppeteer automation, LLM-driven visual browsing, and human-in-the-loop workflows.

Quick Start

# Environment setup
export STEEL_API_KEY="ste-..."
export BROWSERUSE_API_KEY="bu_..."
export BROWSERBASE_API_KEY="bb_live_..."
export BROWSERBASE_PROJECT_ID="446f4b4c-..."

# Daemon commands
/cua new                          # Create a Steel session (default provider)
/cua new --provider browserbase   # Create a Browserbase session
/cua new --provider browseruse    # Create a Browser Use session
/cua browse https://example.com   # Navigate in active session
/cua screenshot                   # Capture current page
/cua status                       # Show session details + live view URL
/cua release                      # End session
/cua list                         # List all active sessions

Architecture

┌──────────────────────────────────────────────────────────────────┐
│                      SolanaOS CUA Skill                          │
│                                                                   │
│  ┌──────────────┐  ┌───────────────┐  ┌───────────────────────┐ │
│  │  Steel        │  │  Browser Use   │  │  Browserbase          │ │
│  │  Provider     │  │  Provider      │  │  Provider             │ │
│  │              │  │               │  │                       │ │
│  │  • Sessions   │  │  • CDP URL     │  │  • Sessions           │ │
│  │  • Proxy      │  │  • Cloud       │  │  • Extensions         │ │
│  │  • CAPTCHA    │  │  • Profiles    │  │  • Stealth Mode       │ │
│  │  • Live View  │  │  • Proxy       │  │  • Proxies            │ │
│  │  • Recording  │  │               │  │  • Contexts           │ │
│  │  • Mobile     │  │               │  │  • Functions           │ │
│  │  • Regions    │  │               │  │  • Live View           │ │
│  │  • HLS Replay │  │               │  │  • Session Recording   │ │
│  └──────┬───────┘  └──────┬────────┘  └──────────┬────────────┘ │
│         │                  │                       │              │
│  ┌──────┴──────────────────┴───────────────────────┴───────────┐ │
│  │              CDP (Chrome DevTools Protocol)                  │ │
│  │                    WebSocket Connection                      │ │
│  └──────────────────────────┬──────────────────────────────────┘ │
│                              │                                    │
│  ┌──────────────────────────┴──────────────────────────────────┐ │
│  │           Playwright / Puppeteer / Selenium                  │ │
│  │                                                              │ │
│  │  • Page navigation      • Form automation                   │ │
│  │  • Element interaction   • Screenshot capture                │ │
│  │  • File download/upload  • PDF generation                    │ │
│  │  • Network interception  • Cookie management                 │ │
│  └──────────────────────────────────────────────────────────────┘ │
│                                                                   │
│  ┌──────────────────────────────────────────────────────────────┐ │
│  │              LLM Vision Agent (Optional)                      │ │
│  │                                                              │ │
│  │  Screenshot → Vision LLM → Action Plan → Playwright Exec    │ │
│  │                                                              │ │
│  │  Supported: Claude, GPT-4o, Gemini, Llama 3.2, Qwen 2.5 VL │ │
│  └──────────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────┘

Provider Comparison

FeatureSteelBrowser UseBrowserbase
CDP WebSocket✅✅✅
Playwright✅✅✅
Puppeteer✅✅✅
Selenium✅❌✅
Live View✅ WebRTC❌✅ iframe
Session Recording✅ HLS/MP4❌✅ rrweb
Proxy✅ Residential✅✅
CAPTCHA Solving✅ Auto❌✅ Auto
Stealth Mode✅ Fingerprint❌✅ Advanced
Mobile Mode✅❌✅ Viewport
Multi-Region✅ LAX/ORD/IAD❌✅ Multiple
Extensions❌❌✅
Contexts (persist state)❌✅ Profiles✅
Keep Alive❌❌✅
Functions (serverless)❌❌✅
Max Timeout24hN/APlan-based
Human-in-the-loop✅ interactive❌✅ interactive

Steel Integration

Creating Sessions

// One-line Playwright connection (simplest)
browser := chromium.ConnectOverCDP("wss://connect.steel.dev?apiKey=YOUR_KEY")

// Or with full options
session := steel.Create(ctx, &steel.CreateOptions{
    UseProxy:     true,
    SolveCaptcha: true,
    Timeout:      600000, // 10 minutes
    Region:       "lax",
    DeviceConfig: &steel.DeviceConfig{Device: "mobile"},
})

Session Lifecycle

CREATE → LIVE → [automation] → RELEASE
                     ↓
              FAILED (crash/timeout)
  • Sessions auto-release after timeout (default 5 min)
  • CDP inactivity timeout: 10 min without commands
  • Send heartbeat every 5 min to keep alive: page.evaluate(() => undefined)
  • Always call Release() when done

Live View & Recording

// Embed live view (read-only)
iframe := session.DebugURL + "?interactive=false"

// Embed with control (human-in-the-loop)
iframe := session.DebugURL + "?interactive=true&showControls=true"

// Get HLS recording playlist
playlist := steel.HLSPlaylist(session.ID)
// Use with hls.js or native Safari HLS

Available Regions

RegionCodeLocation
Los AngeleslaxLos Angeles, USA
ChicagoordChicago, USA
Washington DCiadWashington DC, USA

Browserbase Integration

Creating Sessions

// Via Browserbase API
session := browserbase.CreateSession(ctx, cfg, "default")
// Returns CDP URL for Playwright connection

browser := chromium.ConnectOverCDP(session.CDPURL)
context := browser.Contexts()[0]
page := context.Pages()[0]

Features

  • Stealth Mode: Automatic fingerprinting, advanced stealth (Scale plan)
  • Proxies: Built-in residential proxy network
  • Contexts: Persist cookies/storage across sessions
  • Extensions: Load custom Chrome extensions
  • Functions: Deploy automation as serverless API endpoints
  • Search: Web search without browser session
  • Fetch: HTTP fetch without browser session

Session Inspector

Every Browserbase session is recorded and can be inspected:

  • Live browser state and interactions
  • Network requests/responses
  • Console output and errors
  • Performance metrics

Browser Use Integration

Cloud Sessions

// Create cloud browser via API
session := browserUseProvider.CreateSession(ctx, cfg, "default")
// Returns CDP URL

// Or via CLI
browser-use cloud connect

Session Management

// List sessions
browser-use sessions

// Close specific session
browser-use --session mySession close

// Close all sessions
browser-use close --all

Daemon Commands

CommandDescription
/cua new [--provider steel|browserbase|browseruse]Create session
/cua browse <url>Navigate to URL (via shell Playwright script)
/cua screenshotCapture current page
/cua statusShow active session details
/cua releaseEnd current session
/cua release --allEnd all sessions
/cua listList active sessions
/cua liveGet live view URL
/cua replay <session-id>Get HLS replay URL
/cua agent <objective>Start autonomous CUA agent

Autonomous CUA Agent

The CUA agent combines cloud browser sessions with vision LLMs for autonomous web navigation.

Agent Loop

1. CREATE SESSION   → Steel/Browserbase/BrowserUse
2. SCREENSHOT       → Capture page via CDP
3. VISION ANALYSIS  → Send to Claude/GPT-4o/Gemini
4. ACTION PLANNING  → LLM determines next step
5. PLAYWRIGHT EXEC  → Execute action via CDP
6. REPEAT           → Until objective complete or max steps
7. RELEASE          → Clean up session

Vision Prompt Template

You are a Computer Use Agent controlling a cloud browser via Playwright.

OBJECTIVE: {objective}

Current page screenshot is attached. Analyze the page and determine the next action.

Available actions:
- page.goto(url) — Navigate to URL
- page.click(selector) — Click element
- page.fill(selector, text) — Fill input
- page.press(selector, key) — Press key
- page.screenshot() — Capture page
- page.waitForSelector(selector) — Wait for element
- page.evaluate(js) — Run JavaScript
- DONE — Task is complete

Respond with JSON: {"action": "...", "args": {...}, "reasoning": "..."}

Environment Variables

VariableProviderRequiredDescription
STEEL_API_KEYSteelFor SteelSteel API key
BROWSERUSE_API_KEYBrowser UseFor BUBrowser Use cloud API key
BROWSERBASE_API_KEYBrowserbaseFor BBBrowserbase API key
BROWSERBASE_PROJECT_IDBrowserbaseFor BBBrowserbase project ID
BROWSERBASE_PROXIESBrowserbaseNoEnable proxy (default: true)
BROWSERBASE_ADVANCED_STEALTHBrowserbaseNoAdvanced stealth mode
BROWSERBASE_KEEP_ALIVEBrowserbaseNoKeep alive after disconnect
BROWSERBASE_SESSION_TIMEOUTBrowserbaseNoSession timeout (ms)
ANTHROPIC_API_KEYVision LLMNoFor Claude vision agent
OPENAI_API_KEYVision LLMNoFor GPT-4o vision agent

API Reference

Steel API

POST   /v1/sessions                    Create session
GET    /v1/sessions                    List sessions
GET    /v1/sessions/:id                Get session details
POST   /v1/sessions/:id/release        Release session
POST   /v1/sessions/release            Release all sessions
GET    /v1/sessions/:id/screenshot     Capture screenshot
GET    /v1/sessions/:id/events         Get replay events
GET    /v1/sessions/:id/hls            Get HLS playlist
WSS    connect.steel.dev?apiKey=...&sessionId=...  CDP WebSocket

Browserbase API

POST   /v1/sessions                    Create session
GET    /v1/sessions/:id                Get session details
POST   /v1/sessions/:id                Close session (REQUEST_RELEASE)
GET    /v1/sessions/:id/debug          Get debug URLs

Browser Use API

POST   /api/v2/browsers                Create cloud browser
PATCH  /api/v2/browsers/:id            Stop browser (action: "stop")

Playwright Connection Patterns

Steel (one-liner)

import { chromium } from "playwright-core";
const browser = await chromium.connectOverCDP(
  `wss://connect.steel.dev?apiKey=${process.env.STEEL_API_KEY}`
);

Steel (managed session)

import Steel from "steel-sdk";
import { chromium } from "playwright";

const client = new Steel({ steelAPIKey: process.env.STEEL_API_KEY });
const session = await client.sessions.create({
  useProxy: true,
  solveCaptcha: true,
});

const browser = await chromium.connectOverCDP(
  `wss://connect.steel.dev?apiKey=${process.env.STEEL_API_KEY}&sessionId=${session.id}`
);

const page = browser.contexts()[0].pages()[0];
await page.goto("https://example.com");

await browser.close();
await client.sessions.release(session.id);

Browserbase

import { chromium } from "playwright-core";
import { Browserbase } from "@browserbasehq/sdk";

const bb = new Browserbase({ apiKey: process.env.BROWSERBASE_API_KEY });
const session = await bb.sessions.create();

const browser = await chromium.connectOverCDP(session.connectUrl);
const page = browser.contexts()[0].pages()[0];
await page.goto("https://example.com");

Browser Use (CDP)

import { chromium } from "playwright-core";
// After creating a session via API, connect with CDP URL
const browser = await chromium.connectOverCDP(session.cdpUrl);

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

1password

무료

Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

x402agent/SolanaOS92026년 7월 23일 업데이트

Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks SolanaOS to add a note, list notes, search notes, or manage note folders.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

x402agent/SolanaOS92026년 7월 23일 업데이트

Manage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

x402agent/SolanaOS92026년 7월 23일 업데이트

Create, search, and manage Bear notes via grizzly CLI.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

x402agent/SolanaOS92026년 7월 23일 업데이트

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

x402agent/SolanaOS92026년 7월 23일 업데이트

blucli

무료

BluOS CLI (blu) for discovery, playback, grouping, and volume.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

x402agent/SolanaOS92026년 7월 23일 업데이트

x402agent의 스킬 모두 보기

이 스킬의 문제 신고