- name
- slbrow-skills
- description
- Browser automation via SLBrow MCP and HTTP API. Use when the user needs to navigate pages, analyze content, manage tabs, search history, extract text, or control the browser. Supports both MCP tools and direct curl commands. Requires SLBrow server running and browser extension installed.
SLBrow Browser Automation (Skills for Browser)
Skills for browser-side AI assistant. The browser plugin (aiassist) connects to slbrow-mcp via MCP protocol; these skills guide when and how to use the tools. Can be used via MCP tools or direct HTTP API calls with curl.
Prerequisites
- SLBrow server running:
npx slbrowornpm startinai/slbrowmcp/slbrow-mcp/ - Browser extension installed and connected (Chrome/Firefox)
- MCP plugin enabled in aiassist:
http://127.0.0.1:5556/mcp(视联浏览器MCP),http://127.0.0.1:5556/vaimcp(视联视频AI MCP) - Default ports: HTTP 5556, WebSocket 5555
Usage Methods
Method 1: MCP Tools (Browser Plugin + MCP)
When the MCP plugin is enabled, the AI has access to browser tools. Use these skills to guide tool selection and workflow:
- Navigation: Use
page_navigateto open URLs - Analysis: Use
page_analyzewith intent_hint (article, form submit, post_create) before extraction - Tabs: Use
tab_listfirst, then passtab_idto target specific tabs
Method 2: HTTP API with curl (Direct Control)
Always available - Use curl commands to control browser directly without MCP plugin dependency:
Basic format (PowerShell-friendly — no temp JSON file):
curl.exe -X POST http://localhost:5556/api/execute -H 'Content-Type: application/json' -d '{\"tool\":\"TOOL_NAME\",\"args\":{\"PARAM\":\"VALUE\"}}'Important notes for Windows PowerShell:
- Use
curl.exeinstead ofcurl(PowerShell aliasescurltoInvoke-WebRequest) - Put the JSON body in
-d '...'with single quotes around the whole argument; backslash-escape every double quote in the JSON (\"). That way the shell passes valid JSON to curl without needing--data-binary @file
Common curl examples:
# Create new tab and navigate
curl.exe -X POST http://localhost:5556/api/execute -H 'Content-Type: application/json' -d '{\"tool\":\"tab_create\",\"args\":{\"url\":\"https://www.163.com\"}}'
# Navigate current tab
curl.exe -X POST http://localhost:5556/api/execute -H 'Content-Type: application/json' -d '{\"tool\":\"page_navigate\",\"args\":{\"url\":\"https://www.example.com\"}}'
# List all tabs
curl.exe -X POST http://localhost:5556/api/execute -H 'Content-Type: application/json' -d '{\"tool\":\"tab_list\",\"args\":{}}'
# Analyze page content
curl.exe -X POST http://localhost:5556/api/execute -H 'Content-Type: application/json' -d '{\"tool\":\"page_analyze\",\"args\":{\"intent_hint\":\"article\"}}'
# Extract article content
curl.exe -X POST http://localhost:5556/api/execute -H 'Content-Type: application/json' -d '{\"tool\":\"page_extract_content\",\"args\":{\"content_type\":\"article\"}}'
# Close specific tab
curl.exe -X POST http://localhost:5556/api/execute -H 'Content-Type: application/json' -d '{\"tool\":\"tab_close\",\"args\":{\"tab_id\":1234567890}}'
# Search browser history
curl.exe -X POST http://localhost:5556/api/execute -H 'Content-Type: application/json' -d '{\"tool\":\"get_history\",\"args\":{\"keywords\":\"search term\",\"max_results\":10}}'Response format: API returns JSON with success, tool, result, and formatted fields for easy parsing.
Available Tools
| Tool | Description |
|---|---|
page_navigate | Navigate current tab to URL |
page_analyze | Analyze page for elements (intent_hint: article, form submit, post_create, etc.) |
page_extract_content | Extract content (content_type: article, search_results, posts) |
page_wait_for | Wait for element or text (condition_type, selector, text) |
tab_create | Create tab(s) (url, urls[], or count) |
tab_close | Close tab(s) (tab_id, tab_ids[]) |
tab_list | List open tabs with IDs |
get_history | Search browser history (keywords, start_date, end_date, domains, max_results) |
get_selected_text | Get selected text (optional tab_id) |
get_page_links | Get page links (link_type: all/internal/external, domains, max_results) |
VAI Tools (Seelink)
| Tool | Description |
|---|---|
get_page_seelink_player_list | Get all players on current page |
use_seelink_players_ai | Apply AI function to players (ai_function_name: reduce_fog, face_mosaic, dark_reduce, human_outline, vechicle_outline, none) |
Workflow Patterns
Multi-tab workflow:
tab_listto get tab IDs- Add
tab_idto any tool to target a background tab
Content extraction:
page_navigateto target URLpage_analyzewith intent_hint to find elementspage_extract_contentfor article/search_results/posts
Form filling:
page_analyzewith intent_hint "form submit" to discover form elements- Note the element IDs returned — use them with subsequent
page_analyzeorpage_extract_contentto confirm state
VAI (Seelink player AI):
get_page_seelink_player_listto get player IDs and count- Choose targets by
player_position_list(zero-based index) orplayer_id_list(not both) use_seelink_players_aiwith chosen targets andai_function_name- To apply different functions to different players, call
use_seelink_players_aiseparately for each - To disable AI on a player, set
ai_function_nameto"none"
Fetching Skills in Browser
The browser plugin can fetch skills from the server to inject into AI context:
GET http://127.0.0.1:5556/api/skillsReturns the full SKILL.md content (text/markdown). Use when slbrow MCP plugins are enabled to guide tool usage.
API Reference
For full parameter schemas, see references/api-reference.md.
Additional resources
- One-page workflow checklist: SKILL_COMPACT.md
Error Handling
EXTENSION_DISCONNECTED: Ensure extension is installed and server is running. Checkhttp://localhost:5556/healthfirst.Tool call timeout: Operation took >30s; retry with simpler args or break into smaller steps.page_analyzereturns 0 elements: Page may still be loading — wait a moment and retry, orpage_navigateagain.tab_idinvalid (tab was closed): Calltab_listto refresh available tab IDs before retrying.- Server restarted (session lost): Client will receive 404; re-initialize MCP connection (refresh the page).
Quick Reference for curl Commands
Tab Management:
- Create tab:
tab_createwithurlparameter - List tabs:
tab_listwith empty args - Close tab:
tab_closewithtab_idparameter - Navigate:
page_navigatewithurlparameter
Content Analysis:
- Analyze page:
page_analyzewithintent_hint(article, form_submit, post_create) - Extract content:
page_extract_contentwithcontent_type(article, search_results, posts) - Get links:
get_page_linkswithlink_type(all, internal, external)
History & Text:
- Search history:
get_historywithkeywords,max_results - Get selected text:
get_selected_textwith optionaltab_id
Seelink AI:
- Get players:
get_page_seelink_player_list - Apply AI:
use_seelink_players_aiwithplayer_position_listorplayer_id_listandai_function_name
Troubleshooting
Server not responding:
- Check if SLBrow server is running:
curl.exe http://localhost:5556/health - Verify server is started with
npx slbrowornpm start
Curl command fails:
- Ensure using
curl.exein PowerShell - For
-d, use single-quoted JSON with\"around each JSON string delimiter (see Method 2 examples above) - Verify server is accessible on port 5556
Tab operations not working:
- Use
tab_listto get current tab IDs first - Verify tab_id is valid and tab still exists
- Check if browser extension is connected