# Descripción general de la CLI

`ml-cli` es una interfaz de línea de comandos para el `httpServer` local de MoreLogin. Traduce los argumentos de la CLI en solicitudes HTTP y los reenvía a las API locales expuestas por el cliente MoreLogin.

## Descripción general

**¿Para quién es?**
Ingenieros de DevOps, ingenieros de automatización de control de calidad y desarrolladores que prefieren trabajar en la terminal o necesitan integrar MoreLogin en canalizaciones de CI/CD (como GitHub Actions, Jenkins o scripts de shell).

**¿Qué puede hacer?**

- Llame a las API locales de MoreLogin directamente desde una terminal sin escribir el código de solicitud HTTP.
- Administre entornos de navegador, servidores proxy, teléfonos en la nube y programaciones desde una interfaz unificada.
- Utilice indicadores CLI estables en lugar de crear cargas útiles JSON manualmente.


**¿Cómo empezar?**

1. Lea los **Requisitos previos** a continuación.
2. Descargue e instale la CLI para su plataforma.
3. Consulte el [Inicio rápido](/es/cli/quick-start) para ejecutar su primer comando.


## Requisitos previos

Antes de usar `ml-cli`, asegúrese de que se cumplan los siguientes requisitos:

- **El cliente de escritorio MoreLogin** está instalado y ejecutándose en la misma máquina
- Tienes una cuenta MoreLogin activa con **credenciales API** (ID API + clave API)


## Descarga e instalación

Descargue el binario `ml-cli` más reciente para su plataforma:

| Plataforma | Arquitectura | Enlace |
|  --- | --- | --- |
| ventanas | x64 | [descargar](https://get.morelogin.com/client/prod/win/x64/2.6.1/ml-cli.exe) |
| macos | x64 (Inteligencia) | [descargar](https://get.morelogin.com/client/prod/mac/x64/2.6.1/ml-cli) |
| macos | arm64 (silicona de Apple) | [descargar](https://get.morelogin.com/client/prod/mac/arm64/2.6.1/ml-cli) |
| linux | x64 | [descargar](https://get.morelogin.com/client/prod/linux/x64/2.6.1/ml-cli) |


### ventanas

1. Cree un directorio para la CLI, por ejemplo `C:\Program Files\MoreLogin\`:

```powershell
New-Item -ItemType Directory -Force -Path "C:\Program Files\MoreLogin"
```
2. Mueva el `ml-cli.exe` descargado a ese directorio.
3. Agregue el directorio a su 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. **Reinicia tu terminal** (o abre uno nuevo) para que el cambio surta efecto.
5. Verificar:

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


### macos

1. Haga el binario ejecutable:

```bash
chmod +x ml-cli
```
2. Muévelo a un directorio en tu `PATH`:

```bash
sudo mv ml-cli /usr/local/bin/
```
> Si `/usr/local/bin` no existe, créelo primero: `sudo mkdir -p /usr/local/bin`
3. En macOS, Gatekeeper puede bloquear el binario descargado. Eliminar el atributo de cuarentena:

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

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


### linux

1. Haga el binario ejecutable:

```bash
chmod +x ml-cli
```
2. Muévelo a un directorio en tu `PATH`:

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

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


Una vez instalado, consulte [Inicio rápido](/es/cli/quick-start) para conectarse al cliente MoreLogin y ejecutar su primer comando.

## Capacidades principales

La CLI actual cubre estos grupos de recursos:

- estado del servicio e inicio de sesión
- gestión del entorno del navegador a través de `env`
- gestión de teléfonos en la nube a través de `cloudphone`
- gestión de grupos a través de `group`
- gestión de etiquetas a través de `tag`
- gestión de proxy a través de `proxy`
- gestión de horarios de teléfonos en la nube a través de `schedule`


## Solicitar modelo

La CLI admite dos estilos de entrada:

- indicadores explícitos, como `--env-id` o `--group-name`
- JSON sin formato a través de `--json-data`


Se pueden combinar. Las reglas de fusión son:

- `--json-data` proporciona el cuerpo de la solicitud base
- Los indicadores CLI explícitos anulan las claves coincidentes de `--json-data`


Esto es útil para puntos finales con muchos campos o cargas útiles anidadas donde las banderas dedicadas serían demasiado pesadas.

## Códigos de salida

| Código | Significado |
|  --- | --- |
| CODIGO_PH_0 | La solicitud HTTP se completó y se recibió una respuesta. Verifique el cuerpo JSON para verificar el éxito o el fracaso del negocio. |
| CODIGO_PH_0 | La validación de la CLI local falló o el comando no es compatible con la plataforma actual. |
| CODIGO_PH_0 | Error en la resolución del puerto, error en el análisis JSON o no se pudo enviar la solicitud. |


## Resolución de puertos y solución de problemas

La CLI necesita encontrar el puerto `httpServer` local para enviar solicitudes. Comprueba en este orden:

1. Bandera `--port`: pasa explícitamente el puerto en cada llamada
2. Variable de entorno `ML_PORT`: configurada una vez por sesión
3. Descubrimiento automático de IPC: la CLI lee el puerto desde una tubería IPC local (no se necesita configuración)


Rutas IPC predeterminadas:

| Plataforma | Camino |
|  --- | --- |
| macOS/Linux | CODIGO_PH_0 |
| ventanas | CODIGO_PH_0 |


Si ve el error **"No se pudo detectar el puerto MoreLogin"**, verifique:

- ¿Se está ejecutando el cliente de escritorio MoreLogin?
- Si usa `--port`, ¿es correcto el número de puerto?
- En Linux/macOS, ¿existe `/tmp/MoreLogin-cli`?


## Mapa de documentación

- [Inicio rápido](/es/cli/quick-start)
- [Comandos](/es/cli/commands)