Ask users questions via the UI. Use when you need clarification, user preferences, or confirmation before proceeding. The user CANNOT see CLI output - this tool is the ONLY way to communicate with them.
日本語の概要は準備中です。原文の説明を表示しています。
Manage and operate BrowserWing — an intelligent browser automation platform. Install dependencies, configure LLM, create/manage/execute automation scripts, use AI-driven exploration to generate scripts, browse the script marketplace, and troubleshoot issues.
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
BrowserWing is an intelligent browser automation platform that allows you to:
API Base URL: http://localhost:8080/api/v1
Authentication: Use X-BrowserWing-Key: <api-key> header or Authorization: Bearer <token>
BrowserWing requires Google Chrome to be installed on the host machine.
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list
sudo apt-get update
sudo apt-get install -y google-chrome-stable
brew install --cask google-chrome
Download and install from: https://www.google.com/chrome/
google-chrome --version
# or on macOS:
# /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --version
If Chrome is running on a remote machine with debugging enabled:
google-chrome --remote-debugging-port=9222 --remote-debugging-address=0.0.0.0 --no-sandbox
Then configure BrowserWing's config.toml:
[browser]
control_url = 'http://<remote-host>:9222'
AI features (AI Explorer, Agent chat, smart extraction) require an LLM configuration.
curl -X GET 'http://localhost:8080/api/v1/llm-configs'
curl -X POST 'http://localhost:8080/api/v1/llm-configs' \
-H 'Content-Type: application/json' \
-d '{
"name": "my-openai",
"provider": "openai",
"api_key": "sk-xxx",
"model": "gpt-4o",
"base_url": "https://api.openai.com/v1",
"is_active": true,
"is_default": true
}'
Supported providers: openai, anthropic, deepseek, or any OpenAI-compatible endpoint.
curl -X POST 'http://localhost:8080/api/v1/llm-configs/test' \
-H 'Content-Type: application/json' \
-d '{"name": "my-openai"}'
curl -X PUT 'http://localhost:8080/api/v1/llm-configs/<config-id>' \
-H 'Content-Type: application/json' \
-d '{"api_key": "sk-new-key", "model": "gpt-4o-mini"}'
curl -X DELETE 'http://localhost:8080/api/v1/llm-configs/<config-id>'
Use AI to browse a website, perform a task, and automatically generate a replayable script.
curl -X POST 'http://localhost:8080/api/v1/ai-explore/start' \
-H 'Content-Type: application/json' \
-d '{
"task_desc": "Go to bilibili.com, search for 'AI', and get the first page of video results",
"start_url": "https://www.bilibili.com",
"llm_config_id": "my-openai"
}'
Response: Returns a session id for tracking.
curl -N 'http://localhost:8080/api/v1/ai-explore/<session-id>/stream'
Returns real-time Server-Sent Events: thinking, tool_call, progress, error, script_ready, done.
curl -X POST 'http://localhost:8080/api/v1/ai-explore/<session-id>/stop'
curl -X GET 'http://localhost:8080/api/v1/ai-explore/<session-id>/script'
curl -X POST 'http://localhost:8080/api/v1/ai-explore/<session-id>/save'
Saves the generated script to the local script library for future replay.
curl -X GET 'http://localhost:8080/api/v1/scripts'
Returns all local scripts with their id, name, description, actions, tags, group, etc.
curl -X GET 'http://localhost:8080/api/v1/scripts/<script-id>'
curl -X GET 'http://localhost:8080/api/v1/scripts/summary'
Returns a concise summary of all scripts, including names, descriptions, input parameters (variables), and action counts. Useful for programmatic discovery.
curl -X POST 'http://localhost:8080/api/v1/scripts' \
-H 'Content-Type: application/json' \
-d '{
"name": "Search Bilibili",
"description": "Search for a keyword on Bilibili",
"url": "https://www.bilibili.com",
"actions": [
{"type": "navigate", "url": "https://www.bilibili.com"},
{"type": "click", "identifier": ".nav-search-input"},
{"type": "type", "identifier": ".nav-search-input", "value": "${keyword}"},
{"type": "press_key", "key": "Enter"},
{"type": "wait", "timeout": 3}
]
}'
Variables: Use ${variable_name} syntax in action values. These become input parameters when the script is executed.
curl -X PUT 'http://localhost:8080/api/v1/scripts/<script-id>' \
-H 'Content-Type: application/json' \
-d '{"name": "Updated Name", "description": "Updated description"}'
curl -X DELETE 'http://localhost:8080/api/v1/scripts/<script-id>'
Convert one or more scripts into a SKILL.md file that can be imported by AI agents (e.g., Claude, Cursor). This allows other AI agents to discover and execute your BrowserWing scripts.
curl -X POST 'http://localhost:8080/api/v1/scripts/export/skill' \
-H 'Content-Type: application/json' \
-d '{
"script_ids": ["script-id-1", "script-id-2", "script-id-3"]
}'
Merges multiple scripts into a single SKILL.md with all their actions, variables, and descriptions.
curl -X POST 'http://localhost:8080/api/v1/scripts/export/skill' \
-H 'Content-Type: application/json' \
-d '{"script_ids": []}'
Pass an empty script_ids array to export all scripts into one SKILL.md.
curl -X GET 'http://localhost:8080/api/v1/executor/export/skill'
Exports the low-level browser automation API as a skill, allowing an AI agent to directly control the browser (navigate, click, type, extract, etc.).
Workflow: Script → Skill → AI Agent
1. Create scripts (manually, by recording, or via AI exploration)
2. Export them as SKILL.md: POST /scripts/export/skill
3. Place the SKILL.md in your AI agent's skill directory
4. The AI agent can now discover and call your scripts via POST /scripts/<id>/play
curl -X POST 'http://localhost:8080/api/v1/scripts/<script-id>/play' \
-H 'Content-Type: application/json' \
-d '{
"variables": {
"keyword": "deepseek"
}
}'
Variables: Pass values for ${variable_name} placeholders defined in the script actions.
curl -X GET 'http://localhost:8080/api/v1/scripts/play/result'
Returns data extracted during the last script execution (e.g., scraped content from execute_js actions).
curl -X GET 'http://localhost:8080/api/v1/script-executions?page=1&page_size=20'
Note: The remote script marketplace feature is under development. The following APIs may not be available yet.
# TODO: curl -X GET 'http://localhost:8080/api/v1/marketplace/scripts?category=search&page=1'
# TODO: curl -X POST 'http://localhost:8080/api/v1/marketplace/scripts/<remote-id>/install'
BrowserWing exposes an MCP-compatible endpoint for AI agent integrations.
SSE: http://localhost:8080/api/v1/mcp/sse
Message: http://localhost:8080/api/v1/mcp/sse_message
curl -X GET 'http://localhost:8080/api/v1/mcp/status'
curl -X GET 'http://localhost:8080/api/v1/mcp/commands'
Shows all registered MCP tools (browser tools + script-based custom commands).
System prompts control AI behavior. Users can customize them.
curl -X GET 'http://localhost:8080/api/v1/prompts'
curl -X GET 'http://localhost:8080/api/v1/prompts/<prompt-id>'
System prompt IDs: system-extractor, system-formfiller, system-aiagent, system-get-mcp-info, system-ai-explorer
curl -X PUT 'http://localhost:8080/api/v1/prompts/<prompt-id>' \
-H 'Content-Type: application/json' \
-d '{"content": "Your custom prompt content here..."}'
curl -X GET 'http://localhost:8080/api/v1/browser/instances'
curl -X POST 'http://localhost:8080/api/v1/browser/instances/<id>/start'
curl -X POST 'http://localhost:8080/api/v1/browser/instances/<id>/stop'
Manage browser cookies — view saved cookies, import cookies (e.g., for authenticated sessions), and delete cookies.
curl -X GET 'http://localhost:8080/api/v1/cookies/browser'
Returns all cookies saved under the browser store ID (the default store). Replace browser with a custom store ID if needed.
curl -X POST 'http://localhost:8080/api/v1/browser/cookies/save'
Saves all cookies from the current browser session to the database. Requires the browser to be running.
curl -X POST 'http://localhost:8080/api/v1/browser/cookies/import' \
-H 'Content-Type: application/json' \
-d '{
"url": "https://example.com",
"cookies": [
{
"name": "session_id",
"value": "abc123",
"domain": ".example.com",
"path": "/",
"secure": true,
"httpOnly": true,
"sameSite": "Lax",
"expires": 1735689600
}
]
}'
Fields: name and value are required. domain, path, secure, httpOnly, sameSite, expires are optional (path defaults to /).
curl -X POST 'http://localhost:8080/api/v1/browser/cookies/delete' \
-H 'Content-Type: application/json' \
-d '{
"id": "browser",
"name": "session_id",
"domain": ".example.com",
"path": "/"
}'
Deletes a specific cookie identified by name + domain + path from the given cookie store.
curl -X POST 'http://localhost:8080/api/v1/browser/cookies/batch/delete' \
-H 'Content-Type: application/json' \
-d '{
"id": "browser",
"cookies": [
{"name": "session_id", "domain": ".example.com", "path": "/"},
{"name": "tracking", "domain": ".example.com", "path": "/"}
]
}'
Deletes multiple cookies at once. Each cookie is identified by name + domain + path.
When something goes wrong, follow these steps to diagnose issues.
curl -X GET 'http://localhost:8080/health'
BrowserWing logs are stored in the path configured in config.toml under [log] file.
Default location: ./log/browserwing.log
# View last 100 lines of logs
tail -n 100 ./log/browserwing.log
# Follow logs in real-time
tail -f ./log/browserwing.log
# Search for errors
grep -i 'error\|fail\|panic' ./log/browserwing.log | tail -20
1. Browser won't start
google-chrome --version--no-sandbox flag or run as non-rootcontrol_url in config.tomlpkill -f chrome2. AI features not working
GET /api/v1/llm-configsPOST /api/v1/llm-configs/test3. Script execution fails
GET /api/v1/scripts/<id>GET /api/v1/browser/instancesGET /api/v1/script-executions${variables} are provided in the play request4. Page elements not found
GET /api/v1/executor/snapshot to see current page elements5. Port conflicts
config.toml under [server] port)control_url)lsof -i :<port> or netstat -tlnp | grep <port>Here's how to get up and running:
1. Install Chrome (see Section 1)
2. Start BrowserWing: ./browserwing --port 8080
3. Add an LLM config (see Section 2)
4. Choose your approach:
a) AI Exploration: POST /ai-explore/start with a task description
b) Manual Creation: POST /scripts with actions array
c) Web UI: Open http://<host>:8080 in browser to use the visual editor
5. Execute scripts: POST /scripts/<id>/play
6. View results: GET /scripts/play/result
| Category | Method | Endpoint | Description |
|---|---|---|---|
| Health | GET | /health | Check service status |
| LLM | GET | /api/v1/llm-configs | List LLM configurations |
| LLM | POST | /api/v1/llm-configs | Add LLM configuration |
| LLM | POST | /api/v1/llm-configs/test | Test LLM connection |
| Explore | POST | /api/v1/ai-explore/start | Start AI exploration |
| Explore | GET | /api/v1/ai-explore/:id/stream | Stream exploration events |
| Explore | POST | /api/v1/ai-explore/:id/stop | Stop exploration |
| Explore | POST | /api/v1/ai-explore/:id/save | Save generated script |
| Scripts | GET | /api/v1/scripts | List all scripts |
| Scripts | GET | /api/v1/scripts/:id | Get script details |
| Scripts | POST | /api/v1/scripts | Create new script |
| Scripts | PUT | /api/v1/scripts/:id | Update script |
| Scripts | DELETE | /api/v1/scripts/:id | Delete script |
| Scripts | GET | /api/v1/scripts/summary | Get scripts schema/summary |
| Scripts | POST | /api/v1/scripts/export/skill | Export scripts as SKILL.md |
| Execute | POST | /api/v1/scripts/:id/play | Execute a script |
| Execute | GET | /api/v1/scripts/play/result | Get execution result data |
| Execute | GET | /api/v1/script-executions | List execution history |
| Prompts | GET | /api/v1/prompts | List all prompts |
| Prompts | PUT | /api/v1/prompts/:id | Update prompt |
| Browser | GET | /api/v1/browser/instances | List browser instances |
| Cookies | GET | /api/v1/cookies/:id | View saved cookies |
| Cookies | POST | /api/v1/browser/cookies/save | Save current browser cookies |
| Cookies | POST | /api/v1/browser/cookies/import | Import cookies |
| Cookies | POST | /api/v1/browser/cookies/delete | Delete a single cookie |
| Cookies | POST | /api/v1/browser/cookies/batch/delete | Batch delete cookies |
| MCP | GET | /api/v1/mcp/status | MCP server status |
| MCP | GET | /api/v1/mcp/commands | List MCP commands |
| Executor | GET | /api/v1/executor/help | Executor API help |
| Executor | GET | /api/v1/executor/snapshot | Page accessibility snapshot |
| Skill | GET | /api/v1/executor/export/skill | Export Executor skill |
| Skill | GET | /api/v1/admin/export/skill | Export this Admin skill |
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Ask users questions via the UI. Use when you need clarification, user preferences, or confirmation before proceeding. The user CANNOT see CLI output - this tool is the ONLY way to communicate with them.
日本語の概要は準備中です。原文の説明を表示しています。
Control browser automation through HTTP API. Supports page navigation, element interaction (click, type, select), data extraction, accessibility snapshot analysis, screenshot, JavaScript execution, and batch operations.
日本語の概要は準備中です。原文の説明を表示しています。
Browser automation with persistent page state. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, or automate browser workflows. Trigger phrases include "go to [url]", "click on", "fill out the form", "take a screenshot", "scrape", "automate", "test the website", "log into", or any browser interaction request.
日本語の概要は準備中です。原文の説明を表示しています。
Persistent local memory for OpenClaw agents. Use when users say: - "install memos" - "install MemOS" - "setup memory" - "add memory plugin" - "openclaw memory" - "memos onboarding" - "memory not working" - "configure memory" - "enable memory" - "upgrade MemOS" - "update memory plugin"
日本語の概要は準備中です。原文の説明を表示しています。
Use the MemOS Local memory system to search and use the user's past conversations. Use this skill whenever the user refers to past chats, their own preferences or history, or when you need to answer from prior context. When auto-recall returns nothing (long or unclear user query), generate your own short search query and call memory_search. Available tools: memory_search, memory_get, memory_write_public, memory_share, memory_unshare, task_summary, skill_get, skill_search, skill_install, skill_publish, skill_unpublish, network_memory_detail, network_skill_pull, network_team_info, memory_timeline, memory_viewer.
日本語の概要は準備中です。原文の説明を表示しています。
Enforces explicit user permission before any file deletion. Activates when you're about to use rm, unlink, fs.rm, or any operation that removes files from disk. MUST be followed for all delete operations.
日本語の概要は準備中です。原文の説明を表示しています。