Skip to main content

web-pilot

Browser automation — observe-act loop with refs

소스 정보

저장소
ddalcu/agent-orcha
최근 소스 활동
2026년 3월 1일 22:06
감지된 SKILL.md 언어
영어
스타
25
포크
6

설치 방법

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

소스 파일 검토

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

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
web-pilot
description
Browser automation — observe-act loop with refs
sandbox
true
# Web Pilot ## Tools | Tool | Purpose | |------|---------| | `sandbox_browser_observe` | Text snapshot: URL, title, headings, textExcerpt, elements with refs | | `sandbox_browser_navigate` | Go to URL, wait for ready, return snapshot with textExcerpt | | `sandbox_browser_click` | Click by ref (e.g. "e3") or visible text | | `sandbox_browser_type` | Type into input by ref (e.g. "e5") | | `sandbox_browser_content` | Page as markdown (optional CSS selector) | | `sandbox_browser_evaluate` | Run JS, reports side effects | | `sandbox_browser_screenshot` | PNG screenshot (expensive, last resort) | | `sandbox_web_search` | Search DuckDuckGo for URLs | ## Workflow: Observe → Act → Observe 1. **Navigate** → returns snapshot with element refs 2. **Act** using refs from snapshot: `click({ ref: "e3" })` or `type({ ref: "e5", text: "hello" })` 3. **Observe** → verify action worked 4. Repeat. Screenshot only if text can't answer your question. ## Refs Observe output lists elements like: ``` - button "Submit" [ref=e1] - textbox [ref=e2] name=email placeholder="Enter email" - link "Home" [ref=e3] ``` Use refs in click/type: `{ "ref": "e1" }`. Refs update on each observe — always use latest. ## Data Extraction Strategy 1. **Check textExcerpt first** — observe/navigate returns the first 2000 chars of visible text. For many tasks this is enough. 2. **Use content(selector)** over content() — target a specific section (e.g. `{ selector: "main" }` or `{ selector: ".repo-list" }`) to avoid huge dumps. 3. **Use evaluate() for structured extraction** — `evaluate({ expression: "..." })` with JS that returns exactly the data you need (e.g. `[...document.querySelectorAll('.repo')].map(...)`) 4. **Prefer web_fetch for read-only pages** — if you just need page content without interaction, `sandbox_web_fetch` is cheaper than navigating. 5. **Never repeat a failed approach** — if a tool call returns nothing useful, switch to a different strategy immediately. ## Patterns - **Click by text:** `{ "text": "Accept cookies" }` (when ref unavailable) - **Scroll:** evaluate `window.scrollBy(0, 500)` then observe - **Dropdown:** evaluate with value set + change event dispatch
GitHub에서 보기