-
Notifications
You must be signed in to change notification settings - Fork 0
Yandex Connector
Yandex Connector - единая точка подключения пользовательских сервисов Яндекса в iola-cli.
Цель: пользователь подключает сервисы Яндекса через обычный вход в браузере, а CLI хранит OAuth-токены локально. Какие функции CLI реально использует, пользователь выбирает отдельно через /yandex.
Секреты сохраняются только на компьютере пользователя в ~/.iola/secrets.json. Они не отправляются на сервер IOLA и не попадают в iola cloud backup.
iola yandex services
iola yandex setup
iola yandex menu
iola yandex status
iola yandex doctor
iola yandex enable disk mail calendar
iola yandex disable mail
iola yandex oauth-url disk --client-id CLIENT_ID
iola yandex token set
iola yandex token deleteГотово к первому контуру:
-
identity- Yandex ID, профиль пользователя, логин и email; -
disk- Яндекс Диск, папка/IOLA, файлы, папки, загрузка, скачивание и публичные ссылки.
Исследуется:
-
mail- Яндекс Почта, чтение и поиск писем, отправка только после явного подтверждения; -
calendar- Яндекс Календарь; -
contacts- Яндекс Контакты; -
wiki- Yandex Wiki; -
tracker- Yandex Tracker; -
forms- Yandex Forms; -
docs- Яндекс Документы / 360.
Отдельные ключи, не обычный OAuth бытового Яндекса:
-
cloud- Yandex Cloud, YandexGPT, SpeechKit, Vision, IAM и folder ID; -
maps- Yandex Geocoder API и карты.
Backlog после первого контура:
-
taxi- Яндекс Go / Такси: только подготовить маршрут и открыть приложение, без заказа и оплаты; -
market- Яндекс Маркет: поиск и список покупок, без корзины и оплаты; -
delivery- Яндекс Доставка: подготовка заявки/ссылки, без оформления и оплаты.
- Запустите подключение. Оно не спрашивает список сервисов, а открывает браузер для входа в Яндекс:
iola yandex setup- Авторизуйтесь в Яндексе и разрешите доступ. В текущем встроенном приложении
IOLA Yandex Coreзапрашиваются права:-
login:info; -
login:email; -
cloud_api:disk.read; -
cloud_api:disk.write; -
cloud_api:disk.info; -
mail:imap_full; -
mail:smtp.
-
- После успешной авторизации браузер вернется на локальную страницу
iola-cli, а CLI сам сохранит OAuth-токен. - Если автоматический браузерный flow недоступен, используйте fallback для разработки:
iola yandex setup --client-id CLIENT_ID --print-url
iola yandex token set- Выберите, какие функции CLI реально использует:
iola yandex menuВ интерактивном CLI это же меню открывается slash-командой:
/yandex
Меню /yandex работает как мастер настройки: сервисы выбираются номерами через запятую, а не вводом технических названий.
- Проверьте:
iola yandex doctor
iola cloud doctorЕсли включен disk, токен автоматически подключается и к старому облачному провайдеру yandex-disk, поэтому команды iola cloud ... продолжают работать.
OAuth-права дают CLI разрешение обращаться к сервису Яндекса. Но для практической работы под каждый сервис нужны отдельные команды и тулы:
-
identity- проверить пользователя и email; -
disk- папки, загрузка, скачивание, поиск файлов, публичные ссылки; -
mail- список писем, поиск, чтение письма, отправка письма после явного подтверждения; -
calendar- список событий, создание события, напоминания; требует отдельного OAuth-приложения/проверки прав; -
contacts- поиск контактов и карточки контактов; требует отдельного OAuth-приложения/проверки прав.
Включение сервиса в /yandex только разрешает CLI использовать соответствующую категорию. Если прав или тула еще нет, CLI должен честно показать это, а не имитировать работу.
CLI поставляется с готовой иконкой OAuth-приложения. При установке она копируется в:
~/.iola/assets/iola-oauth-icon.png
В репозитории файл лежит здесь:
docs/assets/iola-oauth-icon.png
Если создается новое OAuth-приложение Яндекса вручную, эту иконку можно указать в поле "Иконка сервиса".
Yandex Connector не является универсальным ключом ко всему Яндексу.
Обычные пользовательские сервисы работают через OAuth и scope. Yandex Cloud, YandexGPT и Geocoder требуют отдельные ключи, folder ID или настройки в Yandex Cloud.
Для браузерного подключения в сборке CLI уже указан public OAuth client_id приложения IOLA. Это не секретный ключ. Пользователь не должен создавать OAuth-приложение вручную.
Яндекс ограничивает количество разных групп сервисов в одном OAuth-приложении. Поэтому один токен не всегда может покрыть Диск, Почту, Календарь, Контакты, Wiki, Tracker и Forms сразу. CLI поддерживает группировку по нескольким OAuth-приложениям; текущий первый контур - identity, disk, mail.
CLI не должен автоматически оформлять покупки, вызывать такси, подтверждать доставку или выполнять платежи. Для таких сценариев допустима только подготовка ссылки, маршрута или списка, а финальное действие делает пользователь в приложении Яндекса.