Install
openclaw skills install moreloginManage MoreLogin anti-detect browser profiles and cloud phones through the official Local API (http://127.0.0.1:40000), including browser profile lifecycle,...
openclaw skills install moreloginManage 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).
http://127.0.0.1:40000v2.15.0+, logged-in local accountPrefer this Skill when:
MoreLogin, envId, uniqueId, cloudphoneBefore any operation:
http://127.0.0.1:40000.adb installed).local-api.yaml + API-CONTRACT.md as the canonical parameter source before constructing payloads.id vs ids, object vs array bodies).POST by default (except tag query GET /api/envtag/all).Content-Type: application/json.code first: 0 means success, non-zero use msg for error handling.envId for resource lookup; fall back to uniqueId when missing (browser profiles)./batch), always pass arrays and record changed objects.| Endpoint | Purpose |
|---|---|
POST /api/env/create/quick | Quick create profile |
POST /api/env/create/advanced | Advanced create (full fingerprint params) |
POST /api/env/fingerprint/refresh | Refresh device fingerprint |
POST /api/env/start | Start profile and return debug info |
POST /api/env/close | Close running profile |
POST /api/env/status | Get run status and debug info |
POST /api/env/page | Paginated profile list |
POST /api/env/detail | Get single profile detail |
POST /api/env/removeLocalCache | Clear local cache (cookies/localStorage etc.) |
POST /api/env/removeToRecycleBin/batch | Batch delete to recycle bin |
| Endpoint | Purpose |
|---|---|
POST /api/cloudphone/create | Create cloud phone |
POST /api/cloudphone/powerOn | Power on |
POST /api/cloudphone/powerOff | Power off |
POST /api/cloudphone/page | Paginated list |
POST /api/cloudphone/info | Get detail (including ADB info) |
POST /api/cloudphone/edit/batch | Batch edit config |
POST /api/cloudphone/delete/batch | Batch delete |
POST /api/cloudphone/newMachine | One-click new device |
POST /api/cloudphone/updateAdb | Enable/disable ADB |
| Endpoint | Purpose |
|---|---|
POST /api/cloudphone/uploadFile | Upload file to cloud phone |
POST /api/cloudphone/uploadUrl | Query upload status |
POST /api/cloudphone/setKeyBox | Set Keybox |
POST /api/cloudphone/app/install | Install app |
POST /api/cloudphone/app/page | Query app market list |
POST /api/cloudphone/app/installedList | Query installed apps |
POST /api/cloudphone/app/start | Start app |
POST /api/cloudphone/app/restart | Restart app |
POST /api/cloudphone/app/stop | Stop app |
POST /api/cloudphone/app/uninstall | Uninstall app |
| Endpoint | Purpose |
|---|---|
POST /api/proxyInfo/page | Query proxy list |
POST /api/proxyInfo/add | Add proxy |
POST /api/proxyInfo/update | Update proxy |
POST /api/proxyInfo/delete | Delete proxy |
POST /api/envgroup/page | Query groups |
POST /api/envgroup/create | Create group |
POST /api/envgroup/edit | Edit group |
POST /api/envgroup/delete | Delete group |
GET /api/envtag/all | Get all tags |
POST /api/envtag/create | Create tag |
POST /api/envtag/edit | Edit tag |
POST /api/envtag/delete | Delete tag |
envId from create/quick or page.start to launch the profile.status to verify run state and debugPort.close when done.page or create to obtain cloud phone id.powerOn to start.info to get ADB connection params.updateAdb when needed to enable ADB.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.start/powerOn operations, call status/info again before subsequent steps to confirm.This skill no longer provides local ADB/SSH connection methods (adb-connect, adb-disconnect, adb-devices).
Command execution safeguards:
exec is disabled by default and must be explicitly enabled.exec command content is validated against a safe allowlist and blocks shell metacharacters.api passthrough is endpoint-allowlisted by default.bin/morelogin.jslib/api.jslocal-api.yamlAPI-CONTRACT.mdREADME-OFFICIAL-API.mdbrew install android-platform-tools