> ## Documentation Index
> Fetch the complete documentation index at: https://avala.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# CLI

> Управление ресурсами Avala из терминала

Avala CLI позволяет просматривать наборы данных, создавать экспорты, управлять облачным хранилищем и многое другое — прямо из командной строки.

## Установка

<CodeGroup>
  ```bash Recommended theme={null}
  curl -fsSL https://avala.ai/install.sh | bash
  ```

  ```bash pip theme={null}
  pip install avala[cli]
  ```
</CodeGroup>

Скрипт установки определяет вашу версию Python, устанавливает `avala[cli]` через pip и проверяет настройку. Требуется Python 3.9+.

Это устанавливает команду `avala` вместе с [Click](https://click.palletsprojects.com/) и [Rich](https://rich.readthedocs.io/) для форматированного вывода в терминале.

## Аутентификация

Установите API-ключ как переменную окружения (рекомендуется):

```bash theme={null}
export AVALA_API_KEY="avk_your_api_key"
```

Или передайте его как флаг в любой команде:

```bash theme={null}
avala --api-key avk_your_api_key datasets list
```

Для интерактивной настройки учётных данных:

```bash theme={null}
avala configure
```

Эта команда проведёт вас через ввод API-ключа и базового URL, затем выведет команды `export` для добавления в профиль вашего шелла.

## Глобальные опции

| Опция             | Описание                                                                                                  |
| ----------------- | --------------------------------------------------------------------------------------------------------- |
| `--api-key TEXT`  | API-ключ Avala (или переменная окружения `AVALA_API_KEY`).                                                |
| `--base-url TEXT` | Базовый URL API (или переменная окружения `AVALA_BASE_URL`). По умолчанию: `https://api.avala.ai/api/v1`. |
| `--help`          | Показать справку для любой команды.                                                                       |

## Команды

### datasets

```bash theme={null}
# List all datasets
avala datasets list

# Limit results
avala datasets list --limit 10

# Get a specific dataset
avala datasets get <uid>
```

**Опции `list`:**

| Опция             | Описание                                          |
| ----------------- | ------------------------------------------------- |
| `--limit INTEGER` | Максимальное количество возвращаемых результатов. |

**Поля вывода `get`:** UID, Name, Slug, Items, Type, Created, Updated.

***

### projects

```bash theme={null}
# List all projects
avala projects list

# Get a specific project
avala projects get <uid>
```

**Опции `list`:**

| Опция             | Описание                                          |
| ----------------- | ------------------------------------------------- |
| `--limit INTEGER` | Максимальное количество возвращаемых результатов. |

**Поля вывода `get`:** UID, Name, Status, Created, Updated.

***

### tasks

```bash theme={null}
# List all tasks
avala tasks list

# Limit results
avala tasks list --limit 50

# Get a specific task
avala tasks get <uid>
```

**Опции `list`:**

| Опция             | Описание                                          |
| ----------------- | ------------------------------------------------- |
| `--limit INTEGER` | Максимальное количество возвращаемых результатов. |

**Поля вывода `get`:** UID, Name, Type, Status, Project, Created, Updated.

***

### exports

```bash theme={null}
# List all exports
avala exports list

# Get export details
avala exports get <uid>

# Create a new export
avala exports create --project <uid>
avala exports create --dataset <uid>
```

**Опции `create`:**

| Опция            | Описание                        |
| ---------------- | ------------------------------- |
| `--dataset TEXT` | UID набора данных для экспорта. |
| `--project TEXT` | UID проекта для экспорта.       |

***

### storage-configs

Управление подключениями к облачному хранилищу (AWS S3, Google Cloud Storage).

```bash theme={null}
# List storage configurations
avala storage-configs list

# Add an S3 bucket
avala storage-configs create \
  --name "Production S3" \
  --provider aws_s3 \
  --s3-bucket-name my-bucket \
  --s3-bucket-region us-west-1 \
  --s3-access-key-id $AWS_ACCESS_KEY_ID \
  --s3-secret-access-key $AWS_SECRET_ACCESS_KEY

# Add a GCS bucket
avala storage-configs create \
  --name "Production GCS" \
  --provider gc_storage \
  --gc-bucket-name my-gcs-bucket \
  --gc-auth-json '{"type":"service_account",...}'

# Test a storage connection
avala storage-configs test <uid>

# Delete a storage config (prompts for confirmation)
avala storage-configs delete <uid>
```

**Опции `create`:**

| Опция               | Описание                                  |
| ------------------- | ----------------------------------------- |
| `--name TEXT`       | Имя конфигурации хранилища (обязательно). |
| `--provider CHOICE` | `aws_s3` или `gc_storage` (обязательно).  |

**Опции AWS S3:**

| Опция                         | Описание                            |
| ----------------------------- | ----------------------------------- |
| `--s3-bucket-name TEXT`       | Имя S3-бакета.                      |
| `--s3-bucket-region TEXT`     | Регион AWS (например, `us-west-1`). |
| `--s3-bucket-prefix TEXT`     | Префикс ключа объекта.              |
| `--s3-access-key-id TEXT`     | AWS access key ID.                  |
| `--s3-secret-access-key TEXT` | AWS secret access key.              |

**Опции Google Cloud Storage:**

| Опция                   | Описание                                 |
| ----------------------- | ---------------------------------------- |
| `--gc-bucket-name TEXT` | Имя GCS-бакета.                          |
| `--gc-prefix TEXT`      | Префикс ключа объекта.                   |
| `--gc-auth-json TEXT`   | JSON учётных данных сервисного аккаунта. |

***

### agents

Управление агентами автоматизации.

```bash theme={null}
# List agents
avala agents list

# Get agent details
avala agents get <uid>

# Create an agent
avala agents create \
  --name "QA Bot" \
  --events "task.completed,result.submitted" \
  --callback-url https://example.com/hook

# Delete an agent (prompts for confirmation)
avala agents delete <uid>

# List executions for an agent
avala agents executions <uid>

# Test an agent
avala agents test <uid>
```

**Опции `create`:**

| Опция                 | Описание                                             |
| --------------------- | ---------------------------------------------------- |
| `--name TEXT`         | Имя агента (обязательно).                            |
| `--events TEXT`       | Список типов событий через запятую.                  |
| `--callback-url TEXT` | URL обратного вызова вебхука (HTTPS).                |
| `--description TEXT`  | Описание агента.                                     |
| `--project TEXT`      | UID проекта для ограничения области действия агента. |
| `--task-types TEXT`   | Список типов задач через запятую.                    |

**Опции `list`:**

| Опция             | Описание                                          |
| ----------------- | ------------------------------------------------- |
| `--limit INTEGER` | Максимальное количество возвращаемых результатов. |

**Опции `executions`:**

| Опция             | Описание                                          |
| ----------------- | ------------------------------------------------- |
| `--limit INTEGER` | Максимальное количество возвращаемых результатов. |

***

### webhooks

Управление подписками на вебхуки.

```bash theme={null}
# List webhooks
avala webhooks list

# Get webhook details
avala webhooks get <uid>

# Create a webhook
avala webhooks create \
  --target-url https://example.com/webhook \
  --events "task.completed,export.ready"

# Delete a webhook (prompts for confirmation)
avala webhooks delete <uid>

# Test a webhook
avala webhooks test <uid>

# List webhook deliveries
avala webhooks deliveries
```

**Опции `create`:**

| Опция               | Описание                                                          |
| ------------------- | ----------------------------------------------------------------- |
| `--target-url TEXT` | URL назначения вебхука, HTTPS (обязательно).                      |
| `--events TEXT`     | Список типов событий через запятую (обязательно).                 |
| `--secret TEXT`     | Секрет подписи HMAC (генерируется автоматически, если не указан). |

**Опции `list` / `deliveries`:**

| Опция             | Описание                                          |
| ----------------- | ------------------------------------------------- |
| `--limit INTEGER` | Максимальное количество возвращаемых результатов. |

***

### quality-targets

Управление целями качества для проектов.

```bash theme={null}
# List quality targets for a project
avala quality-targets list --project <uid>

# Get a specific quality target
avala quality-targets get --project <uid> <target_uid>

# Create a quality target
avala quality-targets create \
  --project <uid> \
  --name "Accuracy Target" \
  --metric accuracy \
  --threshold 0.95 \
  --operator gte \
  --severity critical

# Delete a quality target (prompts for confirmation)
avala quality-targets delete --project <uid> <target_uid>

# Evaluate all quality targets for a project
avala quality-targets evaluate --project <uid>
```

***

### consensus

Управление оценкой консенсуса для проектов.

```bash theme={null}
# Get consensus summary for a project
avala consensus summary --project <uid>

# List consensus scores
avala consensus scores --project <uid>

# Compute consensus scores
avala consensus compute --project <uid>

# View or update consensus config
avala consensus config --project <uid>
avala consensus config --project <uid> --iou-threshold 0.7 --min-annotations 3
```

***

### inference-providers

Управление провайдерами инференса.

```bash theme={null}
# List inference providers
avala inference-providers list

# Get provider details
avala inference-providers get <uid>

# Create a provider
avala inference-providers create \
  --name "My SageMaker" \
  --provider-type sagemaker \
  --config '{"endpoint": "my-endpoint", "region": "us-east-1"}'

# Delete a provider (prompts for confirmation)
avala inference-providers delete <uid>

# Test provider connection
avala inference-providers test <uid>
```

***

### auto-label

Управление заданиями автоматической разметки.

```bash theme={null}
# List auto-label jobs
avala auto-label list

# Filter by project
avala auto-label list --project <uid>

# Get job details
avala auto-label get <uid>

# Create an auto-label job
avala auto-label create \
  --project <uid> \
  --model-type sam3 \
  --confidence-threshold 0.85 \
  --labels "car,truck"

# Cancel a running job (prompts for confirmation)
avala auto-label cancel <uid>
```

***

### fleet

<Info>
  Команды fleet находятся в предварительном доступе. Описанные команды могут измениться.
</Info>

Управление устройствами, записями, событиями, правилами и оповещениями парка.

```bash theme={null}
# List online devices
avala fleet devices list --status online

# Register a new device
avala fleet devices register --name "robot-arm-01" --type manipulator --firmware "2.4.1"

# List recordings for a device
avala fleet recordings list --device dev_abc123 --since 7d

# Create a timeline event
avala fleet events create --recording rec_abc123 --type anomaly --label "Gripper force spike"

# List recording rules
avala fleet rules list

# List active alerts
avala fleet alerts list --status open
```

***

### configure

Интерактивный мастер настройки учётных данных CLI.

```bash theme={null}
avala configure
```

Запрашивает ваш API-ключ и базовый URL, затем выводит команды `export` для добавления в профиль шелла (`~/.bashrc`, `~/.zshrc` и т.д.).

## Примеры

### Просмотр наборов данных и экспорт проекта

```bash theme={null}
# See what datasets you have
avala datasets list

# Export annotations from a project
avala exports create --project proj_abc123

# Check export status
avala exports get exp_xyz789
```

### Настройка облачного хранилища

```bash theme={null}
# Connect an S3 bucket
avala storage-configs create \
  --name "Training Data" \
  --provider aws_s3 \
  --s3-bucket-name ml-training-data \
  --s3-bucket-region us-east-1 \
  --s3-access-key-id $AWS_ACCESS_KEY_ID \
  --s3-secret-access-key $AWS_SECRET_ACCESS_KEY

# Verify the connection works
avala storage-configs test sc_abc123
```

### Использование с CI/CD

```bash theme={null}
# In your CI pipeline
export AVALA_API_KEY="${AVALA_API_KEY}"

# Trigger an export and capture the UID
avala exports create --project proj_abc123
```

## Переменные окружения

| Переменная       | Описание                          | По умолчанию                  |
| ---------------- | --------------------------------- | ----------------------------- |
| `AVALA_API_KEY`  | Ваш API-ключ Avala.               | Обязательно                   |
| `AVALA_BASE_URL` | Переопределение базового URL API. | `https://api.avala.ai/api/v1` |

## Формат вывода

CLI использует [Rich](https://rich.readthedocs.io/) для форматированного вывода:

* **Команды списков** отображают результаты в форматированных таблицах.
* **Команды get** отображают детальный вид ключ-значение.
* **Команды create/delete** выводят сообщения подтверждения.

Цвета и форматирование автоматически отключаются при перенаправлении вывода.

<Note>
  CLI пока не поддерживает флаги `--output json` или `--format`. Весь вывод форматирован для чтения в терминале. Для машиночитаемого вывода используйте [Python SDK](/docs/ru/sdks/python) или [REST API](/docs/sdks/rest-api) напрямую.
</Note>
