Skip to main content

browser

Use when the user wants to open or control a web browser — navigate to a site, click, fill forms, log in, search, scrape a page, or do any interactive web task that plain HTTP fetch can't (JS-rendered pages, logins, OAuth, CAPTCHA). The user watches this browser live and can take over for steps only a human can do.

소스 정보

저장소
cubeplexai/cubeplex
최근 소스 활동
2026년 8월 19일 11:49
감지된 SKILL.md 언어
영어
스타
510
포크
41

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
browser
description
Use when the user wants to open or control a web browser — navigate to a site, click, fill forms, log in, search, scrape a page, or do any interactive web task that plain HTTP fetch can't (JS-rendered pages, logins, OAuth, CAPTCHA). The user watches this browser live and can take over for steps only a human can do.
version
1.0.3
keywords
["browser","浏览器","navigate","website","login","form","click","scrape","playwright"]
# Browser control (agent-browser + live takeover) The sandbox runs a **real, headful Chromium** that the user **watches live** in the CubePlex browser panel and can **take over** at any time. You drive that same browser with the `agent-browser` CLI over CDP. Because the user sees exactly what you do, this is also how logins / OAuth / CAPTCHAs get solved: you navigate, and when a step needs a human you ask the user to take over in the panel. ## First: start the browser stack, then attach (never launch your own) ```bash /usr/local/bin/start-browser.sh # idempotent: brings up the live browser if not running agent-browser connect 9222 # attach to that user-visible Chromium (CDP 127.0.0.1:9222) ``` `start-browser.sh` boots the headful Chromium the user watches. It is idempotent but **not** a blind no-op: if Neko/supervisord is up while Chromium died (user closed the last tab/window → empty desktop + CDP refused), it restarts Chromium and waits until CDP `9222` answers. Always run it first. Then `agent-browser connect 9222` attaches to it. If `connect` still fails with "connection refused", run `start-browser.sh` again and wait a few seconds. **Never** start a fresh/headless browser — the user would see nothing and the session wouldn't be theirs. Tell the user they can watch and take over in the CubePlex **browser panel**. ## Keep the user's visual tab in sync with the agent's active tab The user watches Chromium live through a streaming panel that CubePlex opens automatically when you start using the browser. A sandbox wrapper brings the session's current page to the foreground after every `agent-browser` command, so the live view follows the tab you are operating on. Still switch explicitly when you create or choose a tab — that is how you pick *which* page the wrapper will focus: ```bash # After connect, list tabs and switch to the one you're about to work on: agent-browser tab # list all tabs agent-browser tab t1 # make t1 the session tab (live view follows) # After goto, verify the URL is what you expect: agent-browser get url # After creating a new tab, switch to it: agent-browser tab new https://example.com agent-browser tab t2 ``` If the user reports seeing a different tab, run `agent-browser tab` and `agent-browser tab <id>` to re-sync. When taking over from a previous session, always list tabs and focus the one you intend to work on. ## Learn the commands from the CLI (don't guess) ```bash agent-browser skills get core # workflows + common patterns agent-browser skills get core --full # full command reference ``` The CLI serves usage that matches the installed version. Common ones: ```bash agent-browser goto https://example.com # navigate the visible page agent-browser snapshot # accessibility tree with @eN element refs agent-browser click @e12 # click an element by its ref agent-browser type @e8 "search text" # type into a field agent-browser get text|url|title # read page state agent-browser screenshot out.png # save a screenshot to /workspace ``` Target elements by the `@eN` refs from `snapshot` (reliable), not by guessing selectors. Re-`snapshot` after the page changes. ## When a step needs the human (login / OAuth / 2FA / CAPTCHA) 1. Navigate as far as you can (e.g. to the login page). 2. Tell the user plainly: *"Please take over in the browser panel to log in / solve this, then tell me to continue."* The user clicks **Take over** and acts. 3. Wait for the user to confirm, then resume — the session (cookies, localStorage) persists because it's the same browser, so you stay logged in for later steps. Do **not** try to type passwords or solve CAPTCHAs yourself; hand those to the user. ## Don't - Don't `detach` or close the browser when finishing a task — leave it running for the user (the panel and the next task reuse it). - Don't fall back to `curl`/HTTP fetch for pages that need JS or a login — use the browser. - Don't let the user stare at a blank/stale tab while you're operating on a different one — always sync the visual tab.
GitHub에서 보기