# Visão geral da CLI

`ml-cli` é uma interface de linha de comando para o `httpServer` local do MoreLogin. Ele traduz argumentos CLI em solicitações HTTP e os encaminha para as APIs locais expostas pelo cliente MoreLogin.

## Visão geral

**Para quem é?**
Engenheiros de DevOps, engenheiros de automação de controle de qualidade e desenvolvedores que preferem trabalhar no terminal ou precisam integrar o MoreLogin em pipelines de CI/CD (como GitHub Actions, Jenkins ou scripts de shell).

**O que isso pode fazer?**

- Chame APIs locais MoreLogin diretamente de um terminal sem escrever código de solicitação HTTP.
- Gerencie ambientes de navegador, proxies, telefones em nuvem e programações a partir de uma interface unificada.
- Use sinalizadores CLI estáveis ​​em vez de criar manualmente cargas JSON.


**Como começar?**

1. Leia os **Pré-requisitos** abaixo.
2. Baixe e instale a CLI para sua plataforma.
3. Verifique o [Início rápido](/pt/cli/quick-start) para executar seu primeiro comando.


## Pré-requisitos

Antes de usar `ml-cli`, certifique-se de que os seguintes requisitos sejam atendidos:

- **O cliente de desktop MoreLogin** está instalado e em execução na mesma máquina
- Você tem uma conta MoreLogin ativa com **credenciais de API** (API ID + API Key)


## Download e instalação

Baixe o binário `ml-cli` mais recente para sua plataforma:

| Plataforma | Arquitetura | Ligação |
|  --- | --- | --- |
| Janelas | x64 | [baixar](https://get.morelogin.com/client/prod/win/x64/2.6.1/ml-cli.exe) |
| macOS | x64 (Intel) | [baixar](https://get.morelogin.com/client/prod/mac/x64/2.6.1/ml-cli) |
| macOS | arm64 (silício de maçã) | [baixar](https://get.morelogin.com/client/prod/mac/arm64/2.6.1/ml-cli) |
| Linux | x64 | [baixar](https://get.morelogin.com/client/prod/linux/x64/2.6.1/ml-cli) |


### Janelas

1. Crie um diretório para a CLI, por exemplo `C:\Program Files\MoreLogin\`:

```powershell
New-Item -ItemType Directory -Force -Path "C:\Program Files\MoreLogin"
```
2. Mova o `ml-cli.exe` baixado para esse diretório.
3. Adicione o diretório ao seu sistema `PATH`:

```powershell
# Add to the current user's PATH permanently
$currentPath = [Environment]::GetEnvironmentVariable("Path", "User")
[Environment]::SetEnvironmentVariable("Path", "$currentPath;C:\Program Files\MoreLogin", "User")
```
4. **Reinicie seu terminal** (ou abra um novo) para que a alteração tenha efeito.
5. Verificar:

```powershell
ml-cli --version
```


### macOS

1. Torne o binário executável:

```bash
chmod +x ml-cli
```
2. Mova-o para um diretório em seu `PATH`:

```bash
sudo mv ml-cli /usr/local/bin/
```
> Se `/usr/local/bin` não existir, crie-o primeiro: `sudo mkdir -p /usr/local/bin`
3. No macOS, o binário baixado pode ser bloqueado pelo Gatekeeper. Remova o atributo de quarentena:

```bash
xattr -d com.apple.quarantine /usr/local/bin/ml-cli
```
4. Verifique:

```bash
ml-cli --version
```


### Linux

1. Torne o binário executável:

```bash
chmod +x ml-cli
```
2. Mova-o para um diretório em seu `PATH`:

```bash
sudo mv ml-cli /usr/local/bin/
```
3. Verifique:

```bash
ml-cli --version
```


Depois de instalado, consulte [Início rápido](/pt/cli/quick-start) para conectar-se ao cliente MoreLogin e executar seu primeiro comando.

## Capacidades principais

A CLI atual abrange estes grupos de recursos:

- status do serviço e login
- gerenciamento do ambiente do navegador via `env`
- gerenciamento de telefone na nuvem via `cloudphone`
- gerenciamento de grupo via `group`
- gerenciamento de tags via `tag`
- gerenciamento de proxy via `proxy`
- gerenciamento de agendamento de telefone na nuvem via `schedule`


## Modelo de solicitação

A CLI oferece suporte a dois estilos de entrada:

- sinalizadores explícitos, como `--env-id` ou `--group-name`
- JSON bruto via `--json-data`


Eles podem ser combinados. As regras de mesclagem são:

- `--json-data` fornece o corpo da solicitação base
- sinalizadores CLI explícitos substituem chaves correspondentes de `--json-data`


Isso é útil para endpoints com muitos campos ou cargas aninhadas onde sinalizadores dedicados seriam muito pesados.

## Códigos de saída

| Código | Significado |
|  --- | --- |
| `0` | A solicitação HTTP foi concluída e uma resposta foi recebida. Verifique o corpo JSON para ver se há sucesso ou fracasso nos negócios. |
| `1` | A validação da CLI local falhou ou o comando não é suportado na plataforma atual. |
| `2` | Falha na resolução da porta, falha na análise JSON ou não foi possível enviar a solicitação. |


## Resolução e solução de problemas de porta

A CLI precisa encontrar a porta `httpServer` local para enviar solicitações. Ele verifica nesta ordem:

1. Sinalizador `--port` – passe explicitamente a porta em cada chamada
2. Variável de ambiente `ML_PORT` — definida uma vez por sessão
3. Descoberta automática de IPC — a CLI lê a porta de um canal IPC local (nenhuma configuração necessária)


Caminhos IPC padrão:

| Plataforma | Caminho |
|  --- | --- |
| MacOS/Linux | `/tmp/MoreLogin-cli` |
| Janelas | `\\.\pipe\MoreLogin-cli` |


Se você vir o erro **"Não foi possível detectar a porta MoreLogin"**, verifique:

- O cliente de desktop MoreLogin está em execução?
- Se estiver usando `--port`, o número da porta está correto?
- No Linux/macOS, `/tmp/MoreLogin-cli` existe?


## Mapa de Documentação

- [Início rápido](/pt/cli/quick-start)
- [Comandos](/pt/cli/commands)