# Referencia de CLI

El `clore` La CLI te permite gestionar el mercado de GPU de Clore.ai directamente desde tu terminal: busca GPUs, despliega instancias, conéctate por SSH y gestiona pedidos sin escribir código.

***

## Instalación

```bash
pip install clore-ai
```

Esto instala tanto el SDK de Python como el `clore` comando CLI.

**Requisitos:** Python 3.9+

***

## Configuración

### Establece tu clave API

Obtén tu clave desde el [panel de Clore.ai](https://clore.ai) → **API** sección, luego configura:

```bash
clore config set api_key TU_CLAVE_API
```

Esto guarda la clave en `~/.clore/config.json`.

### O usa una variable de entorno

```bash
export CLORE_API_KEY=tu_clave_api_aqui
```

### Ver configuración actual

```bash
# Mostrar toda la configuración
clore config show

# Obtener un valor específico
clore config get api_key
```

***

## Comandos

| Comando                               | Descripción                                  |
| ------------------------------------- | -------------------------------------------- |
| `clore search`                        | Buscar en el mercado de GPU                  |
| `clore deploy <server_id>`            | Crear un nuevo pedido (alquilar un servidor) |
| `clore orders`                        | Listar tus pedidos                           |
| `clore cancel <order_id>`             | Cancelar un pedido                           |
| `clore ssh <order_id>`                | Conectarse por SSH a un pedido activo        |
| `clore wallets`                       | Mostrar saldos de billetera                  |
| `clore servers`                       | Listar tus servidores alojados               |
| `clore server-config <name>`          | Obtener configuración del servidor           |
| `clore spot <server_id>`              | Ver el mercado spot de un servidor           |
| `clore spot-price <order_id> <price>` | Establecer precio spot                       |
| `clore config set <key> <value>`      | Establecer un valor de configuración         |
| `clore config get <key>`              | Obtener un valor de configuración            |
| `clore config show`                   | Mostrar toda la configuración                |
| `clore --version`                     | Mostrar versión                              |

***

## Uso detallado

### `clore search`

Busca en el mercado de GPU con filtros y ordenamiento.

```bash
# Listar todos los servidores disponibles (ordenados por precio, top 20)
clore search

# Filtrar por modelo de GPU
clore search --gpu "RTX 4090"

# Filtrar por GPU y precio máximo
clore search --gpu "RTX 4090" --max-price 5.0

# Equipos con múltiples GPUs
clore search --min-gpu 4

# Ordenar por cantidad de GPU, mostrar top 10
clore search --sort gpu --limit 10

# Combinar filtros
clore search --gpu "A100" --min-ram 128 --max-price 10.0 --sort price --limit 5
```

**Opciones:**

| Opción        | Tipo   | Descripción                                       |
| ------------- | ------ | ------------------------------------------------- |
| `--gpu`       | texto  | Filtrar por modelo de GPU (p. ej. `"RTX 4090"`)   |
| `--min-gpu`   | int    | Cantidad mínima de GPUs                           |
| `--min-ram`   | float  | RAM mínima en GB                                  |
| `--max-price` | float  | Precio máximo en USD/hora                         |
| `--sort`      | opción | Ordenar por: `precio` (por defecto), `gpu`, `ram` |
| `--limit`     | int    | Máx. resultados a mostrar (por defecto: 20)       |

**Ejemplo de salida:**

```
🔍 Mercado de GPU
┏━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ ID  ┃ GPU                             ┃ Cant. ┃ RAM (GB) ┃ CPU                          ┃ Precio/h (USD) ┃ Ubicación ┃
┡━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ 123 │ 1x NVIDIA GeForce RTX 4090      │     1 │    64.0  │ AMD Ryzen 9 5900X            │       $0.3200 │ EE. UU.  │
│ 456 │ 2x NVIDIA GeForce RTX 4090      │     2 │   128.0  │ Intel Core i9-13900K         │       $0.5800 │ DE       │
└─────┴─────────────────────────────────┴───────┴──────────┴──────────────────────────────┴───────────────┴──────────┘
Mostrando 2 servidores
```

***

### `clore deploy <server_id>`

Crea un nuevo pedido para alquilar un servidor GPU.

```bash
# Pedido bajo demanda con SSH
clore deploy 123 \
  --image cloreai/ubuntu22.04-cuda12 \
  --type on-demand \
  --currency bitcoin \
  --ssh-password MySecurePass123 \
  --port 22:tcp \
  --port 8888:http

# Pedido spot
clore deploy 123 \
  --image cloreai/pytorch \
  --type spot \
  --currency bitcoin \
  --spot-price 0.000005 \
  --port 22:tcp

# Con variables de entorno
clore deploy 123 \
  --image cloreai/ubuntu22.04-cuda12 \
  --type on-demand \
  --currency bitcoin \
  --ssh-password MyPass123 \
  --port 22:tcp \
  --env WANDB_API_KEY=your_key \
  --env HF_TOKEN=your_token
```

**Argumentos:**

| Argumento   | Descripción                                            |
| ----------- | ------------------------------------------------------ |
| `server_id` | ID del servidor a alquilar (obtener de `clore search`) |

**Opciones:**

| Opción           | Tipo   | Requerido | Descripción                                               |
| ---------------- | ------ | --------- | --------------------------------------------------------- |
| `--image`        | texto  | Sí        | Imagen Docker (p. ej. `cloreai/ubuntu22.04-cuda12`)       |
| `--type`         | opción | Sí        | `on-demand` o `spot`                                      |
| `--currency`     | texto  | Sí        | Moneda de pago (p. ej. `bitcoin`)                         |
| `--ssh-password` | texto  | No        | Contraseña SSH (alfanumérica, máximo 32 caracteres)       |
| `--ssh-key`      | texto  | No        | Clave pública SSH                                         |
| `--port`         | texto  | No        | Mapeo de puertos (repetible), formato: `PUERTO:PROTOCOLO` |
| `--env`          | texto  | No        | Variable de entorno (repetible), formato: `CLAVE=VALOR`   |
| `--spot-price`   | float  | No        | Precio spot por día (requerido para pedidos spot)         |

***

### `clore orders`

Lista tus pedidos activos.

```bash
# Pedidos activos
clore orders

# Incluir pedidos completados/expirados
clore orders --completed
```

**Opciones:**

| Opción        | Descripción                           |
| ------------- | ------------------------------------- |
| `--completed` | Incluir pedidos completados/expirados |

**Ejemplo de salida:**

```
📦 Mis Pedidos
┏━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ID ┃ Server ID ┃ Tipo      ┃ Estado ┃ Imagen                             ┃ IP                      ┃
┡━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ 38 │ 6         │ on-demand │ Activo │ cloreai/ubuntu22.04-cuda12        │ n1.c1.clorecloud.net    │
└────┴───────────┴───────────┴────────┴───────────────────────────────────┴─────────────────────────┘
Total: 1 pedido(s)
```

***

### `clore cancel <order_id>`

Cancelar un pedido activo.

```bash
# Cancelar pedido
clore cancel 38

# Cancelar con informe de incidencia
clore cancel 38 --issue "La GPU se estaba sobrecalentando"
```

**Argumentos:**

| Argumento  | Descripción              |
| ---------- | ------------------------ |
| `order_id` | ID del pedido a cancelar |

**Opciones:**

| Opción    | Descripción                                  |
| --------- | -------------------------------------------- |
| `--issue` | Razón de cancelación / informe de incidencia |

***

### `clore ssh <order_id>`

Conexión automática vía SSH a un pedido en ejecución. La CLI resuelve el nombre de host y el puerto a partir de los detalles de tu pedido.

```bash
# Conectar como root (por defecto)
clore ssh 38

# Conectar como otro usuario
clore ssh 38 --user ubuntu
```

**Argumentos:**

| Argumento  | Descripción                     |
| ---------- | ------------------------------- |
| `order_id` | ID del pedido al que conectarse |

**Opciones:**

| Opción   | Predeterminado | Descripción           |
| -------- | -------------- | --------------------- |
| `--user` | `root`         | Nombre de usuario SSH |

***

### `clore wallets`

Muestra tus saldos de billetera y direcciones de depósito.

```bash
clore wallets
```

**Ejemplo de salida:**

```
💰 Saldos de Billetera
┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Moneda           ┃ Saldo        ┃ Dirección de Depósito                     ┃
┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ bitcoin          │ 0.00153176   │ tb1q6erw7v02t7hakgmlcl4wfnlykzqj05alndruwr │
│ CLORE-Blockchain │ 150.00000000 │ cLr1q8x...                                │
└──────────────────┴──────────────┴───────────────────────────────────────────┘
```

***

### `clore servers`

Lista los servidores que estás ofreciendo en el mercado.

```bash
clore servers
```

***

### `clore server-config <name>`

Obtén la configuración de un servidor específico que alojas.

```bash
clore server-config "MyGPU"
```

**Ejemplo de salida:**

```
Servidor: MyGPU
ID: 42
Conectado: True
En línea: True
Visibilidad: público
Duración mínima de alquiler: 72
GPUs: NVIDIA GeForce RTX 4090
Precio On-Demand (USD): $0.35
Precio Spot (USD): $0.18
CPU: AMD Ryzen 9 5900X Procesador de 12 núcleos
RAM: 64.0 GB
GPU: 1x NVIDIA GeForce RTX 4090
```

***

### `clore spot <server_id>`

Ver las ofertas actuales del mercado spot para un servidor.

```bash
clore spot 6
```

**Ejemplo de salida:**

```
📊 Mercado Spot - Servidor 6
┏━━━━━━━━━━┳━━━━━━━━━━━┓
┃ ID Pedido ┃ Precio     ┃
┡━━━━━━━━━━╇━━━━━━━━━━━┩
│ 39       │ 4.2e-06   │
└──────────┴───────────┘
```

***

### `clore spot-price <order_id> <price>`

Actualiza el precio de tu oferta en el mercado spot.

```bash
clore spot-price 39 0.000003
```

> **Nota:** Solo puedes bajar los precios spot una vez cada 600 segundos y en un tamaño de paso limitado.

***

### `clore config`

Gestionar la configuración de la CLI.

```bash
# Establecer la clave API
clore config set api_key TU_CLAVE_API

# Obtener un valor
clore config get api_key

# Mostrar toda la configuración
clore config show
```

La configuración se almacena en `~/.clore/config.json`.

***

## Flujos de trabajo

### Buscar → Alquilar → SSH → Cancelar

Un flujo de trabajo típico de extremo a extremo:

```bash
# 1. Encontrar una RTX 4090 por debajo de $5/hora
clore search --gpu "RTX 4090" --max-price 5.0 --sort price --limit 5

# 2. Desplegar en el servidor más barato (p. ej. ID 123)
clore deploy 123 \
  --image cloreai/ubuntu22.04-cuda12 \
  --type on-demand \
  --currency bitcoin \
  --ssh-password MyPass123 \
  --port 22:tcp \
  --port 8888:http

# 3. Comprobar el estado de tu pedido
clore orders

# 4. Conectarte por SSH a la instancia (p. ej. ID de pedido 456)
clore ssh 456

# 5. Cuando termines, cancela el pedido
clore cancel 456
```

### Monitorea los saldos antes de alquilar

```bash
# Comprueba que tienes fondos suficientes
clore wallets

# Buscar y alquilar
clore search --gpu "A100" --sort price --limit 3
clore deploy 789 \
  --image cloreai/ubuntu22.04-cuda12 \
  --type on-demand \
  --currency bitcoin \
  --ssh-password SecurePass \
  --port 22:tcp
```

### Flujo de trabajo del mercado spot

```bash
# 1. Comprueba las ofertas spot para un servidor
clore spot 6

# 2. Crea un pedido spot
clore deploy 6 \
  --image cloreai/pytorch \
  --type spot \
  --currency bitcoin \
  --spot-price 0.000005 \
  --ssh-password MyPass123 \
  --port 22:tcp

# 3. Ajusta tu precio spot
clore spot-price 39 0.000003
```

### Gestión del alojamiento de servidores

```bash
# Ver tus servidores
clore servers

# Comprobar la configuración de un servidor
clore server-config "MyGPU"
```

***

## Próximos pasos

* [**SDK de Python**](/clore.ai/clore.ai-eng-es/desarrolladores/python-sdk.md) — Automatiza flujos de trabajo con Python
* [**REST API**](/clore.ai/clore.ai-eng-es/para-anfitriones/api.md) — Documentación de la API en bruto
* [**On-Demand vs Spot**](/clore.ai/clore.ai-eng-es/para-arrendatarios/on-demand-vs-spot.md) — Comprender los modelos de precios


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.clore.ai/clore.ai/clore.ai-eng-es/desarrolladores/cli-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
