
Adspower Browser
- 1.6k installs
- 126 repo stars
- Updated July 20, 2026
- adspower/adspower-browser
adspower-browser is an agent skill that automates AdsPower anti-detect browser profiles for multi-account web workflows with guardrails.
About
The adspower-browser skill guides agents using AdsPower anti-detect browser profiles for multi-account automation with fingerprint isolation. It covers profile creation, proxy assignment, cookie import, team permissions, and launching profiles for scripted or agent-driven browsing tasks. Agents document session boundaries, avoid credential leakage between profiles, and follow compliance reminders because anti-detect tooling is sensitive. Use when automating web workflows that require separate browser identities such as testing, operations, or account management with AdsPower APIs or UI automation.
- AdsPower profile setup with proxies and fingerprint isolation.
- Multi-account browser automation with session boundary guardrails.
- Cookie import and team permission configuration guidance.
- Compliance reminders for sensitive anti-detect browser usage.
- Supports scripted or agent-driven profile launch workflows.
Adspower Browser by the numbers
- 1,628 all-time installs (skills.sh)
- +173 installs in the week ending Aug 5, 2026 (Skillselion tracking)
- Ranked #19 of 479 Web3 & Blockchain skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
adspower-browser capabilities & compatibility
- Capabilities
- profile and proxy setup · cookie import workflows · team permission configuration · session isolation guardrails · profile launch automation
- Use cases
- web scraping · orchestration
What adspower-browser says it does
adspower-browser
npx skills add https://github.com/adspower/adspower-browser --skill adspower-browserAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1.6k |
|---|---|
| repo stars | ★ 126 |
| Last updated | July 20, 2026 |
| Repository | adspower/adspower-browser ↗ |
How do I configure and launch isolated AdsPower browser profiles for multi-account automation safely?
Automate AdsPower anti-detect browser profiles for multi-account web workflows with agent guardrails.
Who is it for?
Operators automating multi-account web tasks that require separate browser fingerprints in AdsPower.
Skip if: Skip for standard single-profile Playwright testing without anti-detect requirements.
When should I use this skill?
User configures AdsPower profiles, proxies, or multi-account browser automation workflows.
What you get
Configured profiles with proxies, cookies, permissions, and documented session boundaries for automation runs.
- Configured browser profiles
- Proxy and group assignments
- Launched browser sessions
Files
AdsPower Local API with adspower-browser
The Skills CLI (npx adspower-browser) is the package manager for operate AdsPower browser profiles, groups, proxies, and application/category lists via the adspower-browser CLI. For more infomation about out product and services, visit AdsPower Official Website.
Install CLI
npm install -g adspower-browserAfter installation, you can use any of these equivalent commands:
adspower-browser
adspower
adsadspower-browser is the original command name. adspower and ads are aliases that point to the same CLI entry.
When to Use This Skill
Apply when the user:
- Asks to create, update, delete, or list AdsPower browser profiles
- Says 打开环境、配置文件、profile、AdsPower 等意指启动已有浏览器环境 → 使用
open-browser(CLI 或 MCP);完整说法与工具映射见 references/tool-intent-map.md - Mentions opening or closing browsers/profiles, fingerprint, UA, or proxy
- Wants to manage groups, tags, proxies, or check API status
- Refers to AdsPower or adspower-browser (and MCP is not running or not desired)
Ensure AdsPower is running (default port 50325). Pass --port / --api-key when needed, or set the ADS_API_KEY environment variable before running start.
The CLI itself supports launching the AdsPower application via API key. If the AdsPower client is installed, AdsPower headless mode can also be launched via API key.
How to Run
The examples below use ads for brevity, but adspower-browser and adspower work the same way.
ads start -k <KEY>If the ADS_API_KEY environment variable is set, you can start the CLI directly with:
ads startGeneral command form:
ads <command> [<arg>] [--port PORT] [--api-key KEY]AdsPower client headless mode:
AdsPower Global:
Windows设备下: "AdsPower Global.exe" --headless=true --api-key=your_api_key --api-port=50325
MacOS设备下:"/Applications/AdsPower Global.app/Contents/MacOS/AdsPower Global" --args --headless=true --api-key=your_api_key --api-port=50325
Linux设备下:adspower_global --headless=true --api-key=your_api_key --api-port=50325Two forms for `<arg>`:
1. Single value (shorthand) — for profile-related commands, pass one profile ID or number:
ads open-browser <profile_id>ads close-browser <profile_id>ads get-profile-cookies <profile_id>ads get-browser-active <profile_id>ads get-profile-ua <profile_id>(single ID; a numeric token is treated asprofile_no)ads new-fingerprint <profile_id>(single ID; a numeric token is treated asprofile_no)
2. JSON string — full parameters for any command (see Command Reference below):
ads open-browser '{"profile_id":"abc123","launch_args":"..."}'- Commands with no params: omit
<arg>or use'{}'.
Essential Commands With AI Agents
You can use ads -h or ads <command> -h to view the specific parameters.
Start and stop CLI
ads start -k <KEY> # Start the adspower runtime
ads stop # Stop the adspower runtime
ads restart # Restart the adspower runtime
ads status # Get the status of the adspower runtimeBrowser profile – open/close
ads open-browser <profile_id> # Or JSON: profile_id, profile_no?, ip_tab?, launch_args?, headless?, last_opened_tabs?, proxy_detection?, password_filling?, password_saving?, cdp_mask?, delete_cache?, device_scale?
ads close-browser <profile_id> # Or JSON: profile_id? | profile_no? (one required)Browser profile – create/update/delete/list
ads create-browser '{"group_id":"0","user_proxy_config":{"proxy_soft":"no_proxy"},...}' # group_id required: always include it; use "0" for Ungrouped; if given a group name, call get-group-list first; include either proxyid or user_proxy_config
ads update-browser '{"profile_id":"...",...}' # profile_id required
ads delete-browser '{"profile_id":["..."]}' # profile_id required
ads get-browser-list '{}' # CLI defaults to page=1,limit=200 (Local API itself returns only 1). Or group_id?, limit?, page?, profile_id[]?, profile_no[]?, sort_type?, sort_order?, tag_ids?, tags_filter?, name?, name_filter?
ads get-opened-browser # No paramsListing all environments: get-browser-list returns total_count / total_pages. The CLI sends page=1,limit=200 by default, so one call covers up to 200 profiles. If total_pages > 1, keep calling with the same filters and page + 1 until every page is collected. For "operate on all environments in a group" tasks, gather all pages first, then act on every returned profile_id — never just the first.
Browser profile – move/cookies/UA/fingerprint/cache/share/active
ads move-browser '{"group_id":"1","user_ids":["..."]}' # group_id + user_ids required
ads get-profile-cookies <profile_id> # Or JSON: profile_id? | profile_no?
ads get-profile-ua <profile_id> # Or JSON: profile_id[]? | profile_no[]? (up to 10); numeric shorthand maps to profile_no[]
ads close-all-profiles # No params
ads new-fingerprint <profile_id> # Or JSON: profile_id[]? | profile_no[]? (up to 10); numeric shorthand maps to profile_no[]
ads delete-cache-v2 '{"profile_id":["..."],"type":["cookie","history"]}' # type: local_storage|indexeddb|extension_cache|cookie|history|image_file
ads share-profile '{"profile_id":["..."],"receiver":"email@example.com"}' # receiver required; share_type?, content?
ads get-browser-active <profile_id> # Or JSON: profile_id? | profile_no?
ads get-cloud-active '{"user_ids":"id1,id2"}' # user_ids comma-separated, max 100Kernel
ads download-kernel '{"kernel_type":"Chrome","kernel_version":"141"}'
ads get-kernel-list '{}' # kernel_type?: Chrome | Firefox (omit to get all)Patch
ads update-patch '{}' # version_type?: stable | beta (default stable)Tag
ads get-tag-list '{}' # ids?, limit?, page?
ads create-tag '{"tags":[{"name":"My tag","color":"blue"}]}' # name required per item; color optional
ads update-tag '{"tags":[{"id":"1","name":"Renamed"}]}' # id required per item; name?, color?
ads delete-tag '{"ids":["tagId1","tagId2"]}' # ids requiredGroup
ads create-group '{"group_name":"My Group","remark":"..."}' # group_name required
ads update-group '{"group_id":"1","group_name":"New Name"}' # group_id + group_name required; remark? (null to clear)
ads get-group-list '{}' # group_name?, page_size?, page?Application (categories)
ads check-status # No params – API availability
ads get-application-list '{"category_id":"123","page":1,"limit":20}'Proxy
ads create-proxy '[{"type":"http","host":"127.0.0.1","port":"8080"}]' # top-level array; type, host, port required per item
ads update-proxy '{"proxy_id":"proxy-1","proxy_url":"https://refresh.example.com"}'
ads get-proxy-list '{}' # limit?, page?, proxy_id[]?
ads delete-proxy '{"proxy_id":["..."]}' # proxy_id required, max 100Command Reference (full interface and parameters)
Browser Profile Management
See references/browser-profile-management.md for open-browser, close-browser, create-browser, update-browser, delete-browser, get-browser-list, get-opened-browser, move-browser, get-profile-cookies, get-profile-ua, close-all-profiles, new-fingerprint, delete-cache-v2, share-profile, get-browser-active, get-cloud-active and their parameters.
Group Management
See references/group-management.md for create-group, update-group, and get-group-list parameters.
Application Management
See references/application-management.md for check-status and get-application-list parameters.
Proxy Management
See references/proxy-management.md for create-proxy, update-proxy, get-proxy-list, and delete-proxy parameters.
Tag Management
See references/browser-tag-management.md for get-tag-list, create-tag, update-tag, and delete-tag parameters.
Kernel Management
See references/browser-kernel-management.md for download-kernel and get-kernel-list parameters.
Patch Management
See references/client-patch-management.md for update-patch parameters.
user_proxy_config (inline proxy config for create-browser / update-browser)
See references/user-proxy-config.md for all fields (proxy_soft, proxy_type, proxy_host, proxy_port, etc.) and example. For create-browser, include either proxyid or user_proxy_config. If the user does not specify a proxy when creating a browser profile, set user_proxy_config to {"proxy_soft":"no_proxy"}. For update-browser, include proxyid or user_proxy_config only when changing the profile proxy.
fingerprint_config (fingerprint config for create-browser / update-browser)
See references/fingerprint-config.md for all fields (timezone, language, WebRTC, browser_kernel_config, random_ua, TLS, etc.) and example.
Automation (Not Supported by This CLI)
Commands such as navigate, click-element, fill-input, screenshot depend on a persistent browser connection and are not exposed by this CLI. Use the local-api-mcp MCP server for automation.
Deep-Dive Documentation
Reference docs with full enum values and field lists:
| Reference | Description | When to use |
|---|---|---|
| references/tool-intent-map.md | MCP/CLI 工具名与中英 intent、triggers 对照表(与 toolIntentMetadata.ts 同源)。 | 根据用户自然语言选择对应 CLI 命令或 MCP 工具(尤其 open-browser)。 |
| references/browser-profile-management.md | open-browser, close-browser, create-browser, update-browser, delete-browser, get-browser-list, get-opened-browser, move-browser, get-profile-cookies, get-profile-ua, close-all-profiles, new-fingerprint, delete-cache-v2, share-profile, get-browser-active, get-cloud-active parameters. | Any browser profile operation (open, create, update, delete, list, move, cookies, UA, cache, share, status). |
| references/group-management.md | create-group, update-group, get-group-list parameters. | Creating, updating, or listing browser groups. |
| references/application-management.md | check-status, get-application-list parameters. | Checking API availability or listing applications (categories). |
| references/proxy-management.md | create-proxy, update-proxy, get-proxy-list, delete-proxy parameters and enums. | Creating, updating, listing, or deleting proxies. |
| references/browser-tag-management.md | get-tag-list, create-tag, update-tag, delete-tag parameters. | Listing, creating, updating, or deleting browser tags. |
| references/browser-kernel-management.md | download-kernel, get-kernel-list parameters. | Downloading a specific kernel and querying supported kernel versions. |
| references/client-patch-management.md | update-patch parameters. | Updating AdsPower client to latest patch channel (stable/beta). |
| references/user-proxy-config.md | Full user_proxy_config field list (proxy_soft, proxy_type, proxy_host, proxy_port, etc.) and example. | Building inline proxy config for create-browser / update-browser when not using proxyid. |
| references/fingerprint-config.md | Full fingerprint_config field list (timezone, language, WebRTC, browser_kernel_config, random_ua, TLS, etc.) and example. | Building or editing fingerprint config for create-browser / update-browser. |
| references/browser-kernel-config.md | type and version for fingerprint_config.browser_kernel_config. Version must match type (Chrome vs Firefox). | Pinning or choosing a specific browser kernel (Chrome/Firefox and version) when creating or updating a browser. |
| references/browser-kernel-download-management.md | download-kernel parameters (kernel_type, kernel_version). | Downloading or updating a specific browser kernel version and polling progress/status. |
| references/ua-system-version.md | ua_system_version enum for fingerprint_config.random_ua: specific OS versions, generic “any version” per system, and omit behavior. | Constraining or randomizing UA by OS (e.g. Android only, or “any macOS version”) when creating or updating a browser. |
Use these when you need the exact allowed values or semantics; the main skill text above only summarizes.
Application Management
All parameters use the aligned external Local API names from the contract matrix.
check-status — Check the availability of the current device API interface (connection status).
- No parameters.
get-application-list — Get the list of applications (categories).
- category_id (optional): Extension category identifier.
- page (optional): Page number, default
1. - limit (optional): Values per page,
1-100.
Browser kernel config
Used under fingerprint_config → browser_kernel_config. Version and type must match: only versions valid for the chosen type are allowed.
type (optional)
| Value | Default |
|---|---|
chrome | default |
firefox | — |
version (optional)
Default: "ua_auto".
Chrome
92, 99, 102, 105, 108, 111, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, ua_auto
Firefox
100, 107, 114, 120, 123, 126, 129, 132, 135, 138, 141, 144, ua_auto
Example
"browser_kernel_config": { "version": "ua_auto", "type": "chrome" }
Browser Kernel Download Management
This reference is the focused version of the download-kernel contract.
download-kernel — Download or update a specific browser kernel version.
- kernel_type (required):
Chrome|Firefox. - kernel_version (required): Kernel version string, for example
"141".
Browser Kernel Management
These commands already use aligned snake_case parameter names.
download-kernel — Download or update a specific browser kernel version.
- kernel_type (required):
Chrome|Firefox. - kernel_version (required): Kernel version string, for example
"141".
get-kernel-list — Get browser kernel list.
- kernel_type (optional):
Chrome|Firefox. Omit to return all supported kernels.
Browser Profile Management
open-browser — Open the browser (environment/profile).
- profile_id (optional): Unique profile ID, generated after creating profile.
- profile_no (optional): Profile number.
- One of profile_id or profile_no is required. If both are provided, profile_id takes priority.
- ip_tab (optional):
'0'|'1', default 0. Whether to open the IP detection page. - launch_args (optional): Chrome launch args or startup URL.
- headless (optional):
'0'|'1'. Launch the browser in headless mode when supported. - last_opened_tabs (optional):
'0'|'1'. Restore the last opened tabs when reopening the profile. - proxy_detection (optional):
'0'|'1'. Open the proxy detection page after launch. - password_filling (optional):
'0'|'1'. Enable filling saved passwords in the launched browser. - password_saving (optional):
'0'|'1'. Enable saving passwords in the launched browser. - delete_cache (optional):
'0'|'1', default 0. - cdp_mask (optional):
'0'|'1', default 0. Whether to mask CDP detection. - device_scale (optional): Device scale factor for the launched browser window.
close-browser — Close the browser.
- profile_id (optional) or profile_no (optional): One required. The profile to stop.
create-browser — Create a browser.
- group_id (required): Numeric string; use
"0"for Ungrouped. Get list via get-group-list. - At least one of username, password, cookie, fakey (required): Account information.
- user_proxy_config (required when proxyid is not provided): Inline proxy config (see user-proxy-config.md). For create-browser, if the user does not specify a proxy, set this field to
{"proxy_soft":"no_proxy"}. When proxyid is present, this field is ignored. - proxyid (optional): Saved proxy ID or
"random". Takes priority over user_proxy_config; when provided, user_proxy_config may be omitted. - name (optional, max 100): Account name.
- platform (optional): Platform domain, e.g. facebook.com.
- remark (optional, max 1500): Remarks.
- tabs (optional): URLs to open on startup, e.g.
["https://www.google.com"]. - repeat_config (optional): String. Deduplication switch. Must be exactly one of
0,2,3, or4, for example0. - ignore_cookie_error (optional):
'0'|'1'. Handle cookie verification failures. - ip, country, region, city (optional). Use a lowercase two-letter country code such as
us,gb, orjpfor country. - ipchecker (optional):
'ip2location'|'ipapi'|'ipfoxy'. IP query channel. - category_id (optional): Use get-application-list to get list.
- profile_tag_ids (optional): Array of tag IDs, max 30 tags per profile.
- platform_account (optional): Structured platform account metadata object:
- domain_name (required): Platform domain name, for example
facebook.com. - login_user (required): Platform login user, for example a shop username or login email.
- password (optional): Platform account password.
- fakey (optional): 2FA key for online 2FA code generators.
- fingerprint_config (optional): Browser fingerprint config; see fingerprint-config.md.
update-browser — Update the browser.
- profile_id (required): The profile id of the browser to update.
- platform, tabs, cookie, username, password, fakey, ignore_cookie_error (
'0'|'1'), group_id, name (max 100), remark (max 1500), country (lowercase two-letter code such asus,gb, orjp), region, city, ip, ipchecker ('ip2location'|'ipapi'|'ipfoxy'), category_id, user_proxy_config (see user-proxy-config.md), proxyid, fingerprint_config (see fingerprint-config.md), launch_args, profile_tag_ids (array, max 30), platform_account (domain_name和login_user必填,password/fakey可选), tags_update_type ('1'replace all tags,'2'append and truncate to 30) (all optional).
delete-browser — Delete the browser(s).
- profile_id (required): Array of profile ids to delete.
get-browser-list — Get the list of browsers.
- group_id (optional): Numeric string; query by group ID; empty searches all groups.
- limit (optional): 1–200. Profiles per page. The Local API defaults to only 1 when omitted, so the CLI injects
limit=200for you; pass an explicit value to override. - page (optional): Page number. The CLI injects
page=1when omitted. - profile_id (optional): Array, e.g.
["h1yynkm","h1yynks"]. - profile_no (optional): Array, e.g.
["123","124"]. - sort_type (optional):
'profile_no'|'last_open_time'|'created_time'. - sort_order (optional):
'asc'|'desc'.
- tag_ids (optional): Tag IDs to filter environments by tags.
- tags_filter (optional):
'include'(default) |'exclude'for tag match mode. - name (optional): Environment name keyword.
- name_filter (optional):
'include'(default) |'exclude'for name match mode.
Pagination & bulk operations:
- The response includes
page,page_size,total_count, andtotal_pages. Use them to tell whether you have the full set. - The CLI already defaults to
page=1, limit=200, so a single call returns up to 200 profiles. Do not assume the first profile is the whole result unless the user asked for one. - If
total_pages > 1(more than 200 matches), request the next page with the same filters andpage + 1, repeating until you have collected every page. - For "operate on all environments in a group / matching a filter" tasks, collect all pages first, then iterate over every returned
profile_id.
get-opened-browser — Get the list of opened browsers.
- No parameters.
move-browser — Move browsers to a group.
- group_id (required): Numeric string. Target group id; use get-group-list to get list.
- user_ids (required): Array of browser profile ids to move.
get-profile-cookies — Query cookies of the specified profile. One profile per request.
- profile_id (optional) or profile_no (optional): One required.
get-profile-ua — Query User-Agent of specified profiles. Up to 10 per request.
- profile_id (optional): Array. Or profile_no (optional): Array. At least one element required.
- CLI shorthand accepts one token: non-numeric input maps to
profile_id: ["..."], numeric input maps toprofile_no: ["..."].
close-all-profiles — Close all opened profiles on the current device.
- No parameters.
new-fingerprint — Generate a new fingerprint for specified profiles. Up to 10 per request.
- profile_id (optional): Array. Or profile_no (optional): Array.
- CLI shorthand accepts one token: non-numeric input maps to
profile_id: ["..."], numeric input maps toprofile_no: ["..."].
delete-cache-v2 — Clear local cache of specific profiles. Ensure no open browsers when using.
- profile_id (required): Array of profile ids.
- type (required): Array of
'local_storage'|'indexeddb'|'extension_cache'|'cookie'|'history'|'image_file'.
share-profile — Share profiles via account email or phone. Max 200 per request.
- profile_id (required): Array.
- receiver (required): Account email or phone number, no area code.
- share_type (optional): 1 for email (default), 2 for phone number.
- content (optional): Array of
'name'|'proxy'|'remark'|'tabs'. Shared content.
get-browser-active — Get active browser profile information.
- profile_id (optional) or profile_no (optional): One required.
get-cloud-active — Query status of browser profiles by user_ids. Up to 100 per request.
- user_ids (required): Comma-separated profile IDs string, max 100. Unique profile ID generated after creating profile.
Browser Tag Management
These commands already match the current code contract and keep their existing body fields.
get-tag-list — Get the list of browser tags.
- ids (optional): Tag IDs to query, max 100 per request, e.g.
["tag1","tag2"]. - limit (optional): Tags per page,
1-200, default50. - page (optional): Page number, default
1.
create-tag — Create browser tags in batch.
- tags (required): Array of tag configs. Each item:
- name (required): Tag name, max 50 characters.
- color (optional):
darkBlue|blue|purple|red|yellow|orange|green|lightGreen.
update-tag — Update browser tags in batch.
- tags (required): Array of tag configs. Each item:
- id (required): Tag ID to update.
- name (optional): Tag name, max 50 characters.
- color (optional): Same enum as
create-tag.
delete-tag — Delete browser tags.
- ids (required): Array of tag IDs to delete.
Chrome TLS Cipher Suites (tls enum)
tls is only supported when the browser kernel is Chrome. Use comma-separated hex codes in fingerprint_config.tls, e.g. "0xC02C,0xC030".
| Name | Hex code |
|---|---|
| TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 | 0xC02C |
| TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 | 0xC030 |
| TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 | 0xC02B |
| TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 | 0xC02F |
| TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 | 0xCCA9 |
| TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 | 0xCCA8 |
| TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 | 0x009F |
| TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 | 0x009E |
| TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 | 0xC024 |
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 | 0xC028 |
| TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA | 0xC00A |
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA | 0xC014 |
| TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 | 0x006B |
| TLS_DHE_RSA_WITH_AES_256_CBC_SHA | 0x0039 |
| TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 | 0xC023 |
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 | 0xC027 |
| TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA | 0xC009 |
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA | 0xC013 |
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 | 0x0067 |
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA | 0x0033 |
| TLS_RSA_WITH_AES_256_GCM_SHA384 | 0x009D |
| TLS_RSA_WITH_AES_128_GCM_SHA256 | 0x009C |
| TLS_RSA_WITH_AES_256_CBC_SHA256 | 0x003D |
| TLS_RSA_WITH_AES_128_CBC_SHA256 | 0x003C |
| TLS_RSA_WITH_AES_256_CBC_SHA | 0x0035 |
| TLS_RSA_WITH_AES_128_CBC_SHA | 0x002F |
| TLS_AES_128_CCM_8_SHA256 | 0x1305 |
| TLS_AES_128_CCM_SHA256 | 0x1304 |
Client Patch Management
update-patch — Update AdsPower client to the latest patch version.
- version_type (optional):
stable|beta, defaultstable.
Country Code (country 字段取值)
country 传参使用下表左侧的 code(小写两字母),用于 create-browser / update-browser 等接口的 country 字段。参见 schemas.ts 中的 createBrowserSchema、updateBrowserSchema。
| Code | Country |
|---|---|
| ad | Andorra |
| ae | United Arab Emirates |
| af | Afghanistan |
| ag | Antigua & Barbuda |
| ai | Anguilla |
| al | Albania |
| am | Armenia |
| ao | Angola |
| aq | Antarctica |
| ar | Argentina |
| as | American Samoa |
| at | Austria |
| au | Australia |
| aw | Aruba |
| ax | Åland Islands |
| az | Azerbaijan |
| ba | Bosnia & Herzegovina |
| bb | Barbados |
| bd | Bangladesh |
| be | Belgium |
| bf | Burkina |
| bg | Bulgaria |
| bh | Bahrain |
| bi | Burundi |
| bj | Benin |
| bl | Saint Barthélemy |
| bm | Bermuda |
| bn | Brunei |
| bo | Bolivia |
| bq | Caribbean Netherlands |
| br | Brazil |
| bs | The Bahamas |
| bt | Bhutan |
| bv | Bouvet Island |
| bw | Botswana |
| by | Belarus |
| bz | Belize |
| ca | Canada |
| cc | Cocos (Keeling) Islands |
| cd | Democratic Republic of the Congo |
| cf | Central African Republic |
| cg | Republic of the Congo |
| ch | Switzerland |
| ci | Côte d'Ivoire |
| cl | Chile |
| cm | Cameroon |
| cn | China |
| co | Colombia |
| cr | Costa Rica |
| cu | Cuba |
| cv | Cape Verde |
| cx | Christmas Island |
| cy | Cyprus |
| cz | Czech Republic |
| de | Germany |
| dj | Djibouti |
| dk | Denmark |
| dm | Dominica |
| do | Dominican Republic |
| dz | Algeria |
| ec | Ecuador |
| ee | Estonia |
| eg | Egypt |
| eh | Western Sahara |
| er | Eritrea |
| es | Spain |
| et | Ethiopia |
| fi | Finland |
| fj | Fiji |
| fk | Falkland Islands |
| fm | Federated States of Micronesia |
| fo | Faroe Islands |
| fr | France |
| ga | Gabon |
| gb | Great Britain |
| gd | Grenada |
| ge | Georgia |
| gf | French Guiana |
| gg | Guernsey |
| gh | Ghana |
| gi | Gibraltar |
| gl | Greenland |
| gm | Gambia |
| gn | Guinea |
| gp | Guadeloupe |
| gq | Equatorial Guinea |
| gr | Greece |
| gs | South Georgia and the South Sandwich Islands |
| gt | Guatemala |
| gu | Guam |
| gw | Guinea-Bissau |
| gy | Guyana |
| hk | China Hong Kong |
| hm | Heard Island and McDonald Islands |
| hn | Honduras |
| hr | Croatia |
| ht | Haiti |
| hu | Hungary |
| id | Indonesia |
| ie | Ireland |
| il | Israel |
| im | Isle of Man |
| in | India |
| io | British Indian Ocean Territory |
| iq | Iraq |
| ir | Iran |
| is | Iceland |
| it | Italy |
| je | Jersey |
| jm | Jamaica |
| jo | Jordan |
| jp | Japan |
| ke | Kenya |
| kg | Kyrgyzstan |
| kh | Cambodia |
| ki | Kiribati |
| km | The Comoros |
| kn | St. Kitts & Nevis |
| kp | North Korea |
| kr | South Korea |
| kw | Kuwait |
| ky | Cayman Islands |
| kz | Kazakhstan |
| la | Laos |
| lb | Lebanon |
| lc | St. Lucia |
| li | Liechtenstein |
| lk | Sri Lanka |
| lr | Liberia |
| ls | Lesotho |
| lt | Lithuania |
| lu | Luxembourg |
| lv | Latvia |
| ly | Libya |
| ma | Morocco |
| mc | Monaco |
| md | Moldova |
| me | Montenegro |
| mf | Saint Martin (France) |
| mg | Madagascar |
| mh | Marshall islands |
| mk | Republic of Macedonia (FYROM) |
| ml | Mali |
| mm | Myanmar (Burma) |
| mn | Mongolia |
| mo | China Macao |
| mp | Northern Mariana Islands |
| mq | Martinique |
| mr | Mauritania |
| ms | Montserrat |
| mt | Malta |
| mu | Mauritius |
| mv | Maldives |
| mw | Malawi |
| mx | Mexico |
| my | Malaysia |
| mz | Mozambique |
| na | Namibia |
| nc | New Caledonia |
| ne | Niger |
| nf | Norfolk Island |
| ng | Nigeria |
| ni | Nicaragua |
| nl | Netherlands |
| no | Norway |
| np | Nepal |
| nr | Nauru |
| nu | Niue |
| nz | New Zealand |
| om | Oman |
| pa | Panama |
| pe | Peru |
| pf | French polynesia |
| pg | Papua New Guinea |
| ph | The Philippines |
| pk | Pakistan |
| pl | Poland |
| pm | Saint-Pierre and Miquelon |
| pn | Pitcairn Islands |
| pr | Puerto Rico |
| ps | Palestinian territories |
| pt | Portugal |
| pw | Palau |
| py | Paraguay |
| qa | Qatar |
| re | Réunion |
| ro | Romania |
| rs | Serbia |
| ru | Russian Federation |
| rw | Rwanda |
| sa | Saudi Arabia |
| sb | Solomon Islands |
| sc | Seychelles |
| sd | Sudan |
| se | Sweden |
| sg | Singapore |
| sh | St. Helena & Dependencies |
| si | Slovenia |
| sj | Template:Country data SJM Svalbard |
| sk | Slovakia |
| sl | Sierra Leone |
| sm | San Marino |
| sn | Senegal |
| so | Somalia |
| sr | Suriname |
| ss | South Sudan |
| st | Sao Tome & Principe |
| sv | El Salvador |
| sy | Syria |
| sz | Swaziland |
| tc | Turks & Caicos Islands |
| td | Chad |
| tf | French Southern Territories |
| tg | Togo |
| th | Thailand |
| tj | Tajikistan |
| tk | Tokelau |
| tl | Timor-Leste (East Timor) |
| tm | Turkmenistan |
| tn | Tunisia |
| to | Tonga |
| tr | Turkey |
| tt | Trinidad & Tobago |
| tv | Tuvalu |
| tw | China Taiwan |
| tz | Tanzania |
| ua | Ukraine |
| ug | Uganda |
| um | United States Minor Outlying Islands |
| us | United States of America (USA) |
| uy | Uruguay |
| uz | Uzbekistan |
| va | Vatican City (The Holy See) |
| vc | St. Vincent & the Grenadines |
| ve | Venezuela |
| vg | British Virgin Islands |
| vi | United States Virgin Islands |
| vn | Vietnam |
| vu | Vanuatu |
| wf | Wallis and Futuna |
| ws | Samoa |
| ye | Yemen |
| yt | Mayotte |
| za | South Africa |
| zm | Zambia |
| zw | Zimbabwe |
| ck | Cook Islands |
fingerprint_config (fingerprint config for create-browser / update-browser)
fingerprint_config is aligned with AdsPower Local API fingerprint_config; all fields are optional.
- automatic_timezone (optional): Auto timezone by IP.
'0'custom /'1'by IP (default) - timezone (optional): Timezone when automatic_timezone=0, e.g.
Asia/Shanghai - location_switch (optional): Location by IP.
'0'custom /'1'by IP (default) - longitude (optional): Custom longitude when location_switch=
0, -180 to 180, up to 6 decimals - latitude (optional): Custom latitude when location_switch=
0, -90 to 90, up to 6 decimals - accuracy (optional): Location accuracy in meters when location_switch=0, 10–5000 integer, default 1000
- location (optional): Site location permission.
'ask'(default) /'allow'/'block' - language_switch (optional): Language by IP country.
'0'custom /'1'by IP (default) - language (optional): Custom languages when language_switch=0, e.g.
["en-US", "zh-CN"] - page_language_switch (optional): Match UI language to language.
'0'off /'1'on (default); requires Chrome 109+ Win / 119+ macOS, AdsPower v2.6.72+ - page_language (optional): Page language when page_language_switch=0, e.g.
en-US - ua (optional): Custom User-Agent string; when set, takes precedence over random_ua (random_ua is not sent). Omit for random UA.
- screen_resolution (optional): Screen resolution.
'none'follow computer (default) /'random'/ or"width_height"e.g."1024_600" - fonts (optional): Font list, e.g.
["Arial", "Times New Roman"]or["all"] - canvas (optional): Canvas fingerprint.
'0'computer default /'1'add noise (default) - webgl (optional): WebGL metadata.
'0'computer default /'2'custom (requires webgl_config) /'3'random - webgl_image (optional): WebGL image fingerprint.
'0'computer default /'1'add noise (default) - webgl_config (optional): When webgl=2, required; vendor and renderer cannot be empty.
- unmasked_vendor (required when webgl=2): e.g.
"Google Inc." - unmasked_renderer (required when webgl=2): e.g.
"ANGLE (Intel(R) HD Graphics 620 Direct3D11 vs_5_0 ps_5_0)" - webgpu (optional):
{ "webgpu_switch": "0" | "1" | "2" }— 0 Disabled, 1 WebGL based matching, 2 Real. V2.6.8.1+ - flash (optional): Flash.
'block'(default) /'allow' - webrtc (optional): WebRTC.
'disabled'(default) /'forward'/'proxy'/'local' - audio (optional): Audio fingerprint.
'0'close /'1'add noise (default) - do_not_track (optional): DNT.
'default'/'true'(open) /'false'(close) - hardware_concurrency (optional): CPU cores.
'default'|'2'|'4'|'6'|'8'|'16'|'32'; default to follow computer, omit to4 - device_memory (optional): Device memory (GB).
'default'|'2'|'4'|'6'|'8'; default to follow computer, omit to'8' - scan_port_type (optional): Port scan protection.
'0'close /'1'enable (default) - allow_scan_ports (optional): Ports allowed when scan_port_type=1, e.g.
["4000","4001"] - media_devices (optional): Media devices.
'0'off /'1'noise (count from local) /'2'noise (use media_devices_num). V2.6.4.2+ - media_devices_num (optional): When media_devices=2:
{ "audioinput_num": "1"-"9", "videoinput_num": "1"-"9", "audiooutput_num": "1"-"9" }. V2.6.4.2+ - client_rects (optional): ClientRects.
'0'computer default /'1'add noise. V3.6.2+ - device_name_switch (optional): Device name.
'0'close /'1'mask /'2'custom (device_name). V3.6.25+ - device_name (optional): Custom device name when device_name_switch=2. V2.4.8.1+
- speech_switch (optional): SpeechVoices.
'0'computer default /'1'replace. V3.11.10+ - mac_address_config (optional): MAC address.
{ "model": "0"|"1"|"2", "address"?: string }— 0 use computer, 1 match, 2 custom (address required). V4.3.9+ - gpu (optional): GPU.
'0'follow Local settings /'1'turn on /'2'turn off - browser_kernel_config (optional): Browser kernel; type and version must match. See browser-kernel-config.md
- random_ua (optional): Random UA; ignored when ua (custom UA) is provided.
- ua_version (optional): UA version string array
- ua_system_version (optional): System version enum array. See ua-system-version.md
- tls_switch (optional): Enable custom TLS.
'0'(default) /'1' - tls (optional): Chrome kernel only. Comma-separated TLS hex codes when tls_switch=1, e.g.
"0xC02C,0xC030". See chrome-tls-cipher.md
Example: "fingerprint_config":{"timezone":"America/New_York","language":["en-US"],"webrtc":"proxy","browser_kernel_config":{"version":"ua_auto","type":"chrome"}}
Group Management
create-group — Create a browser group.
- group_name (required): Name of the group to create.
- remark (optional): Remark of the group.
update-group — Update the browser group.
- group_id (required): Numeric string. Id of the group to update; use get-group-list to get list.
- group_name (required): New name of the group.
- remark (optional, nullable): New remark; set null to clear.
get-group-list — Get the list of groups.
- group_name (optional): Name to search (like search).
- page_size (optional): Page size, max 100, default 10.
- page (optional): Default 1.
Proxy Management
create-proxy — Create a proxy.
- Provide a top-level JSON array of proxy configs. Each item:
- type (required):
'http'|'https'|'ssh'|'socks5'. - host (required): Proxy host, ipV4/ipV6, e.g. 192.168.0.1.
- port (required): 0–65536, e.g. 8000.
- user (optional): Proxy username.
- password (optional): Proxy password.
- proxy_url (optional): URL used to refresh the proxy.
- remark (optional): Remark/description.
- ipchecker (optional):
'ip2location'|'ipapi'|'ipfoxy'.
update-proxy — Update the proxy.
- proxy_id (required): Unique id after the proxy is added.
- type (optional):
'http'|'https'|'ssh'|'socks5'. - host, port, user, password (optional).
- proxy_url (optional): URL used to refresh the proxy.
- remark (optional).
- ipchecker (optional):
'ip2location'|'ipapi'|'ipfoxy'.
get-proxy-list — Get the list of proxies.
- limit (optional): 1–200, default 50. Proxies per page.
- page (optional): Default 1.
- proxy_id (optional): Array, e.g.
["proxy1","proxy2"].
delete-proxy — Delete the proxy/proxies.
- proxy_id (required): Array of proxy ids to delete, max 100.
工具意图与触发词对照表
本表与仓库内 packages/core/src/constants/toolIntentMetadata.ts 中的 TOOL_INTENT_BY_NAME 一致,用于反映 MCP 工具与 CLI 命令共用的中英意图元数据(路由与描述生成同源)。
| Tool | Intent (EN) | Intent (ZH) | Triggers (EN) | Triggers (ZH) |
|---|---|---|---|---|
open-browser | Start an existing AdsPower browser profile (launch the profile browser). | 启动已存在的 AdsPower 浏览器环境(用户常称环境、配置文件、profile)。 | open browser, launch profile, start environment, open AdsPower, open config profile | 打开浏览器,启动环境,打开配置,打开配置文件,打开profile,拉起AdsPower,启动指纹浏览器 |
close-browser | Stop a running AdsPower browser profile. | 关闭正在运行的浏览器环境 / profile。 | close browser, stop profile, shutdown environment, kill browser | 关闭浏览器,停止环境,关掉profile,结束浏览器,退出指纹环境 |
create-browser | Create a new AdsPower browser profile (account). | 新建浏览器环境 / 账号 profile。 | create profile, new browser, add account, spin up profile | 新建环境,创建profile,添加浏览器,新开指纹,创建账号 |
update-browser | Update fields of an existing browser profile. | 更新已有 profile 的配置(备注、代理、指纹等)。 | edit profile, change settings, modify browser, update fingerprint | 修改配置,更新profile,改代理,改指纹,编辑环境 |
delete-browser | Delete one or more browser profiles permanently. | 永久删除一个或多个浏览器 profile。 | remove profile, delete account, trash browser | 删除环境,移除profile,删掉浏览器账号 |
get-browser-list | List or search browser profiles (pagination, filters). | 分页/条件查询浏览器 profile 列表。 | list profiles, search browsers, query accounts, show all profiles | 列表,查询环境,搜索profile,列出所有浏览器 |
get-opened-browser | List browser profiles currently open on this device. | 查看本机当前已打开的浏览器 profile。 | opened browsers, running profiles, active local sessions | 已打开,正在运行,当前会话,本地活跃 |
move-browser | Move profiles to another group (regroup). | 将 profile 移动到指定分组。 | move to group, regroup profiles, change group | 移动分组,换组,归类到组 |
get-profile-cookies | Read cookies for one profile. | 读取单个 profile 的 Cookie。 | get cookies, export cookies, read cookie jar | 导出Cookie,查看Cookie,读取站点Cookie |
get-profile-ua | Get User-Agent strings for up to 10 profiles. | 批量查询最多 10 个 profile 的 UA。 | user agent, UA string, browser UA | UA,用户代理,浏览器标识 |
close-all-profiles | Close all opened profiles on this device. | 关闭本机所有已打开的环境。 | close everything, stop all browsers, shutdown all profiles | 全部关闭,一键关环境,关所有浏览器 |
new-fingerprint | Generate a new fingerprint for up to 10 profiles. | 为最多 10 个 profile 重新生成指纹。 | refresh fingerprint, regenerate fp, new device identity | 刷新指纹,重新指纹,换设备指纹 |
delete-cache-v2 | Clear selected local cache types for profiles. | 按类型清理 profile 本地缓存。 | clear cache, wipe storage, delete history cache | 清缓存,删历史,清理本地数据 |
share-profile | Share profiles to another AdsPower account. | 将 profile 分享给其他 AdsPower 账号。 | share account, transfer profile, send browser to user | 分享环境,转让profile,发给同事 |
get-browser-active | Get active status/details for one profile. | 查询单个 profile 的活跃/运行信息。 | is profile running, active status, browser state | 是否在线,活跃状态,运行信息 |
get-cloud-active | Query cloud-side active status for many profile IDs. | 按 user_ids 批量查询云端活跃状态。 | cloud status, remote active, team multi device caveat | 云端状态,远程是否打开,多设备模式限制 |
create-group | Create a browser profile group. | 新建浏览器分组。 | new group, add folder for profiles | 新建分组,创建组,环境分组 |
update-group | Rename or update a group. | 重命名或更新分组信息。 | rename group, edit group | 改组名,更新分组 |
get-group-list | List groups with optional name search. | 分页查询分组列表,可按名称搜索。 | list groups, search group name | 分组列表,查组名 |
check-status | Check Local API availability on this machine. | 检测本机 Local API 是否可用。 | API health, connection status, ping AdsPower API | 接口通不通,检测API,连接状态 |
get-application-list | List application/extension categories with pagination. | 分页获取应用/扩展分类列表。 | categories, extension list, application catalog | 应用分类,扩展目录,类别列表 |
create-proxy | Create one or more proxy entries. | 新建一条或多条代理配置。 | add proxy, new proxy row | 添加代理,新建代理 |
update-proxy | Update an existing proxy entry. | 更新已有代理项。 | edit proxy, change proxy host | 修改代理,更新代理 |
get-proxy-list | List proxies with filters/pagination. | 分页/条件查询代理列表。 | list proxies, search proxy | 代理列表,查代理 |
delete-proxy | Delete proxies by id list. | 按 ID 列表删除代理。 | remove proxy, delete proxy entries | 删除代理,移除代理 |
get-tag-list | List browser tags. | 查询浏览器标签列表。 | list tags, label list | 标签列表,查看标签 |
create-tag | Create tags (batch). | 批量创建标签。 | new tag, add label | 新建标签,添加标签 |
update-tag | Update existing tags (batch). | 批量更新标签。 | rename tag, change tag color | 改标签名,改颜色 |
delete-tag | Delete tags by id list. | 按 ID 删除标签。 | remove tags | 删除标签 |
download-kernel | Download or update a browser kernel version. | 下载或更新指定内核版本。 | download chrome kernel, fetch firefox kernel | 下载内核,更新Chrome内核 |
get-kernel-list | List supported kernel versions (optional type filter). | 查询支持的内核版本列表。 | kernel versions, supported browsers list | 内核列表,可用版本 |
update-patch | Update AdsPower client patch channel. | 将 AdsPower 客户端更新到补丁通道版本。 | upgrade client, patch update, stable beta channel | 升级客户端,补丁更新,稳定版测试版 |
connect-browser-with-ws | Attach Playwright automation using ws from open-browser. | 用 open-browser 返回的 ws 连接自动化(Playwright)。 | connect puppeteer, attach playwright, ws automation | 连接自动化,挂上Playwright,用ws控制 |
open-new-page | Open a new page in the connected automation session. | 在已连接会话中打开新标签页/页面。 | new tab, new page | 新标签页,新页面 |
navigate | Navigate current automation page to a URL. | 自动化当前页跳转到 URL。 | goto url, open url in automation | 跳转网址,打开链接 |
screenshot | Capture screenshot of the automation page. | 截取自动化当前页面截图。 | screenshot, capture page image | 截图,截屏 |
get-page-visible-text | Read visible text of the current page. | 读取当前页可见文本。 | visible text, page text content | 可见文字,页面文本 |
get-page-html | Read HTML of the current page. | 读取当前页 HTML。 | page source, dom html | 网页源码,HTML |
click-element | Click an element by selector in automation session. | 在自动化会话中按选择器点击元素。 | click button, tap element | 点击按钮,点元素 |
fill-input | Fill an input field by selector. | 按选择器填写输入框。 | type text, enter value, input field | 输入文字,填表单 |
select-option | Select a dropdown option by selector and value. | 下拉框按 selector 与 value 选择。 | dropdown select, pick option | 下拉选择,选选项 |
hover-element | Hover an element by selector. | 悬停到指定元素。 | mouse over, hover menu | 鼠标悬停,划过菜单 |
scroll-element | Scroll an element into view or by selector. | 滚动指定元素或区域。 | scroll into view, page scroll | 滚动到可见,页面滚动 |
press-key | Press a keyboard key (optional focused selector). | 模拟按键(可选限定在元素上)。 | hit Enter, keyboard shortcut | 按回车,快捷键 |
evaluate-script | Run JavaScript in the page context. | 在页面上下文执行 JS。 | execute js, run script in page | 执行脚本,页面JS |
drag-element | Drag an element to a target element. | 拖拽元素到另一元素。 | drag and drop, dnd | 拖拽,拖放 |
iframe-click-element | Click inside an iframe by iframe and inner selectors. | 在 iframe 内点击子元素。 | iframe click, nested frame | 框架内点击,iframe里点 |
Random UA — ua_system_version enum
Used under fingerprint_config → random_ua → ua_system_version.
Specific versions (fixed OS version)
| System | Values |
|---|---|
| Android | Android 9, Android 10, Android 11, Android 12, Android 13, Android 14, Android 15 |
| iOS | iOS 12, iOS 13, iOS 14, iOS 15, iOS 16, iOS 17, iOS 18, iOS 26 |
| Windows | Windows 7, Windows 8, Windows 10, Windows 11 |
| Mac OS X | Mac OS X 10, Mac OS X 11, Mac OS X 12, Mac OS X 13, Mac OS X 14, Mac OS X 15, Mac OS X 26 |
| Linux | Linux |
Generic (random any version of that system)
Mac OS X— random any macOS versionWindows— random any Windows versioniOS— random any iOS versionAndroid— random any Android versionLinux— random any Linux (same as specificLinuxhere)
Behavior
- Omit
ua_system_version: UA is chosen at random across all systems. - Provide an array: UA is chosen only from the listed system/versions (specific and/or generic can be mixed).
Examples
["Android 9", "iOS 14"]— only Android 9 or iOS 14["Android", "Mac OS X"]— any Android version or any macOS version["Windows 11", "Mac OS X 15"]— only Windows 11 or Mac OS X 15
user_proxy_config (inline proxy config for create-browser / update-browser)
Used to configure an inline proxy for create-browser / update-browser. For create-browser, include either proxyid or user_proxy_config. If the user does not specify a proxy when creating a browser profile, set user_proxy_config to {"proxy_soft":"no_proxy"}. For update-browser, include this config only when changing the profile proxy. If proxyid is also provided, proxyid takes priority and this config is ignored. Field names match the API (snake_case):
- proxy_soft (required): Proxy software type.
'brightdata'|'brightauto'|'oxylabsauto'|'922S5auto'|'ipfoxyauto'|'922S5auth'|'kookauto'|'ssh'|'other'|'no_proxy' - proxy_type (optional): Proxy type.
'http'|'https'|'socks5'|'no_proxy' - proxy_host (optional): Proxy host, e.g.
127.0.0.1 - proxy_port (optional): Proxy port, e.g.
8080 - proxy_user (optional): Proxy username
- proxy_password (optional): Proxy password
- proxy_url (optional): Full proxy URL, e.g.
http://127.0.0.1:8080 - global_config (optional): Global config.
'0'|'1', default0
Example: "user_proxy_config":{"proxy_soft":"no_proxy","proxy_type":"http","proxy_host":"127.0.0.1","proxy_port":"8080"}
Related skills
How it compares
Pick adspower-browser for AdsPower anti-detect profile automation; pick Playwright or Puppeteer skills for standard browser testing without fingerprint isolation.
FAQ
What does adspower-browser configure?
Anti-detect profiles, proxies, cookies, team permissions, and launch workflows.
Why emphasize session boundaries?
To prevent credential leakage and cross-profile contamination during multi-account automation.
Is compliance addressed?
Yes. The skill includes reminders because anti-detect browser tooling is sensitive.