Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Manage MoreLogin anti-detect browser profiles and cloud phones through the official Local API (http://127.0.0.1:40000), including browser profile lifecycle,...
Manage MoreLogin anti-detect browser profiles and cloud phones through the official Local API (http://127.0.0.1:40000), including browser profile lifecycle,...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Manage browser profiles and cloud phones via MoreLogin official Local API, supporting full lifecycle control, automation connections (CDP/ADB), and resource management (proxy/group/tag/app/file).
Local API documentation: https://guide.morelogin.com/api-reference/local-api Base URL: http://127.0.0.1:40000 Requirements: MoreLogin Desktop v2.15.0+, logged-in local account
Prefer this Skill when: User mentions MoreLogin, envId, uniqueId, cloudphone Creating/starting/closing browser profiles Refreshing fingerprints, clearing cache, or deleting profiles Cloud phone power on/off, ADB, app management, file upload API management of proxy, groups, tags
Before any operation: Confirm MoreLogin desktop app is running and logged in. Confirm API is reachable: http://127.0.0.1:40000. Confirm requests originate from localhost (Local API does not support remote access). For cloud phone command execution, confirm ADB is available (adb installed).
Treat local-api.yaml + API-CONTRACT.md as the canonical parameter source before constructing payloads. Do not infer field names from memory; verify required keys/types first (especially id vs ids, object vs array bodies). Use POST by default (except tag query GET /api/envtag/all). Uniform request header: Content-Type: application/json. Check code first: 0 means success, non-zero use msg for error handling. Prefer envId for resource lookup; fall back to uniqueId when missing (browser profiles). For batch endpoints (/batch), always pass arrays and record changed objects.
EndpointPurposePOST /api/env/create/quickQuick create profilePOST /api/env/create/advancedAdvanced create (full fingerprint params)POST /api/env/fingerprint/refreshRefresh device fingerprintPOST /api/env/startStart profile and return debug infoPOST /api/env/closeClose running profilePOST /api/env/statusGet run status and debug infoPOST /api/env/pagePaginated profile listPOST /api/env/detailGet single profile detailPOST /api/env/removeLocalCacheClear local cache (cookies/localStorage etc.)POST /api/env/removeToRecycleBin/batchBatch delete to recycle bin
EndpointPurposePOST /api/cloudphone/createCreate cloud phonePOST /api/cloudphone/powerOnPower onPOST /api/cloudphone/powerOffPower offPOST /api/cloudphone/pagePaginated listPOST /api/cloudphone/infoGet detail (including ADB info)POST /api/cloudphone/edit/batchBatch edit configPOST /api/cloudphone/delete/batchBatch deletePOST /api/cloudphone/newMachineOne-click new devicePOST /api/cloudphone/updateAdbEnable/disable ADB
EndpointPurposePOST /api/cloudphone/uploadFileUpload file to cloud phonePOST /api/cloudphone/uploadUrlQuery upload statusPOST /api/cloudphone/setKeyBoxSet KeyboxPOST /api/cloudphone/app/installInstall appPOST /api/cloudphone/app/pageQuery app market listPOST /api/cloudphone/app/installedListQuery installed appsPOST /api/cloudphone/app/startStart appPOST /api/cloudphone/app/restartRestart appPOST /api/cloudphone/app/stopStop appPOST /api/cloudphone/app/uninstallUninstall app
EndpointPurposePOST /api/proxyInfo/pageQuery proxy listPOST /api/proxyInfo/addAdd proxyPOST /api/proxyInfo/updateUpdate proxyPOST /api/proxyInfo/deleteDelete proxyPOST /api/envgroup/pageQuery groupsPOST /api/envgroup/createCreate groupPOST /api/envgroup/editEdit groupPOST /api/envgroup/deleteDelete groupGET /api/envtag/allGet all tagsPOST /api/envtag/createCreate tagPOST /api/envtag/editEdit tagPOST /api/envtag/deleteDelete tag
Get envId from create/quick or page. Call start to launch the profile. Call status to verify run state and debugPort. Use CDP (Puppeteer/Playwright) for automation. Call close when done.
Call page or create to obtain cloud phone id. Call powerOn to start. Call info to get ADB connection params. Call updateAdb when needed to enable ADB. Run supported cloud phone management endpoints only (no direct command execution). Call powerOff when done.
# 1) Quick create browser profile curl -X POST "http://127.0.0.1:40000/api/env/create/quick" \ -H "Content-Type: application/json" \ -d '{"browserTypeId":1,"operatorSystemId":1,"quantity":1}' # 2) Start profile curl -X POST "http://127.0.0.1:40000/api/env/start" \ -H "Content-Type: application/json" \ -d '{"envId":"<envId>"}' # 3) Cloud phone power on curl -X POST "http://127.0.0.1:40000/api/cloudphone/powerOn" \ -H "Content-Type: application/json" \ -d '{"id":"<cloudPhoneId>"}' # 4) Query cloud phone detail (including ADB info) curl -X POST "http://127.0.0.1:40000/api/cloudphone/info" \ -H "Content-Type: application/json" \ -d '{"id":"<cloudPhoneId>"}'
Prefer project-wrapped commands; fall back to curl when needed: Entry equivalence note: openclaw morelogin ... and node bin/morelogin.js ... are fully equivalent (same arguments, same behavior, same exit code). Use either one based on your runtime environment. # Browser profile openclaw morelogin browser list openclaw morelogin browser start --env-id <envId> openclaw morelogin browser status --env-id <envId> openclaw morelogin browser close --env-id <envId> # Cloud phone openclaw morelogin cloudphone list openclaw morelogin cloudphone start --id <cloudPhoneId> openclaw morelogin cloudphone info --id <cloudPhoneId> ## Response & Error Handling Parse responses with the following structure: ```json { "code": 0, "msg": null, "data": {}, "requestId": "..." } Handling rules: code == 0: Proceed, extract data. code != 0: Output msg, mark failed step, suggest next fix. For start/powerOn operations, call status/info again before subsequent steps to confirm.
Local API listens on localhost only; no remote access. Can be called only when MoreLogin account is logged in. Do not expose account, proxy passwords, ADB keys, or other sensitive data in logs or code. Double-check target ID lists before batch delete, cache clear, or app uninstall.
This skill no longer provides local ADB/SSH connection methods (adb-connect, adb-disconnect, adb-devices). Command execution safeguards: Restricted to local automation context (localhost workflows and local API). Remote cloud phone exec is disabled by default and must be explicitly enabled. exec command content is validated against a safe allowlist and blocks shell metacharacters. Generic api passthrough is endpoint-allowlisted by default.
MoreLogin is not installed, not running, or not logged in. Requirements are for regular browser automation (no MoreLogin environment isolation). Requirements depend on remote access to Local API over the network.
bin/morelogin.js lib/api.js local-api.yaml API-CONTRACT.md README-OFFICIAL-API.md
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.