# Справочник CLI

The `clore` CLI позволяет управлять маркетплейсом GPU Clore.ai прямо из терминала — искать GPU, разворачивать инстансы, подключаться по SSH и управлять заказами без написания кода.

***

## Установка

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

Это устанавливает как Python SDK, так и `clore` CLI-команду.

**Требования:** Python 3.9+

***

## Конфигурация

### Установите ваш API-ключ

Получите ваш ключ с [панели управления Clore.ai](https://clore.ai) → **API** раздела, затем настройте:

```bash
clore config set api_key YOUR_API_KEY
```

Это сохраняет ключ в `~/.clore/config.json`.

### Или используйте переменную окружения

```bash
export CLORE_API_KEY=your_api_key_here
```

### Показать текущую конфигурацию

```bash
# Показать всю конфигурацию
clore config show

# Получить конкретное значение
clore config get api_key
```

***

## Команды

| Команда                               | Описание                                |
| ------------------------------------- | --------------------------------------- |
| `clore search`                        | Поиск на маркетплейсе GPU               |
| `clore deploy <server_id>`            | Создать новый заказ (арендовать сервер) |
| `clore orders`                        | Показать ваши заказы                    |
| `clore cancel <order_id>`             | Отменить заказ                          |
| `clore ssh <order_id>`                | Подключиться по SSH к активному заказу  |
| `clore wallets`                       | Показать балансы кошельков              |
| `clore servers`                       | Показать ваши размещённые серверы       |
| `clore server-config <name>`          | Получить конфигурацию сервера           |
| `clore spot <server_id>`              | Просмотреть спотовый рынок для сервера  |
| `clore spot-price <order_id> <price>` | Установить спотовую цену                |
| `clore config set <key> <value>`      | Установить значение конфигурации        |
| `clore config get <key>`              | Получить значение конфигурации          |
| `clore config show`                   | Показать всю конфигурацию               |
| `clore --version`                     | Показать версию                         |

***

## Подробное использование

### `clore search`

Ищите на маркетплейсе GPU с фильтрами и сортировкой.

```bash
# Показать все доступные серверы (отсортировано по цене, топ 20)
clore search

# Отфильтровать по модели GPU
clore search --gpu "RTX 4090"

# Отфильтровать по GPU и максимальной цене
clore search --gpu "RTX 4090" --max-price 5.0

# Риги с несколькими GPU
clore search --min-gpu 4

# Сортировать по количеству GPU, показать топ 10
clore search --sort gpu --limit 10

# Комбинировать фильтры
clore search --gpu "A100" --min-ram 128 --max-price 10.0 --sort price --limit 5
```

**Опции:**

| Опция         | Тип   | Описание                                             |
| ------------- | ----- | ---------------------------------------------------- |
| `--gpu`       | текст | Фильтр по модели GPU (например `"RTX 4090"`)         |
| `--min-gpu`   | int   | Минимальное количество GPU                           |
| `--min-ram`   | float | Минимальный объём оперативной памяти в ГБ            |
| `--max-price` | float | Максимальная цена в USD/час                          |
| `--sort`      | выбор | Сортировать по: `цена` (по умолчанию), `gpu`, `ram`  |
| `--limit`     | int   | Макс. результатов для отображения (по умолчанию: 20) |

**Пример вывода:**

```
🔍 Маркетплейс GPU
┏━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ ID  ┃ GPU                             ┃ Кол-во┃ RAM (GB) ┃ CPU                          ┃ Цена/ч (USD) ┃ Локация ┃
┡━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ 123 │ 1x NVIDIA GeForce RTX 4090      │     1 │    64.0  │ AMD Ryzen 9 5900X            │       $0.3200 │ US       │
│ 456 │ 2x NVIDIA GeForce RTX 4090      │     2 │   128.0  │ Intel Core i9-13900K         │       $0.5800 │ DE       │
└─────┴─────────────────────────────────┴───────┴──────────┴──────────────────────────────┴───────────────┴──────────┘
Показано 2 сервера
```

***

### `clore deploy <server_id>`

Создайте новый заказ, чтобы арендовать GPU-сервер.

```bash
# Заказ по требованию с SSH
clore deploy 123 \
  --image cloreai/ubuntu22.04-cuda12 \
  --type on-demand \
  --currency bitcoin \
  --ssh-password MySecurePass123 \
  --port 22:tcp \
  --port 8888:http

# Спотовый заказ
clore deploy 123 \
  --image cloreai/pytorch \
  --type spot \
  --currency bitcoin \
  --spot-price 0.000005 \
  --port 22:tcp

# С переменными окружения
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
```

**Аргументы:**

| Аргумент    | Описание                                          |
| ----------- | ------------------------------------------------- |
| `server_id` | ID сервера для аренды (получите с `clore search`) |

**Опции:**

| Опция            | Тип   | Обязательно | Описание                                                    |
| ---------------- | ----- | ----------- | ----------------------------------------------------------- |
| `--image`        | текст | Да          | Docker-образ (например `cloreai/ubuntu22.04-cuda12`)        |
| `--type`         | выбор | Да          | `on-demand` или `spot`                                      |
| `--currency`     | текст | Да          | Валюта оплаты (например `bitcoin`)                          |
| `--ssh-password` | текст | Нет         | SSH-пароль (буквенно-цифровой, макс. 32 символа)            |
| `--ssh-key`      | текст | Нет         | Публичный SSH-ключ                                          |
| `--port`         | текст | Нет         | Проброс порта (можно повторять), формат: `PORT:PROTOCOL`    |
| `--env`          | текст | Нет         | Переменная окружения (можно повторять), формат: `KEY=VALUE` |
| `--spot-price`   | float | Нет         | Спотовая цена в день (обязательно для спотовых заказов)     |

***

### `clore orders`

Показать ваши активные заказы.

```bash
# Активные заказы
clore orders

# Включить завершённые/истёкшие заказы
clore orders --completed
```

**Опции:**

| Опция         | Описание                             |
| ------------- | ------------------------------------ |
| `--completed` | Включить завершённые/истёкшие заказы |

**Пример вывода:**

```
📦 Мои заказы
┏━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ID ┃ Server ID ┃ Тип       ┃ Статус ┃ Образ                             ┃ IP                      ┃
┡━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ 38 │ 6         │ on-demand │ Active │ cloreai/ubuntu22.04-cuda12        │ n1.c1.clorecloud.net    │
└────┴───────────┴───────────┴────────┴───────────────────────────────────┴─────────────────────────┘
Всего: 1 заказ
```

***

### `clore cancel <order_id>`

Отменить активный заказ.

```bash
# Отменить заказ
clore cancel 38

# Отменить с указанием проблемы
clore cancel 38 --issue "GPU was overheating"
```

**Аргументы:**

| Аргумент   | Описание             |
| ---------- | -------------------- |
| `order_id` | ID заказа для отмены |

**Опции:**

| Опция     | Описание                          |
| --------- | --------------------------------- |
| `--issue` | Причина отмены / отчёт о проблеме |

***

### `clore ssh <order_id>`

Автоподключение по SSH к запущенному заказу. CLI получает hostname и порт из деталей вашего заказа.

```bash
# Подключиться как root (по умолчанию)
clore ssh 38

# Подключиться под другим пользователем
clore ssh 38 --user ubuntu
```

**Аргументы:**

| Аргумент   | Описание                  |
| ---------- | ------------------------- |
| `order_id` | ID заказа для подключения |

**Опции:**

| Опция    | По умолчанию | Описание                 |
| -------- | ------------ | ------------------------ |
| `--user` | `root`       | Имя пользователя для SSH |

***

### `clore wallets`

Показать балансы кошельков и адреса для депозита.

```bash
clore wallets
```

**Пример вывода:**

```
💰 Баланс кошельков
┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Валюта           ┃ Баланс       ┃ Адрес для депозита                        ┃
┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ bitcoin          │ 0.00153176   │ tb1q6erw7v02t7hakgmlcl4wfnlykzqj05alndruwr │
│ CLORE-Blockchain │ 150.00000000 │ cLr1q8x...                                │
└──────────────────┴──────────────┴───────────────────────────────────────────┘
```

***

### `clore servers`

Показать серверы, которые вы размещаете на маркетплейсе.

```bash
clore servers
```

***

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

Получить конфигурацию конкретного сервера, который вы хостите.

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

**Пример вывода:**

```
Сервер: MyGPU
ID: 42
Подключён: True
Онлайн: True
Видимость: public
Мин. длина аренды: 72
GPU: NVIDIA GeForce RTX 4090
Цена по требованию (USD): $0.35
Спотовая цена (USD): $0.18
CPU: AMD Ryzen 9 5900X 12-Core Processor
RAM: 64.0 GB
GPU: 1x NVIDIA GeForce RTX 4090
```

***

### `clore spot <server_id>`

Просмотреть текущие спотовые предложения для сервера.

```bash
clore spot 6
```

**Пример вывода:**

```
📊 Спотовый рынок - Сервер 6
┏━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Order ID ┃ Цена      ┃
┡━━━━━━━━━━╇━━━━━━━━━━━┩
│ 39       │ 4.2e-06   │
└──────────┴───────────┘
```

***

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

Обновить цену в вашем спотовом предложении.

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

> **Примечание:** Вы можете снижать спотовые цены только раз в 600 секунд и с ограниченным шагом.

***

### `clore config`

Управление конфигурацией CLI.

```bash
# Установить API-ключ
clore config set api_key YOUR_API_KEY

# Получить значение
clore config get api_key

# Показать всю конфигурацию
clore config show
```

Конфигурация хранится в `~/.clore/config.json`.

***

## Рабочие процессы

### Поиск → Аренда → SSH → Отмена

Типичный сквозной рабочий процесс:

```bash
# 1. Найти RTX 4090 дешевле $5/час
clore search --gpu "RTX 4090" --max-price 5.0 --sort price --limit 5

# 2. Развернуть на самом дешёвом сервере (например, 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. Проверить статус вашего заказа
clore orders

# 4. Подключиться по SSH к инстансу (например, ID заказа 456)
clore ssh 456

# 5. После завершения отменить заказ
clore cancel 456
```

### Отслеживать балансы перед арендой

```bash
# Убедиться, что у вас достаточно средств
clore wallets

# Поиск и аренда
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
```

### Рабочий процесс для спотового рынка

```bash
# 1. Проверить спотовые предложения для сервера
clore spot 6

# 2. Создать спотовый заказ
clore deploy 6 \
  --image cloreai/pytorch \
  --type spot \
  --currency bitcoin \
  --spot-price 0.000005 \
  --ssh-password MyPass123 \
  --port 22:tcp

# 3. Подкорректировать вашу спотовую цену
clore spot-price 39 0.000003
```

### Управление хостингом серверов

```bash
# Показать ваши серверы
clore servers

# Проверить конфигурацию сервера
clore server-config "MyGPU"
```

***

## Дальнейшие шаги

* [**Python SDK**](/clore.ai/clore.ai-ru/razrabotchiki/python-sdk.md) — Автоматизируйте рабочие процессы с помощью Python
* [**REST API**](/clore.ai/clore.ai-ru/dlya-khostov/api.md) — Документация по низкоуровневому API
* [**On-Demand vs Spot**](/clore.ai/clore.ai-ru/dlya-arendatorov/on-demand-vs-spot.md) — Понять модели ценообразования


---

# 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-ru/razrabotchiki/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.
