# Мастер настройки

Мастер запускается при первом старте CLI и повторно командой:

```bash
iola master
```

Мастер обновляет только выбранные компоненты и не сбрасывает остальные настройки.

Перед выбором компонентов CLI проверяет окружение и показывает статус каждого пункта: `готово` или `не настроено`.

## Компоненты

```text
0. выход в CLI [без настройки] - пропустить мастер

Базовая настройка
1. Рабочая папка и контекст
2. Разрешения и безопасный режим
3. 7-Zip / архивы
4. Индекс локальных документов
5. Браузерный модуль

Городские сервисы
6. Открытые данные Йошкар-Олы
7. Подключить городские данные к Codex
8. Мой домофон Уфанет
9. Мой домофон Дом.ру
10. Мой домофон Ростелеком

Локальный AI
11. IOLA локальная модель
12. Ollama

Российские AI и сервисы
13. GigaChat API
14. Yandex Connector
15. Yandex Cloud Connector

Зарубежные AI
16. OpenAI API
17. OpenRouter API

Codex
18. Codex CLI
```

## Базовая настройка

### 1. Рабочая папка и контекст

Создает рабочую среду текущей папки: `.iola/`, `IOLA.md` и `.iola/context.md`.

Нужно, если агент будет работать с локальными файлами, документами, задачами, артефактами и контекстом проекта.

### 2. Разрешения и безопасный режим

Включает профиль разрешений для аналитической работы: открытые данные, отчеты, безопасные локальные операции.

### 3. 7-Zip / архивы

Проверяет 7-Zip. Если архиватор не найден, мастер устанавливает его.

Нужен для чтения, распаковки, сборки и индексирования архивов.

### 4. Индекс локальных документов

Готовит режим чтения файлов и подсказывает команду индексирования локальной папки:

```bash
iola index folder ./docs
```

### 5. Браузерный модуль

Проверяет Playwright/Chromium runtime. Нужен для браузерного агента.

## Городские сервисы

### 6. Открытые данные Йошкар-Олы

Проверяет доступность городского API/MCP-шлюза `apiiola.yasg.ru`.

Этот пункт ничего не устанавливает локально. Он нужен, чтобы пользователь явно видел: CLI подключен к городским слоям открытых данных и может проверять школы, детские сады и другие подключенные городские сервисы через проверяемый gateway.

### 7. Подключить городские данные к Codex

Добавляет MCP-сервер открытых данных Йошкар-Олы во внешний Codex CLI. Этот пункт нужен только тем, кто хочет, чтобы Codex CLI тоже видел городские данные как MCP-инструменты.

Для обычной работы `iola-cli` с городскими слоями этот пункт не обязателен: сам CLI уже ходит к городскому API/MCP-шлюзу напрямую.

### 8. Мой домофон Уфанет

Подключает личный домофон Уфанет по номеру договора и паролю. Секреты хранятся только локально в `~/.iola/secrets.json`.

После настройки доступны команды `/ufanet`, `iola ufanet intercoms`, `iola ufanet history`, `iola ufanet cameras`, `iola ufanet open ID`. Открытие двери всегда требует явного подтверждения.

Инструкция: [Мой домофон](Мой-домофон).

### 9. Мой домофон Дом.ру

Подключает личный домофон Дом.ру по логину и паролю. Секреты хранятся только локально в `~/.iola/secrets.json`.

После настройки доступны команды `/dom_ru`, `iola dom_ru places`, `iola dom_ru intercoms`, `iola dom_ru history`, `iola dom_ru codes`, `iola dom_ru open ID`. Открытие двери всегда требует явного подтверждения.

Инструкция: [Мой домофон](Мой-домофон).

### 10. Мой домофон Ростелеком

Пункт-заготовка. Провайдер виден в городских сервисах, но API пока не реализован.

## Локальный AI

### 11. IOLA локальная модель

Проверяет штатную локальную модель IOLA и готовит ее к работе через доступный runtime.

Если модель уже скачана и доступна, пункт показывается как `готово`.

После настройки локальную модель можно менять в интерактивном агенте через `/model`. Помимо штатной IOLA-модели можно выбрать установленную или рекомендуемую Ollama-модель, либо вручную ввести имя любой модели из библиотеки Ollama.

### 12. Ollama

Опциональный локальный runtime для выбора сторонних моделей из библиотеки Ollama.

Если runtime уже установлен, пункт показывается как `готово`.

## Российские AI и сервисы

### 13. GigaChat API

Настраивает профиль GigaChat и сохраняет authorization key локально у пользователя.

Российский провайдер вызывается напрямую, без gateway/proxy.

### 14. Yandex Connector

Настраивает единый коннектор пользовательских сервисов Яндекса.

Первый контур:

- Yandex ID;
- Яндекс Диск.

Мастер не спрашивает список сервисов. Он подключает коннектор с максимальным набором OAuth-прав, а активные функции CLI выбираются позже командой `/yandex` в интерактивном CLI или `iola yandex menu` в терминале.

В коннектор также заложены категории для проверки: Почта, Календарь, Контакты, Документы/360 и Телемост. Яндекс Go deeplink работает через Yandex Cloud Connector и геокодер; заказ такси, Маркет и Доставка остаются без оформления заказа и оплаты.

Инструкция: [Yandex Connector](Yandex-Connector).

### 15. Yandex Cloud Connector

Настраивает Yandex Cloud Connector: геокодер и, при необходимости, YandexGPT.

Геокодер включается по умолчанию. Он нужен для geo-skills и deeplink Яндекс Go. YandexGPT можно включить сразу или выбрать позже через `/model`.

При запуске CLI печатает пошаговую инструкцию: войти в Яндекс, создать облако/каталог при необходимости, открыть Кабинет разработчика геокодера, создать API key, вернуться в CLI и вставить ключ. Пользователь не остается один на пустой странице консоли.

Ключи сохраняются локально у пользователя. Российский AI-провайдер вызывается напрямую, без gateway/proxy.

Инструкция: [Yandex Cloud Connector](Yandex-Cloud-Connector).

## Зарубежные AI

### 16. OpenAI API

Настраивает профиль OpenAI и сохраняет API-ключ локально у пользователя.

После сохранения ключа мастер предлагает выбрать модель из доступного списка.

### 17. OpenRouter API

Настраивает профиль OpenRouter и сохраняет API-ключ локально у пользователя.

После сохранения ключа мастер предлагает выбрать разработчика моделей OpenRouter, а затем одну из свежих моделей для текстовой работы. В списке моделей `0` возвращает к выбору разработчика.

## Codex

### 18. Codex CLI

Проверяет наличие Codex CLI и авторизации. Если Codex уже установлен и вход выполнен, пункт показывается как `готово`.

## Повторный запуск

Если компонент уже настроен, его можно не выбирать. Если нужно переустановить или обновить компонент, выберите его номер вручную.
