OpenClaw é uma poderosa estrutura de agente de IA. Ao instalar a habilidade MoreLogin em seu espaço de trabalho OpenClaw, seu agente ganha a capacidade de gerenciar totalmente perfis de navegador e telefones em nuvem de forma autônoma.
- Node.js v18 ou posterior
- OpenClaw instalado e inicializado
- Aplicativo de desktop MoreLogin em execução na mesma máquina (API local em
http://localhost:40000)
npm install -g openclaw
openclaw init # Creates ~/.openclaw/workspace/Após a inicialização, a estrutura do espaço de trabalho fica assim:
~/.openclaw/
├── workspace/
│ ├── skills/ ← Skill plugins live here
│ │ └── morelogin/ ← MoreLogin skill (you will create this)
│ ├── TOOLS.md ← Tool configuration file
│ └── ...
└── config.yaml ← OpenClaw global configClone o repositório oficial de habilidades no diretório de habilidades do OpenClaw:
# Clone the skill into the correct location
git clone https://github.com/MoreLoginBrowser/morelogin-local-api-skill.git \
~/.openclaw/workspace/skills/morelogin
# Install dependencies
cd ~/.openclaw/workspace/skills/morelogin
npm installDe onde vem a habilidade?
O código-fonte da habilidade está hospedado no GitHub em MoreLoginBrowser/morelogin-local-api-skill. Este repositório contém o wrapper CLI e ligações de API que OpenClaw usa para interagir com MoreLogin.
Adicione a definição da ferramenta MoreLogin ao seu arquivo ~/.openclaw/workspace/TOOLS.md:
### Morelogin
- Install Path: /Applications/Morelogin.app (macOS) or C:\Program Files\MoreLogin (Windows)
- Default CDP Port: 9222
- Local API: http://localhost:40000Execute um teste rápido para confirmar se a habilidade está instalada corretamente:
openclaw morelogin browser list --page 1 --page-size 5Se o aplicativo MoreLogin estiver em execução, você deverá ver uma resposta JSON com os perfis do seu navegador (ou uma lista vazia).
Para atualizar para a versão mais recente:
cd ~/.openclaw/workspace/skills/morelogin
git pull origin main
npm installVerifique se há alterações recentes nas notas de versão antes de atualizar.
A habilidade MoreLogin expõe comandos CLI diretamente ao ambiente OpenClaw. O agente os invoca automaticamente durante o raciocínio, mas você também pode executá-los manualmente para teste.
# List profiles
openclaw morelogin browser list --page 1 --page-size 20
# Start a profile (Returns debugPort for CDP connection)
openclaw morelogin browser start --env-id abc123def
# View running status
openclaw morelogin browser status --env-id abc123def
# Close profile
openclaw morelogin browser close --env-id abc123def# List cloud phones
openclaw morelogin cloudphone list --page 1 --page-size 20
# Start/Stop
openclaw morelogin cloudphone start --id <cloudPhoneId>
openclaw morelogin cloudphone stop --id <cloudPhoneId>
# Get details (Includes ADB connection info)
openclaw morelogin cloudphone info --id <cloudPhoneId>
# Execute cloud phone command via ADB
openclaw morelogin cloudphone exec --id <cloudPhoneId> --command "ls /sdcard"# Proxy
openclaw morelogin proxy list
openclaw morelogin proxy add --payload '{"proxyIp":"1.2.3.4","proxyPort":8000,"proxyType":0}'
# Group
openclaw morelogin group list
openclaw morelogin group create --name "US-Group"Abaixo está um exemplo completo que cria um perfil de navegador, inicia-o, visita uma URL via CDP e fecha o perfil – tudo orquestrado pelo agente OpenClaw.
"Crie um novo perfil de navegador MoreLogin, abra google.com, faça uma captura de tela e feche-o."
# 1. Create a browser profile
openclaw morelogin browser create --name "demo-profile"
# → Returns: {"envId": "abc123def"}
# 2. Start the profile
openclaw morelogin browser start --env-id abc123def
# → Returns: {"debugPort": "9222", "webdriver": "/path/to/chromedriver"}
# 3. Connect via CDP (agent uses Puppeteer internally)
# The agent connects to ws://127.0.0.1:9222 and runs:
# - page.goto("https://www.google.com")
# - page.screenshot({path: "screenshot.png"})
# 4. Close the profile
openclaw morelogin browser close --env-id abc123defconst { execSync } = require('child_process');
const puppeteer = require('puppeteer-core');
async function main() {
// 1. Create profile
const createResult = JSON.parse(
execSync('openclaw morelogin browser create --name "demo-profile"').toString()
);
const envId = createResult.data.envId;
// 2. Start profile
const startResult = JSON.parse(
execSync(`openclaw morelogin browser start --env-id ${envId}`).toString()
);
const debugPort = startResult.data.debugPort;
// 3. Connect via CDP and automate
const browser = await puppeteer.connect({
browserURL: `http://127.0.0.1:${debugPort}`,
defaultViewport: null
});
const page = (await browser.pages())[0];
await page.goto('https://www.google.com');
await page.screenshot({ path: 'screenshot.png' });
console.log('Screenshot saved.');
// 4. Cleanup
await browser.disconnect();
execSync(`openclaw morelogin browser close --env-id ${envId}`);
console.log('Profile closed.');
}
main().catch(console.error);Quando você pede ao agente OpenClaw para "criar um perfil e fazer login em example.com", o agente irá:
- Chame
openclaw morelogin browser create(ou API equivalente) para obter umenvId. - Chame
openclaw morelogin browser startpara obter odebugPort. - Use uma ferramenta CDP (como Puppeteer/Playwright) para conectar-se ao
debugPorte executar as etapas de login. - Verifique o sucesso por meio de
openclaw morelogin browser status.
| Sintoma | Solução |
|---|---|
command not found: openclaw | Certifique-se de que o OpenClaw esteja instalado globalmente: npm install -g openclaw |
Error: connect ECONNREFUSED 127.0.0.1:40000 | Inicie o aplicativo de desktop MoreLogin antes de executar comandos |
| Diretório de habilidades ausente | Execute openclaw init para criar o espaço de trabalho e clone a habilidade |
| Dados obsoletos após atualização | Execute npm install novamente no diretório de habilidades após git pull |