open-browser
Browser automation via Playwright MCP (official Microsoft headless browser)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Browser automation via Playwright MCP (official Microsoft headless browser)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Image generation and manipulation via MCP
PDF parsing and extraction via MCP
Autonomous tool discovery, evaluation, and integration for agent self-enhancement
Route OpenOS tasks to the correct product skill.
Enrich CRM contacts with LinkedIn and décideur data.
CRM read + staged follow-up via orchestrator approval.
| name | open-browser |
| description | Browser automation via Playwright MCP (official Microsoft headless browser) |
| version | 1.0.0 |
| metadata | {"tags":["browser","automation","scraping","web","playwright","mcp"],"category":"automation","related_skills":["computer-use","open-code"]} |
Automate web interactions using Playwright, the official Microsoft headless browser with native MCP server support. Playwright provides robust browser automation with multi-browser support (Chromium, Firefox, WebKit).
computer-use skill)open-code skill)docker-compose.mesh.yml includes playwright-mcp)http://playwright-mcp:3100 (container) or http://localhost:3100 (host)browser_automation capabilityOpenOrchestrator (plan with browser step)
→ OpenAgents (browser-automation profile)
→ MCP call to playwright-mcp-server
→ Playwright container (headless browser)
→ Results → OpenRec (audit) → OpenBrain (observation)
browser_navigate(url: string, waitUntil?: "load" | "domcontentloaded" | "networkidle")
Navigate to URL and wait for specified state.
browser_click(selector: string)
Click element matching CSS selector.
browser_fill(selector: string, value: string)
Fill input field with value (triggers change events).
browser_type(selector: string, text: string)
Type text into input field character by character.
browser_press_key(key: string, selector?: string)
Press keyboard key (optionally targeting specific element).
browser_select_option(selector: string, value: string)
Select dropdown option by value or text.
browser_snapshot()
Returns: { url, title, text } - current page location, title, and text content.
browser_evaluate(script: string)
Execute JavaScript in page context, returns result.
browser_wait_for(selector: string, timeout?: number)
Wait for element to appear (timeout in seconds).
browser_screenshot(options?: { fullPage?: boolean, path?: string })
Capture screenshot of current page.
browser_generate_pdf(options?: { path?: string })
Generate PDF from current page (Chromium only).
browser_network_requests()
Returns all network requests made by the page.
browser_console_messages()
Returns console logs from the page.
browser_close()
Close current session and reset environment.
1. browser_navigate(url="https://example.com", waitUntil="networkidle0")
2. browser_snapshot() # verify page loaded
3. browser_evaluate(script="document.querySelectorAll('.item').length") # count items
4. browser_evaluate(script="Array.from(document.querySelectorAll('.item')).map(e => e.textContent)") # extract data
5. browser_close()
1. browser_navigate(url="https://example.com/form")
2. browser_fill(selector="#name", value="John Doe")
3. browser_fill(selector="#email", value="john@example.com")
4. browser_select_option(selector="#country", value="US")
5. browser_click(selector="#submit")
6. browser_wait_for(selector=".success", timeout=5)
7. browser_snapshot() # verify success
8. browser_close()
Obscura automatically applies:
No additional configuration needed for basic anti-detection.
| Scenario | Action |
|---|---|
| Need to interact with web page | Use browser_* tools |
| Need desktop GUI automation | Use computer-use skill |
| Need to execute code in sandbox | Use open-code skill |
| Need simple HTTP request | Use REST API directly |
| Page requires JavaScript | Obscura handles automatically (V8 engine) |
| Anti-detection required | Obscura applies automatically |
browser_evaluate for simple DOM queries - use browser_snapshot + parsebrowser_close() - sessions persist until closedbrowser_wait_for before interactingwaitUntil parameter - networkidle0 ensures all resources loadeddocker ps | grep obscura)curl http://localhost:3100/health)browser_navigate successfullybrowser_automation capability in agent profile// OpenOrchestrator plan step
{
"goal": "Scrape product data from example.com",
"required_skills": ["open-browser"],
"approval_required": false
}
// OpenAgents dispatch
POST /v1/runs
{
"profile": "browser-automation",
"goal_id": "...",
"parameters": {
"url": "https://example.com/products",
"selector": ".product-item"
}
}
// OpenRec audit
{
"type": "browser.automation.completed",
"payload": {
"url": "https://example.com/products",
"items_scraped": 42,
"duration_ms": 3500
}
}
computer-use - Desktop GUI automation (non-web)open-code - Code execution in sandboxed worktreesopen-mcp-scaffold - Add new MCP tools to mesh