{
  "schemaVersion": "1.0",
  "item": {
    "slug": "multiloginx",
    "name": "Multilogin X",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/MultiloginCom/multiloginx",
    "canonicalUrl": "https://clawhub.ai/MultiloginCom/multiloginx",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/multiloginx",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=multiloginx",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "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. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "multiloginx",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-05T21:44:11.193Z",
      "expiresAt": "2026-05-12T21:44:11.193Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=multiloginx",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=multiloginx",
        "contentDisposition": "attachment; filename=\"multiloginx-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "multiloginx"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/multiloginx"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/multiloginx",
    "agentPageUrl": "https://openagent3.xyz/skills/multiloginx/agent",
    "manifestUrl": "https://openagent3.xyz/skills/multiloginx/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/multiloginx/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "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. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Multilogin X",
        "body": "Manage anti-detect browser profiles via the xcli CLI."
      },
      {
        "title": "CRITICAL: Launcher must run FIRST",
        "body": "The mlx-launcher process MUST be running before ANY xcli command (except login) will work.\nIf you skip this, you WILL get \"connection refused\" or \"launcher not active\" errors."
      },
      {
        "title": "Version resolution",
        "body": "Both binaries have a /latest endpoint that returns the current version string:\n\nhttps://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/cli-mlx/latest       → e.g. \"0.0.72\"\nhttps://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/launcher-mlx/latest   → e.g. \"1.75.0\"\n\nDownload URLs follow the pattern:\n\nhttps://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/cli-mlx/{VERSION}/xcli_{PLATFORM}\nhttps://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/launcher-mlx/{VERSION}/launcher-{PLATFORM}\n\nPlatform suffixes:\n\nPlatformxclimlx-launcherLinux x64xcli_linux_amd64launcher-linux_amd64.binmacOS x64xcli_darwin_amd64launcher-darwin_amd64.binmacOS ARMxcli_darwin_arm64launcher-darwin_arm64.binWindowsxcli_windows_amd64.exelauncher-windows_amd64.exe"
      },
      {
        "title": "Install on Linux (VPS / Docker)",
        "body": "# Resolve latest versions\nCLI_VER=$(curl -sL \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/cli-mlx/latest\")\nLAUNCHER_VER=$(curl -sL \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/launcher-mlx/latest\")\necho \"Installing xcli $CLI_VER, launcher $LAUNCHER_VER\"\n\n# Download binaries\ncurl -L -o /usr/local/bin/xcli \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/cli-mlx/${CLI_VER}/xcli_linux_amd64\"\ncurl -L -o /usr/local/bin/mlx-launcher \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/launcher-mlx/${LAUNCHER_VER}/launcher-linux_amd64.bin\"\n\n# Make executable\nchmod +x /usr/local/bin/xcli /usr/local/bin/mlx-launcher\n\n# Verify\nxcli --help\nmlx-launcher --help"
      },
      {
        "title": "Install on macOS",
        "body": "# Detect architecture\nARCH=$(uname -m)\nif [ \"$ARCH\" = \"arm64\" ]; then\n  SUFFIX=\"darwin_arm64\"\nelse\n  SUFFIX=\"darwin_amd64\"\nfi\n\n# Resolve latest versions\nCLI_VER=$(curl -sL \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/cli-mlx/latest\")\nLAUNCHER_VER=$(curl -sL \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/launcher-mlx/latest\")\necho \"Installing xcli $CLI_VER, launcher $LAUNCHER_VER\"\n\n# Download binaries\ncurl -L -o /usr/local/bin/xcli \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/cli-mlx/${CLI_VER}/xcli_${SUFFIX}\"\ncurl -L -o /usr/local/bin/mlx-launcher \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/launcher-mlx/${LAUNCHER_VER}/launcher-${SUFFIX}.bin\"\n\n# Make executable\nchmod +x /usr/local/bin/xcli /usr/local/bin/mlx-launcher\n\n# macOS may quarantine downloaded binaries — remove the flag\nxattr -d com.apple.quarantine /usr/local/bin/xcli 2>/dev/null\nxattr -d com.apple.quarantine /usr/local/bin/mlx-launcher 2>/dev/null\n\n# Verify\nxcli --help\nmlx-launcher --help"
      },
      {
        "title": "Install on Windows",
        "body": "# Resolve latest versions\n$CLI_VER = (Invoke-WebRequest -Uri \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/cli-mlx/latest\").Content.Trim()\n$LAUNCHER_VER = (Invoke-WebRequest -Uri \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/launcher-mlx/latest\").Content.Trim()\nWrite-Host \"Installing xcli $CLI_VER, launcher $LAUNCHER_VER\"\n\n# Download binaries\nInvoke-WebRequest -Uri \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/cli-mlx/${CLI_VER}/xcli_windows_amd64.exe\" -OutFile \"$env:USERPROFILE\\xcli.exe\"\nInvoke-WebRequest -Uri \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/launcher-mlx/${LAUNCHER_VER}/launcher-windows_amd64.exe\" -OutFile \"$env:USERPROFILE\\mlx-launcher.exe\"\n\n# Add to PATH (current session)\n$env:PATH += \";$env:USERPROFILE\""
      },
      {
        "title": "Environment Detection",
        "body": "Detect your environment before running commands:\n\n# Am I in Docker?\nif [ -f /.dockerenv ]; then\n  echo \"DOCKER\"\nelse\n  echo \"BARE METAL\"\nfi\n\nBoth environments use the same xcli and mlx-launcher binaries — they must be in PATH."
      },
      {
        "title": "Headless (VPS / Docker) — Step by Step",
        "body": "This is the primary mode. No display, no GUI. Profiles run headless."
      },
      {
        "title": "Step 1: Start the launcher",
        "body": "mlx-launcher -port 45000 &\nsleep 5\n\nVerify:\n\nxcli launcher-info\n\nYou MUST see a version number before proceeding. If error — wait and retry."
      },
      {
        "title": "Step 2: Login",
        "body": "xcli login --username 'USER@EMAIL' --password 'PASSWORD'\n\nAsk the user for credentials if not provided. Tokens last ~24h, stored in ~/.config/xcli/."
      },
      {
        "title": "Step 3: Launch quick profiles",
        "body": "Quick profiles are disposable — deleted automatically when stopped.\n\nxcli profile-quick --browser-type mimic --os-type linux --automation puppeteer --headless\n\nLaunch 2 quick profiles:\n\nxcli profile-quick --browser-type mimic --os-type linux --automation puppeteer --headless\nxcli profile-quick --browser-type mimic --os-type linux --automation puppeteer --headless\n\nEach returns a profile ID and a port for Puppeteer/Selenium automation."
      },
      {
        "title": "Headless constraints",
        "body": "Always use --headless — no display server available.\nAlways use --os-type linux — must match the host OS.\nAlways use --browser-type mimic — stealthfox is NOT available on Linux.\nDo NOT use profile-create for disposable sessions — use profile-quick.\nDo NOT run xcli commands in background with & (only mlx-launcher)."
      },
      {
        "title": "Desktop (macOS / Windows / Linux with GUI)",
        "body": "When running on a machine with a display (e.g. a Mac node), profiles can open visible browser windows."
      },
      {
        "title": "Step 1: Start the launcher",
        "body": "mlx-launcher -port 45000 &\nsleep 5\nxcli launcher-info"
      },
      {
        "title": "Step 2: Login",
        "body": "xcli login --username 'USER@EMAIL' --password 'PASSWORD'"
      },
      {
        "title": "Step 3: Launch profiles (with GUI)",
        "body": "On macOS:\n\nxcli profile-quick --browser-type mimic --os-type macos --automation puppeteer\nxcli profile-quick --browser-type stealthfox --os-type macos --automation puppeteer\n\nOn Windows:\n\nxcli profile-quick --browser-type mimic --os-type windows --automation puppeteer\nxcli profile-quick --browser-type stealthfox --os-type windows --automation puppeteer\n\nNote: No --headless flag — browser windows will be visible."
      },
      {
        "title": "Desktop constraints",
        "body": "--os-type must match the actual OS (macos, windows, or linux).\nBoth mimic (Chromium) and stealthfox (Firefox) are available on macOS and Windows.\nOn Linux with GUI, only mimic is available."
      },
      {
        "title": "GUI via OpenClaw Node (VPS + Mac hybrid)",
        "body": "The most elegant setup: VPS runs 24/7 headless, Mac node handles GUI tasks on demand."
      },
      {
        "title": "Architecture",
        "body": "VPS (OpenClaw main agent, 24/7, headless)\n  ↕ paired via gateway\nMac (OpenClaw Node, paired device)\n  → runs Multilogin with visible browser windows\n  → VPS delegates GUI tasks here"
      },
      {
        "title": "When to use the Node",
        "body": "Use the VPS for:\n\nHeadless quick profiles (automation, scraping, batch tasks)\nAll non-GUI work\n\nDelegate to the Mac node when:\n\nUser wants to SEE the browser (visual inspection, manual interaction)\nA task requires a real display (CAPTCHAs, visual verification)\nstealthfox is needed (not available on Linux)\nDebugging a profile visually"
      },
      {
        "title": "How to delegate to the Node",
        "body": "From the VPS main agent, use sessions_spawn to send a task to the Mac node:\n\n{\n  \"tool\": \"sessions_spawn\",\n  \"agentId\": \"node-mac\",\n  \"message\": \"Start the Multilogin launcher and launch 2 quick profiles with GUI. Use: mlx-launcher -port 45000 & sleep 5 && xcli login --username 'USER' --password 'PASS' && xcli profile-quick --browser-type mimic --os-type macos --automation puppeteer && xcli profile-quick --browser-type stealthfox --os-type macos --automation puppeteer\"\n}\n\nThe node will:\n\nStart the launcher locally on the Mac\nLogin with the provided credentials\nLaunch profiles with visible browser windows\nReport back the profile IDs and ports"
      },
      {
        "title": "Setup requirements for the Node",
        "body": "The Mac node needs:\n\nxcli and mlx-launcher binaries for macOS in PATH (see Install on macOS above)\nNetwork access to Multilogin API (signin.multilogin.com)\nOpenClaw Node running and paired to the VPS gateway"
      },
      {
        "title": "General",
        "body": "CommandDescriptionloginLog in to your accountlauncher-infoGet info about the running launcher (app or agent)helpHelp for all commands"
      },
      {
        "title": "Folders",
        "body": "CommandDescriptioncreate-folderCreate a folder with a given namelist-folderView all available foldersremove-folderRemove a folder by ID (or list of IDs)update-folderUpdate folder details using its ID"
      },
      {
        "title": "Workspaces",
        "body": "CommandDescriptionlist-workspaceDisplay available workspacesswitch-workspaceSwitch to a different workspace"
      },
      {
        "title": "Proxies",
        "body": "CommandDescriptionproxy-countriesList available countries in proxy serviceproxy-regionsGet regions by country codeproxy-citiesGet cities by region codeproxy-getGet a proxy URL based on parameters"
      },
      {
        "title": "Profiles",
        "body": "CommandDescriptionprofile-quickLaunch a disposable quick profile (v4 API)profile-createCreate a new persistent profileprofile-templateCreate a new template for a browser profileprofile-startStart a profile by IDprofile-stopStop a profile by IDprofile-listList profiles in a given folderprofile-statStatistics about currently launched profilesprofile-statusStatus of given profile(s)profile-updateUpdate an existing profileprofile-cloneDuplicate a profileprofile-moveMove profile to a different folderprofile-removeRemove profiles by IDsprofile-restoreRestore a deleted profile from trashprofile-exportExport a profile into a fileprofile-export-statusShow profile export statusprofile-importImport a profile from a fileprofile-import-statusShow profile import statusprofile-cookie-importImport cookies to a profileprofile-cookie-exportExport cookies from a profile"
      },
      {
        "title": "Scripts",
        "body": "CommandDescriptionscript-listList available scripts in Script Runner folderscript-startRun a script in a Multilogin profilescript-stopStop a running scriptcookie-robotStart Cookie Robot on profile(s)"
      },
      {
        "title": "Objects (extensions, files, etc.)",
        "body": "CommandDescriptionobject-typesList object typesobject-listList objectsobject-metaFetch object metadataobject-createCreate an object (requires running agent)object-downloadDownload object to local storageobject-deleteDelete an objectobject-restoreRestore object from trashobject-statsDisplay object usage statisticsobject-convertConvert storage type (local ↔ cloud)enable-objectEnable object for profilesdisable-objectDisable object for profilesobject-extension-createCreate an extension object from a URL"
      },
      {
        "title": "Tags",
        "body": "CommandDescriptioncreate-tagCreate one or more tagstag-listList tags (with optional search filter)tag-removeRemove tags by IDstag-assignAssign tags to a profiletag-unassignUnassign tags from a profile"
      },
      {
        "title": "2FA",
        "body": "CommandDescriptionenable-2faEnable two-factor authenticationview-backup-codesView backup codesdisable-2fa-for-userDisable 2FA for userdisable-2fa-for-workspaceDisable 2FA for workspaceenable-2fa-for-workspaceEnable 2FA for workspace"
      },
      {
        "title": "Billing",
        "body": "CommandDescriptionreferral-codeGet referral codemultipointsGet multipoints balance"
      },
      {
        "title": "Quick reference flags",
        "body": "FlagValuesNotes--browser-typemimic, stealthfoxLinux: only mimic--os-typelinux, macos, windows, androidMust match host--automationpuppeteer, selenium--headless(no value)Required on headless servers--proxy-string\"host:port:user:pass\"Optional proxy--proxy-typehttp, https, socks5Required if using proxy--core-versione.g. 144.4Specific browser version"
      },
      {
        "title": "Troubleshooting",
        "body": "ProblemCauseFixconnection refused / launcher not activeLauncher not runningmlx-launcher -port 45000 & then sleep 5browser version not foundWrong os-type/browser-type comboUse --browser-type mimic --os-type linux on Linuxcontext deadline exceededLauncher downloading cores (first run)Wait 30-60s, retry. Cores are cached after first downloadtoken contains invalid segmentsNot logged inxcli loginUNAUTHORIZED_REQUESTToken expired (>24h)xcli login againNeed GUI but on VPSNo display serverDelegate to Mac node via sessions_spawnmacOS: \"unidentified developer\"Gatekeeper quarantineRun xattr -d com.apple.quarantine <binary>"
      }
    ],
    "body": "Multilogin X\n\nManage anti-detect browser profiles via the xcli CLI.\n\nCRITICAL: Launcher must run FIRST\n\nThe mlx-launcher process MUST be running before ANY xcli command (except login) will work. If you skip this, you WILL get \"connection refused\" or \"launcher not active\" errors.\n\nInstallation\nVersion resolution\n\nBoth binaries have a /latest endpoint that returns the current version string:\n\nhttps://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/cli-mlx/latest       → e.g. \"0.0.72\"\nhttps://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/launcher-mlx/latest   → e.g. \"1.75.0\"\n\n\nDownload URLs follow the pattern:\n\nhttps://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/cli-mlx/{VERSION}/xcli_{PLATFORM}\nhttps://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/launcher-mlx/{VERSION}/launcher-{PLATFORM}\n\n\nPlatform suffixes:\n\nPlatform\txcli\tmlx-launcher\nLinux x64\txcli_linux_amd64\tlauncher-linux_amd64.bin\nmacOS x64\txcli_darwin_amd64\tlauncher-darwin_amd64.bin\nmacOS ARM\txcli_darwin_arm64\tlauncher-darwin_arm64.bin\nWindows\txcli_windows_amd64.exe\tlauncher-windows_amd64.exe\nInstall on Linux (VPS / Docker)\n# Resolve latest versions\nCLI_VER=$(curl -sL \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/cli-mlx/latest\")\nLAUNCHER_VER=$(curl -sL \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/launcher-mlx/latest\")\necho \"Installing xcli $CLI_VER, launcher $LAUNCHER_VER\"\n\n# Download binaries\ncurl -L -o /usr/local/bin/xcli \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/cli-mlx/${CLI_VER}/xcli_linux_amd64\"\ncurl -L -o /usr/local/bin/mlx-launcher \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/launcher-mlx/${LAUNCHER_VER}/launcher-linux_amd64.bin\"\n\n# Make executable\nchmod +x /usr/local/bin/xcli /usr/local/bin/mlx-launcher\n\n# Verify\nxcli --help\nmlx-launcher --help\n\nInstall on macOS\n# Detect architecture\nARCH=$(uname -m)\nif [ \"$ARCH\" = \"arm64\" ]; then\n  SUFFIX=\"darwin_arm64\"\nelse\n  SUFFIX=\"darwin_amd64\"\nfi\n\n# Resolve latest versions\nCLI_VER=$(curl -sL \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/cli-mlx/latest\")\nLAUNCHER_VER=$(curl -sL \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/launcher-mlx/latest\")\necho \"Installing xcli $CLI_VER, launcher $LAUNCHER_VER\"\n\n# Download binaries\ncurl -L -o /usr/local/bin/xcli \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/cli-mlx/${CLI_VER}/xcli_${SUFFIX}\"\ncurl -L -o /usr/local/bin/mlx-launcher \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/launcher-mlx/${LAUNCHER_VER}/launcher-${SUFFIX}.bin\"\n\n# Make executable\nchmod +x /usr/local/bin/xcli /usr/local/bin/mlx-launcher\n\n# macOS may quarantine downloaded binaries — remove the flag\nxattr -d com.apple.quarantine /usr/local/bin/xcli 2>/dev/null\nxattr -d com.apple.quarantine /usr/local/bin/mlx-launcher 2>/dev/null\n\n# Verify\nxcli --help\nmlx-launcher --help\n\nInstall on Windows\n# Resolve latest versions\n$CLI_VER = (Invoke-WebRequest -Uri \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/cli-mlx/latest\").Content.Trim()\n$LAUNCHER_VER = (Invoke-WebRequest -Uri \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/launcher-mlx/latest\").Content.Trim()\nWrite-Host \"Installing xcli $CLI_VER, launcher $LAUNCHER_VER\"\n\n# Download binaries\nInvoke-WebRequest -Uri \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/cli-mlx/${CLI_VER}/xcli_windows_amd64.exe\" -OutFile \"$env:USERPROFILE\\xcli.exe\"\nInvoke-WebRequest -Uri \"https://ml000x-dev-dists.s3.eu-north-1.amazonaws.com/launcher-mlx/${LAUNCHER_VER}/launcher-windows_amd64.exe\" -OutFile \"$env:USERPROFILE\\mlx-launcher.exe\"\n\n# Add to PATH (current session)\n$env:PATH += \";$env:USERPROFILE\"\n\nEnvironment Detection\n\nDetect your environment before running commands:\n\n# Am I in Docker?\nif [ -f /.dockerenv ]; then\n  echo \"DOCKER\"\nelse\n  echo \"BARE METAL\"\nfi\n\n\nBoth environments use the same xcli and mlx-launcher binaries — they must be in PATH.\n\nHeadless (VPS / Docker) — Step by Step\n\nThis is the primary mode. No display, no GUI. Profiles run headless.\n\nStep 1: Start the launcher\nmlx-launcher -port 45000 &\nsleep 5\n\n\nVerify:\n\nxcli launcher-info\n\n\nYou MUST see a version number before proceeding. If error — wait and retry.\n\nStep 2: Login\nxcli login --username 'USER@EMAIL' --password 'PASSWORD'\n\n\nAsk the user for credentials if not provided. Tokens last ~24h, stored in ~/.config/xcli/.\n\nStep 3: Launch quick profiles\n\nQuick profiles are disposable — deleted automatically when stopped.\n\nxcli profile-quick --browser-type mimic --os-type linux --automation puppeteer --headless\n\n\nLaunch 2 quick profiles:\n\nxcli profile-quick --browser-type mimic --os-type linux --automation puppeteer --headless\nxcli profile-quick --browser-type mimic --os-type linux --automation puppeteer --headless\n\n\nEach returns a profile ID and a port for Puppeteer/Selenium automation.\n\nHeadless constraints\nAlways use --headless — no display server available.\nAlways use --os-type linux — must match the host OS.\nAlways use --browser-type mimic — stealthfox is NOT available on Linux.\nDo NOT use profile-create for disposable sessions — use profile-quick.\nDo NOT run xcli commands in background with & (only mlx-launcher).\nDesktop (macOS / Windows / Linux with GUI)\n\nWhen running on a machine with a display (e.g. a Mac node), profiles can open visible browser windows.\n\nStep 1: Start the launcher\nmlx-launcher -port 45000 &\nsleep 5\nxcli launcher-info\n\nStep 2: Login\nxcli login --username 'USER@EMAIL' --password 'PASSWORD'\n\nStep 3: Launch profiles (with GUI)\n\nOn macOS:\n\nxcli profile-quick --browser-type mimic --os-type macos --automation puppeteer\nxcli profile-quick --browser-type stealthfox --os-type macos --automation puppeteer\n\n\nOn Windows:\n\nxcli profile-quick --browser-type mimic --os-type windows --automation puppeteer\nxcli profile-quick --browser-type stealthfox --os-type windows --automation puppeteer\n\n\nNote: No --headless flag — browser windows will be visible.\n\nDesktop constraints\n--os-type must match the actual OS (macos, windows, or linux).\nBoth mimic (Chromium) and stealthfox (Firefox) are available on macOS and Windows.\nOn Linux with GUI, only mimic is available.\nGUI via OpenClaw Node (VPS + Mac hybrid)\n\nThe most elegant setup: VPS runs 24/7 headless, Mac node handles GUI tasks on demand.\n\nArchitecture\nVPS (OpenClaw main agent, 24/7, headless)\n  ↕ paired via gateway\nMac (OpenClaw Node, paired device)\n  → runs Multilogin with visible browser windows\n  → VPS delegates GUI tasks here\n\nWhen to use the Node\n\nUse the VPS for:\n\nHeadless quick profiles (automation, scraping, batch tasks)\nAll non-GUI work\n\nDelegate to the Mac node when:\n\nUser wants to SEE the browser (visual inspection, manual interaction)\nA task requires a real display (CAPTCHAs, visual verification)\nstealthfox is needed (not available on Linux)\nDebugging a profile visually\nHow to delegate to the Node\n\nFrom the VPS main agent, use sessions_spawn to send a task to the Mac node:\n\n{\n  \"tool\": \"sessions_spawn\",\n  \"agentId\": \"node-mac\",\n  \"message\": \"Start the Multilogin launcher and launch 2 quick profiles with GUI. Use: mlx-launcher -port 45000 & sleep 5 && xcli login --username 'USER' --password 'PASS' && xcli profile-quick --browser-type mimic --os-type macos --automation puppeteer && xcli profile-quick --browser-type stealthfox --os-type macos --automation puppeteer\"\n}\n\n\nThe node will:\n\nStart the launcher locally on the Mac\nLogin with the provided credentials\nLaunch profiles with visible browser windows\nReport back the profile IDs and ports\nSetup requirements for the Node\n\nThe Mac node needs:\n\nxcli and mlx-launcher binaries for macOS in PATH (see Install on macOS above)\nNetwork access to Multilogin API (signin.multilogin.com)\nOpenClaw Node running and paired to the VPS gateway\nFull CLI Command Reference\nGeneral\nCommand\tDescription\nlogin\tLog in to your account\nlauncher-info\tGet info about the running launcher (app or agent)\nhelp\tHelp for all commands\nFolders\nCommand\tDescription\ncreate-folder\tCreate a folder with a given name\nlist-folder\tView all available folders\nremove-folder\tRemove a folder by ID (or list of IDs)\nupdate-folder\tUpdate folder details using its ID\nWorkspaces\nCommand\tDescription\nlist-workspace\tDisplay available workspaces\nswitch-workspace\tSwitch to a different workspace\nProxies\nCommand\tDescription\nproxy-countries\tList available countries in proxy service\nproxy-regions\tGet regions by country code\nproxy-cities\tGet cities by region code\nproxy-get\tGet a proxy URL based on parameters\nProfiles\nCommand\tDescription\nprofile-quick\tLaunch a disposable quick profile (v4 API)\nprofile-create\tCreate a new persistent profile\nprofile-template\tCreate a new template for a browser profile\nprofile-start\tStart a profile by ID\nprofile-stop\tStop a profile by ID\nprofile-list\tList profiles in a given folder\nprofile-stat\tStatistics about currently launched profiles\nprofile-status\tStatus of given profile(s)\nprofile-update\tUpdate an existing profile\nprofile-clone\tDuplicate a profile\nprofile-move\tMove profile to a different folder\nprofile-remove\tRemove profiles by IDs\nprofile-restore\tRestore a deleted profile from trash\nprofile-export\tExport a profile into a file\nprofile-export-status\tShow profile export status\nprofile-import\tImport a profile from a file\nprofile-import-status\tShow profile import status\nprofile-cookie-import\tImport cookies to a profile\nprofile-cookie-export\tExport cookies from a profile\nScripts\nCommand\tDescription\nscript-list\tList available scripts in Script Runner folder\nscript-start\tRun a script in a Multilogin profile\nscript-stop\tStop a running script\ncookie-robot\tStart Cookie Robot on profile(s)\nObjects (extensions, files, etc.)\nCommand\tDescription\nobject-types\tList object types\nobject-list\tList objects\nobject-meta\tFetch object metadata\nobject-create\tCreate an object (requires running agent)\nobject-download\tDownload object to local storage\nobject-delete\tDelete an object\nobject-restore\tRestore object from trash\nobject-stats\tDisplay object usage statistics\nobject-convert\tConvert storage type (local ↔ cloud)\nenable-object\tEnable object for profiles\ndisable-object\tDisable object for profiles\nobject-extension-create\tCreate an extension object from a URL\nTags\nCommand\tDescription\ncreate-tag\tCreate one or more tags\ntag-list\tList tags (with optional search filter)\ntag-remove\tRemove tags by IDs\ntag-assign\tAssign tags to a profile\ntag-unassign\tUnassign tags from a profile\n2FA\nCommand\tDescription\nenable-2fa\tEnable two-factor authentication\nview-backup-codes\tView backup codes\ndisable-2fa-for-user\tDisable 2FA for user\ndisable-2fa-for-workspace\tDisable 2FA for workspace\nenable-2fa-for-workspace\tEnable 2FA for workspace\nBilling\nCommand\tDescription\nreferral-code\tGet referral code\nmultipoints\tGet multipoints balance\nQuick reference flags\nFlag\tValues\tNotes\n--browser-type\tmimic, stealthfox\tLinux: only mimic\n--os-type\tlinux, macos, windows, android\tMust match host\n--automation\tpuppeteer, selenium\t\n--headless\t(no value)\tRequired on headless servers\n--proxy-string\t\"host:port:user:pass\"\tOptional proxy\n--proxy-type\thttp, https, socks5\tRequired if using proxy\n--core-version\te.g. 144.4\tSpecific browser version\nTroubleshooting\nProblem\tCause\tFix\nconnection refused / launcher not active\tLauncher not running\tmlx-launcher -port 45000 & then sleep 5\nbrowser version not found\tWrong os-type/browser-type combo\tUse --browser-type mimic --os-type linux on Linux\ncontext deadline exceeded\tLauncher downloading cores (first run)\tWait 30-60s, retry. Cores are cached after first download\ntoken contains invalid segments\tNot logged in\txcli login\nUNAUTHORIZED_REQUEST\tToken expired (>24h)\txcli login again\nNeed GUI but on VPS\tNo display server\tDelegate to Mac node via sessions_spawn\nmacOS: \"unidentified developer\"\tGatekeeper quarantine\tRun xattr -d com.apple.quarantine <binary>"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/MultiloginCom/multiloginx",
    "publisherUrl": "https://clawhub.ai/MultiloginCom/multiloginx",
    "owner": "MultiloginCom",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/multiloginx",
    "downloadUrl": "https://openagent3.xyz/downloads/multiloginx",
    "agentUrl": "https://openagent3.xyz/skills/multiloginx/agent",
    "manifestUrl": "https://openagent3.xyz/skills/multiloginx/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/multiloginx/agent.md"
  }
}