@iola_adm/iola-cli 0.2.35 → 0.2.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -7
- package/package.json +1 -1
- package/skills/yandex-services/SKILL.md +19 -3
- package/src/cli.js +1055 -46
- package/wiki/AI-/320/277/321/200/320/276/321/204/320/270/320/273/320/270.md +12 -1
- package/wiki/Daemon-RPC-/320/270-cron.md +47 -29
- package/wiki/Home.md +2 -0
- package/wiki/Skills-/320/270-toolsets.md +17 -1
- package/wiki/Yandex-Cloud-Connector.md +127 -0
- package/wiki/Yandex-Connector.md +63 -6
- package/wiki/Yandex-Geocoder-API-key.md +7 -1
- package/wiki//320/232/320/276/320/274/320/260/320/275/320/264/321/213.md +14 -0
- package/wiki//320/234/320/260/321/201/321/202/320/265/321/200-/320/275/320/260/321/201/321/202/321/200/320/276/320/271/320/272/320/270.md +10 -14
- package/wiki//320/240/320/265/321/210/320/265/320/275/320/270/320/265-/320/277/321/200/320/276/320/261/320/273/320/265/320/274.md +2 -2
- package/wiki//320/241/320/272/320/270/320/273/320/273/321/213-/320/264/320/273/321/217-/320/266/320/270/321/202/320/265/320/273/320/265/320/271.md +54 -3
|
@@ -29,7 +29,15 @@ iola ask "найди школы на Петрова"
|
|
|
29
29
|
|
|
30
30
|
### YandexGPT
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
Рекомендуемый путь - через `Yandex Cloud Connector`:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
iola yandex cloud setup
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
В интерактивном агенте можно выбрать YandexGPT через `/model`. Если Cloud Connector еще не подключен, CLI предложит открыть настройку.
|
|
39
|
+
|
|
40
|
+
Для CLI нужны две вещи: API key и ID каталога Yandex Cloud. Тот же мастер Cloud Connector может дополнительно сохранить ключ геокодера, чтобы geo-skills и Яндекс Go deeplink работали сразу.
|
|
33
41
|
|
|
34
42
|
Пошаговая настройка:
|
|
35
43
|
|
|
@@ -73,6 +81,7 @@ CLI попросит ввести:
|
|
|
73
81
|
После сохранения ключа выберите профиль и модель:
|
|
74
82
|
|
|
75
83
|
```bash
|
|
84
|
+
iola yandex cloud enable yandexgpt
|
|
76
85
|
iola ai setup yandexgpt --model yandexgpt-lite/latest
|
|
77
86
|
```
|
|
78
87
|
|
|
@@ -92,6 +101,8 @@ iola ai setup yandexgpt --model yandexgpt-lite/latest
|
|
|
92
101
|
|
|
93
102
|
CLI также понимает env-переменные `YANDEXGPT_API_KEY` или `YANDEX_CLOUD_API_KEY`, а для каталога - `YANDEXGPT_FOLDER_ID` или `YANDEX_CLOUD_FOLDER_ID`.
|
|
94
103
|
|
|
104
|
+
Подробно про единый путь геокодера и YandexGPT: [Yandex Cloud Connector](Yandex-Cloud-Connector).
|
|
105
|
+
|
|
95
106
|
### GigaChat
|
|
96
107
|
|
|
97
108
|
Для CLI нужен authorization key. Это не одноразовый OAuth access token: CLI сам получает OAuth-токен перед запросом, используя сохраненный authorization key.
|
|
@@ -1,35 +1,53 @@
|
|
|
1
|
-
# Daemon, RPC и cron
|
|
2
|
-
|
|
3
|
-
Локальный daemon запускает HTTP/RPC endpoint на компьютере пользователя:
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
iola daemon status
|
|
7
|
-
iola daemon start
|
|
8
|
-
```
|
|
9
|
-
|
|
10
|
-
По умолчанию endpoint:
|
|
11
|
-
|
|
12
|
-
```text
|
|
13
|
-
http://127.0.0.1:18790
|
|
14
|
-
```
|
|
1
|
+
# Daemon, RPC и cron
|
|
2
|
+
|
|
3
|
+
Локальный daemon запускает HTTP/RPC endpoint на компьютере пользователя:
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
iola daemon status
|
|
7
|
+
iola daemon start
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
По умолчанию endpoint:
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
http://127.0.0.1:18790
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
RPC-команды:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
iola rpc call status
|
|
20
|
+
iola rpc call search --query Петрова --dataset schools
|
|
21
|
+
iola rpc call card --query "школа 29"
|
|
22
|
+
iola rpc call quality
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Cron-задачи:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
iola cron add "каждый день 09:00 -- quality"
|
|
29
|
+
iola cron list
|
|
30
|
+
iola cron run 1
|
|
31
|
+
iola cron tick
|
|
32
|
+
iola cron delete 1
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
`cron tick` проверяет задачи, которые пора выполнить. Его можно запускать вручную, через Windows Task Scheduler или другой планировщик.
|
|
15
36
|
|
|
16
|
-
|
|
37
|
+
## Готовые cron-сценарии Яндекса
|
|
17
38
|
|
|
18
39
|
```bash
|
|
19
|
-
iola
|
|
20
|
-
iola
|
|
21
|
-
iola
|
|
22
|
-
iola
|
|
40
|
+
iola yandex mail-watch on --minutes 5
|
|
41
|
+
iola yandex daily-digest on --time 09:00
|
|
42
|
+
iola yandex calendar-reminders on --minutes 15
|
|
43
|
+
iola yandex contacts-maintenance on --days 7 --backup
|
|
44
|
+
iola yandex disk-maintenance on --days 7
|
|
23
45
|
```
|
|
24
46
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
iola cron run 1
|
|
31
|
-
iola cron tick
|
|
32
|
-
iola cron delete 1
|
|
33
|
-
```
|
|
47
|
+
- `mail-watch` проверяет новые письма.
|
|
48
|
+
- `daily-digest` собирает сводку по почте, календарю и контактам, сохраняет Markdown-документ на Яндекс Диск.
|
|
49
|
+
- `calendar-reminders` проверяет ближайшие события календаря.
|
|
50
|
+
- `contacts-maintenance` ищет неполные карточки и дубликаты, опционально делает backup.
|
|
51
|
+
- `disk-maintenance` проверяет место, документы и публичные ссылки в папке `/IOLA`, сохраняет отчет на Диск.
|
|
34
52
|
|
|
35
|
-
|
|
53
|
+
Чтобы расписания выполнялись автоматически, должен регулярно запускаться `iola cron tick`: вручную, через daemon или системный планировщик.
|
package/wiki/Home.md
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
- работа с YandexGPT, GigaChat, OpenAI, OpenRouter и Codex CLI;
|
|
14
14
|
- geo-сценарии для жителей через Yandex Geocoder API;
|
|
15
15
|
- Yandex Connector для пользовательских сервисов Яндекса;
|
|
16
|
+
- Yandex Cloud Connector для геокодера, YandexGPT и deeplink Яндекс Go;
|
|
16
17
|
- личные облачные диски: Яндекс Диск и Облако Mail.ru;
|
|
17
18
|
- подключение публичного MCP-сервера.
|
|
18
19
|
|
|
@@ -32,6 +33,7 @@ iola ask "найди школу 29"
|
|
|
32
33
|
- [Мастер настройки](Мастер-настройки)
|
|
33
34
|
- [AI-профили](AI-профили)
|
|
34
35
|
- [Yandex Geocoder API key](Yandex-Geocoder-API-key)
|
|
36
|
+
- [Yandex Cloud Connector](Yandex-Cloud-Connector)
|
|
35
37
|
- [Yandex Connector](Yandex-Connector)
|
|
36
38
|
- [Облачные диски](Облачные-диски)
|
|
37
39
|
- [Скиллы для жителей](Скиллы-для-жителей)
|
|
@@ -9,7 +9,7 @@ Skills не подмешиваются в каждый запрос целико
|
|
|
9
9
|
- `local-files` - когда пользователь просит работать с локальными файлами, папками, архивами или документами;
|
|
10
10
|
- `browser-agent` - когда запрос связан с сайтом, URL, страницей, скриншотом или браузером;
|
|
11
11
|
- `local-model` - инструкции для локальных компактных моделей и tool-планирования;
|
|
12
|
-
- `yandex-services` - когда запрос связан с Yandex Connector: Яндекс Диск, Почта, Календарь, Контакты,
|
|
12
|
+
- `yandex-services` - когда запрос связан с Yandex Connector или Yandex Cloud Connector: Яндекс Диск, Почта, Календарь, Контакты, Телемост, Yandex ID, геокодер, YandexGPT или Яндекс Go deeplink;
|
|
13
13
|
- `user-skills` - когда пользователь просит создать, включить, выключить или удалить собственный skill.
|
|
14
14
|
|
|
15
15
|
Обычный диалог вроде `привет` не получает инструкции про слои, отчеты, файлы и браузер.
|
|
@@ -53,12 +53,27 @@ Skill - это инструкция для агента, а не произво
|
|
|
53
53
|
|
|
54
54
|
- `user_skill_list` - список пользовательских skills;
|
|
55
55
|
- `user_skill_create` - создать skill;
|
|
56
|
+
- `user_skill_update` - обновить существующий skill;
|
|
57
|
+
- `user_skill_templates` - показать готовые шаблоны;
|
|
58
|
+
- `user_skill_preview` - показать будущий `SKILL.md` до записи;
|
|
59
|
+
- `user_skill_validate` - проверить структуру и безопасность skill;
|
|
56
60
|
- `user_skill_enable` - включить skill;
|
|
57
61
|
- `user_skill_disable` - выключить skill;
|
|
58
62
|
- `user_skill_delete` - удалить пользовательский skill.
|
|
59
63
|
|
|
60
64
|
При создании через AI пользователь может написать обычным языком: `создай скилл, который при просьбе "сводка почты" берет непрочитанные письма и группирует по отправителям`. CLI создаст локальный `SKILL.md` и включит его.
|
|
61
65
|
|
|
66
|
+
Команды:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
iola skills templates
|
|
70
|
+
iola skills preview family --template family-calendar
|
|
71
|
+
iola skills create family --template family-calendar --enable
|
|
72
|
+
iola skills validate family
|
|
73
|
+
iola skills update family --instructions "..."
|
|
74
|
+
iola skills delete family --yes
|
|
75
|
+
```
|
|
76
|
+
|
|
62
77
|
Для опасных действий внутри пользовательского skill нужно явное подтверждение пользователя: отправка писем, удаление данных, публикация ссылок, запись файлов и изменение внешних сервисов.
|
|
63
78
|
|
|
64
79
|
## Yandex toolset
|
|
@@ -71,6 +86,7 @@ Toolset `yandex` включает локальные tools для пользов
|
|
|
71
86
|
- Яндекс Календарь: календари, список, поиск, создание, перенос, редактирование, повторы, напоминания, удаление событий;
|
|
72
87
|
- Яндекс Документы / 360: работа через Яндекс Диск - список, поиск, создание текстовых документов, чтение, ссылка/QR, переименование, удаление;
|
|
73
88
|
- Яндекс Контакты: статус, список, поиск, карточка, создание, обновление, удаление, импорт/экспорт, дубликаты, неполные карточки, backup на Диск, дни рождения в календарь, письмо/ссылка/встреча по контакту;
|
|
89
|
+
- Комбинированные сценарии: пакет по письму, полный пакет по контакту, ежедневный дайджест, календарные напоминания, аудит Яндекс Диска;
|
|
74
90
|
- Телемост: попытка прямого API и fallback через календарное событие, если API недоступен аккаунту.
|
|
75
91
|
|
|
76
92
|
Опасные действия ограничены: отправка письма, удаление файлов, публикация ссылок, создание/изменение документов и создание/изменение/удаление событий требуют явного подтверждения в tool-вызове. Токены хранятся локально в `~/.iola/secrets.json`.
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# Yandex Cloud Connector
|
|
2
|
+
|
|
3
|
+
`Yandex Cloud Connector` подключает к `iola-cli` сервисы Yandex Cloud, которые нужны жителю:
|
|
4
|
+
|
|
5
|
+
- Яндекс Геокодер - адреса, координаты, расстояния, ссылки на карту и deeplink Яндекс Go;
|
|
6
|
+
- YandexGPT - российская AI-модель в меню `/model`.
|
|
7
|
+
|
|
8
|
+
Это отдельный коннектор. Он не заменяет обычный `Yandex Connector` для Диска, Почты, Календаря и Контактов.
|
|
9
|
+
|
|
10
|
+
## Как подключить
|
|
11
|
+
|
|
12
|
+
Самый простой путь:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
iola master
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
В мастере выберите:
|
|
19
|
+
|
|
20
|
+
```text
|
|
21
|
+
4. Yandex Cloud Connector - геокодинг и YandexGPT
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
CLI откроет консоль Yandex Cloud и попросит сохранить:
|
|
25
|
+
|
|
26
|
+
- ключ `YANDEX_GEOCODER_API_KEY`;
|
|
27
|
+
- при необходимости YandexGPT API key;
|
|
28
|
+
- при необходимости `YANDEXGPT_FOLDER_ID`.
|
|
29
|
+
|
|
30
|
+
Геокодер включается по умолчанию. YandexGPT можно включить сразу или позже через `/model`.
|
|
31
|
+
|
|
32
|
+
Прямые команды:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
iola yandex cloud setup
|
|
36
|
+
iola yandex cloud status
|
|
37
|
+
iola yandex cloud doctor
|
|
38
|
+
iola yandex cloud enable geocoder yandexgpt
|
|
39
|
+
iola yandex cloud disable yandexgpt
|
|
40
|
+
iola yandex cloud delete
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Ключи сохраняются только локально в:
|
|
44
|
+
|
|
45
|
+
```text
|
|
46
|
+
~/.iola/secrets.json
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## YandexGPT в /model
|
|
50
|
+
|
|
51
|
+
Откройте меню моделей:
|
|
52
|
+
|
|
53
|
+
```text
|
|
54
|
+
/model
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Выберите:
|
|
58
|
+
|
|
59
|
+
```text
|
|
60
|
+
2. Российские AI (YandexGPT/GigaChat)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Если Yandex Cloud Connector еще не подключен, CLI объяснит, что нужен коннектор, и предложит включить его. Если отказаться, CLI вернется в меню выбора моделей.
|
|
64
|
+
|
|
65
|
+
## Геокодер
|
|
66
|
+
|
|
67
|
+
После подключения доступны geo-команды:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
iola geo key doctor
|
|
71
|
+
iola geo geocode "Йошкар-Ола, улица Петрова, 15"
|
|
72
|
+
iola geo nearby "Йошкар-Ола, улица Петрова, 15" --dataset all --limit 5
|
|
73
|
+
iola geo distance --from "Петрова 15" --to "школа 7"
|
|
74
|
+
iola geo map-link "школа 7"
|
|
75
|
+
iola geo route-context "школа 7"
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Геокодер также нужен для Яндекс Go deeplink:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
iola yandex go link --from "Медведево, Школьная 15" --to "Медведево, Советская 20"
|
|
82
|
+
iola yandex go open --from "Медведево, Школьная 15" --to "Медведево, Советская 20" --tariff econom
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Если ключ геокодера не найден, CLI пишет понятную ошибку и предлагает:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
iola master
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
или:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
iola yandex cloud setup
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Яндекс Go
|
|
98
|
+
|
|
99
|
+
Сейчас `iola-cli` поддерживает только безопасный сценарий:
|
|
100
|
+
|
|
101
|
+
- уточнить адрес отправления и назначения;
|
|
102
|
+
- получить координаты через геокодер;
|
|
103
|
+
- сформировать deeplink маршрута Яндекс Go;
|
|
104
|
+
- при команде `open` открыть ссылку в браузере или приложении.
|
|
105
|
+
|
|
106
|
+
CLI не нажимает кнопку заказа, не подтверждает поездку, не списывает деньги и не обещает цену. Цена, повышенный спрос, детское кресло, назначение машины и отмена поездки требуют партнерского `clid/apikey` от Яндекса.
|
|
107
|
+
|
|
108
|
+
Примеры:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
iola yandex go link --from "Йошкар-Ола, Ленинский 24" --to "Йошкар-Ола, Кремлевская 26"
|
|
112
|
+
iola ask "сделай ссылку Яндекс Go от Медведево, Школьная 15 до Медведево, Советская 20"
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Ручная инструкция по ключу геокодера
|
|
116
|
+
|
|
117
|
+
Если нужен только геокодер без YandexGPT, можно использовать отдельную инструкцию:
|
|
118
|
+
|
|
119
|
+
[Yandex Geocoder API key](Yandex-Geocoder-API-key)
|
|
120
|
+
|
|
121
|
+
Бесплатный лимит API Геокодера для обычного ключа у Яндекса указан как до 1000 запросов в сутки. Новый ключ может активироваться с задержкой 15-30 минут.
|
|
122
|
+
|
|
123
|
+
## Важно
|
|
124
|
+
|
|
125
|
+
Yandex Cloud тарифицирует YandexGPT по правилам Yandex Cloud. Перед активным использованием модели проверьте лимиты и оплату в консоли.
|
|
126
|
+
|
|
127
|
+
Не публикуйте API-ключи и folder ID в GitHub, README, issue, wiki или чатах поддержки.
|
package/wiki/Yandex-Connector.md
CHANGED
|
@@ -42,14 +42,17 @@ iola yandex token delete
|
|
|
42
42
|
- `docs` - Яндекс Документы / 360 через Диск;
|
|
43
43
|
- `telemost` - Яндекс Телемост через календарное событие.
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
Отдельный коннектор, не обычный OAuth бытового Яндекса:
|
|
46
46
|
|
|
47
|
-
- `cloud` - Yandex Cloud
|
|
48
|
-
- `maps` -
|
|
47
|
+
- `cloud` - Yandex Cloud Connector: ключ геокодера, YandexGPT API key и folder ID;
|
|
48
|
+
- `maps` - Яндекс Геокодер: адреса, координаты, расстояния, ссылки на карту и deeplink маршрута.
|
|
49
|
+
|
|
50
|
+
Готово без оформления заказа:
|
|
51
|
+
|
|
52
|
+
- `taxi` - Яндекс Go / Такси: подготовить маршрут, геокодировать адреса, сформировать deeplink и открыть приложение. Заказ, цена и назначение машины ждут партнерский `clid/apikey` от Яндекса;
|
|
49
53
|
|
|
50
54
|
Backlog после первого контура:
|
|
51
55
|
|
|
52
|
-
- `taxi` - Яндекс Go / Такси: только подготовить маршрут и открыть приложение, без заказа и оплаты;
|
|
53
56
|
- `market` - Яндекс Маркет: поиск и список покупок, без корзины и оплаты;
|
|
54
57
|
- `delivery` - Яндекс Доставка: подготовка заявки/ссылки, без оформления и оплаты.
|
|
55
58
|
|
|
@@ -107,6 +110,19 @@ iola cloud doctor
|
|
|
107
110
|
|
|
108
111
|
Если включен `disk`, токен автоматически подключается и к старому облачному провайдеру `yandex-disk`, поэтому команды `iola cloud ...` продолжают работать.
|
|
109
112
|
|
|
113
|
+
Yandex Cloud Connector подключается отдельно:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
iola yandex cloud setup
|
|
117
|
+
iola yandex cloud status
|
|
118
|
+
iola yandex cloud enable geocoder yandexgpt
|
|
119
|
+
iola yandex cloud disable yandexgpt
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
В `/yandex` для него есть отдельный пункт `Yandex Cloud Connector - геокодинг и YandexGPT`. Геокодер включается по умолчанию, потому что он нужен для geo-skills и deeplink Яндекс Go. YandexGPT можно включить там же или выбрать через `/model`.
|
|
123
|
+
|
|
124
|
+
Если пользователь выбирает YandexGPT в `/model`, а Cloud Connector еще не подключен, CLI объясняет, что нужен Yandex Cloud Connector, и предлагает открыть настройку.
|
|
125
|
+
|
|
110
126
|
## Что значит включить сервис
|
|
111
127
|
|
|
112
128
|
OAuth-права дают CLI разрешение обращаться к сервису Яндекса. Практическая работа идет через локальные tools:
|
|
@@ -182,8 +198,23 @@ QR-код:
|
|
|
182
198
|
- `yandex_contact_create_calendar_event` - создать встречу с контактом;
|
|
183
199
|
- `yandex_contact_create_telemost_event` - создать событие для Телемоста с контактом;
|
|
184
200
|
- `yandex_contact_from_public_entity` - создать контакт из открытого городского слоя;
|
|
201
|
+
- `yandex_contact_full_pack` - собрать полный пакет по контакту: папка на Диске, заметка, публичная ссылка/QR, событие календаря и опциональное письмо;
|
|
202
|
+
- `yandex_mail_meeting_pack` - собрать пакет по письму: сохранить письмо на Диск, создать ссылку/QR, поставить встречу в календарь и опционально отправить ссылку отправителю;
|
|
185
203
|
- `yandex_telemost_status` - проверить режим Телемоста;
|
|
186
204
|
- `yandex_telemost_create_event` - создать встречу: прямой Telemost API используется только если он доступен аккаунту; иначе создается календарное событие без выдуманной ссылки.
|
|
205
|
+
- `yandex_cloud_status` - проверить Yandex Cloud Connector;
|
|
206
|
+
- `yandex_go_deeplink` - построить deeplink маршрута Яндекс Go по адресам или координатам.
|
|
207
|
+
|
|
208
|
+
Комбинированные сценарии:
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
iola ask "по последнему письму создай встречу завтра в 14:00, сохрани письмо на диск и пришли отправителю ссылку"
|
|
212
|
+
iola ask "собери полный пакет по контакту Петров: папка на диске, заметка, встреча завтра в 12 и ссылка с QR"
|
|
213
|
+
iola ask "создай папку для школы 2 на яндекс диске и отправь ссылку контакту Иванов"
|
|
214
|
+
iola ask "сделай ссылку Яндекс Go от Медведево, Школьная 15 до Медведево, Советская 20"
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
CLI использует уже подключенные сервисы: Почту, Диск, Контакты и Календарь. Если не хватает email, найдено несколько контактов или неясна дата встречи, CLI должен уточнить, а не выбирать случайно.
|
|
187
218
|
|
|
188
219
|
Регулярная проверка контактов:
|
|
189
220
|
|
|
@@ -197,6 +228,32 @@ iola yandex contacts-maintenance off
|
|
|
197
228
|
|
|
198
229
|
Проверка ищет дубликаты и неполные карточки. Если включен `--backup`, при tick сохраняется CSV-копия контактов на Яндекс Диск.
|
|
199
230
|
|
|
231
|
+
Регулярная автоматизация:
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
iola yandex daily-digest on --time 09:00
|
|
235
|
+
iola yandex daily-digest on --time 09:00 --email
|
|
236
|
+
iola yandex daily-digest status
|
|
237
|
+
iola yandex daily-digest tick
|
|
238
|
+
iola yandex daily-digest off
|
|
239
|
+
|
|
240
|
+
iola yandex calendar-reminders on --minutes 15
|
|
241
|
+
iola yandex calendar-reminders status
|
|
242
|
+
iola yandex calendar-reminders tick
|
|
243
|
+
iola yandex calendar-reminders off
|
|
244
|
+
|
|
245
|
+
iola yandex disk-maintenance on --days 7
|
|
246
|
+
iola yandex disk-maintenance status
|
|
247
|
+
iola yandex disk-maintenance tick
|
|
248
|
+
iola yandex disk-maintenance off
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
`daily-digest` собирает короткую сводку: непрочитанные письма, события ближайших суток и неполные контакты. По умолчанию сводка сохраняется документом в `/IOLA/docs`; с `--email` дополнительно отправляется на email подключенного Yandex ID.
|
|
252
|
+
|
|
253
|
+
`calendar-reminders` проверяет события в ближайшие минуты и показывает напоминания без повторов по уже увиденным событиям.
|
|
254
|
+
|
|
255
|
+
`disk-maintenance` проверяет место на Диске, публичные ссылки и состояние папки `/IOLA`, затем сохраняет отчет в `/IOLA/docs`.
|
|
256
|
+
|
|
200
257
|
Включение сервиса в `/yandex` разрешает CLI использовать соответствующую категорию. Отправка письма, удаление файлов, публикация ссылок и создание событий требуют явного намерения пользователя и подтверждения в tool-вызове.
|
|
201
258
|
|
|
202
259
|
## Иконка приложения
|
|
@@ -219,10 +276,10 @@ docs/assets/iola-oauth-icon.png
|
|
|
219
276
|
|
|
220
277
|
Yandex Connector не является универсальным ключом ко всему Яндексу.
|
|
221
278
|
|
|
222
|
-
Обычные пользовательские сервисы работают через OAuth и scope. Yandex Cloud, YandexGPT и Geocoder
|
|
279
|
+
Обычные пользовательские сервисы работают через OAuth и scope. Yandex Cloud, YandexGPT и Geocoder подключаются через отдельный Yandex Cloud Connector.
|
|
223
280
|
|
|
224
281
|
Для браузерного подключения в сборке CLI уже указан public OAuth `client_id` приложения IOLA. Это не секретный ключ. Пользователь не должен создавать OAuth-приложение вручную.
|
|
225
282
|
|
|
226
283
|
Яндекс ограничивает количество разных групп сервисов в одном OAuth-приложении. Поэтому один токен не может покрыть Диск, Почту, Календарь и Контакты сразу. CLI использует две встроенные группы: `IOLA CLI A` и `IOLA CLI B`.
|
|
227
284
|
|
|
228
|
-
CLI не должен автоматически оформлять покупки, вызывать такси, подтверждать доставку или выполнять платежи. Для
|
|
285
|
+
CLI не должен автоматически оформлять покупки, вызывать такси, подтверждать доставку или выполнять платежи. Для Яндекс Go сейчас допустимы только геокодирование адресов, подготовка deeplink маршрута и открытие приложения. Финальное действие делает пользователь в приложении Яндекса.
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
# Yandex Geocoder API key
|
|
2
2
|
|
|
3
|
-
Эта инструкция нужна для подключения геокодера Яндекса к `iola-cli`.
|
|
3
|
+
Эта инструкция нужна для ручного подключения геокодера Яндекса к `iola-cli`.
|
|
4
|
+
|
|
5
|
+
Рекомендуемый путь для обычного пользователя - через [Yandex Cloud Connector](Yandex-Cloud-Connector):
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
iola yandex cloud setup
|
|
9
|
+
```
|
|
4
10
|
|
|
5
11
|
Геокодер нужен жителям для вопросов вида:
|
|
6
12
|
|
|
@@ -29,6 +29,8 @@ iola data schools --format csv --output schools.csv
|
|
|
29
29
|
Геокодер:
|
|
30
30
|
|
|
31
31
|
```bash
|
|
32
|
+
iola yandex cloud setup
|
|
33
|
+
iola yandex cloud status
|
|
32
34
|
iola geo key set yandex
|
|
33
35
|
iola geo key status
|
|
34
36
|
iola geo key doctor
|
|
@@ -41,6 +43,14 @@ iola geo route-context "школа 7"
|
|
|
41
43
|
iola geo services "Йошкар-Ола, улица Петрова, 15"
|
|
42
44
|
```
|
|
43
45
|
|
|
46
|
+
Яндекс Go deeplink:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
iola yandex go status
|
|
50
|
+
iola yandex go link --from "Медведево, Школьная 15" --to "Медведево, Советская 20"
|
|
51
|
+
iola yandex go open --from "Медведево, Школьная 15" --to "Медведево, Советская 20" --tariff econom
|
|
52
|
+
```
|
|
53
|
+
|
|
44
54
|
Облачные диски:
|
|
45
55
|
|
|
46
56
|
```bash
|
|
@@ -69,6 +79,10 @@ iola yandex status
|
|
|
69
79
|
iola yandex doctor
|
|
70
80
|
iola yandex enable disk mail calendar
|
|
71
81
|
iola yandex disable mail
|
|
82
|
+
iola yandex cloud setup
|
|
83
|
+
iola yandex cloud enable geocoder yandexgpt
|
|
84
|
+
iola yandex cloud delete
|
|
85
|
+
iola yandex go link --from "Адрес" --to "Адрес"
|
|
72
86
|
iola yandex oauth-url disk --client-id CLIENT_ID
|
|
73
87
|
iola yandex token set
|
|
74
88
|
iola yandex token delete
|
|
@@ -30,11 +30,15 @@ iola master
|
|
|
30
30
|
|
|
31
31
|
После настройки локальную модель можно менять в интерактивном агенте через `/model`. Помимо штатной IOLA-модели можно выбрать установленную или рекомендуемую Ollama-модель, либо вручную ввести имя любой модели из библиотеки Ollama.
|
|
32
32
|
|
|
33
|
-
### 4.
|
|
33
|
+
### 4. Yandex Cloud Connector
|
|
34
34
|
|
|
35
|
-
Настраивает
|
|
35
|
+
Настраивает Yandex Cloud Connector: геокодер и, при необходимости, YandexGPT.
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
Геокодер включается по умолчанию. Он нужен для geo-skills и deeplink Яндекс Go. YandexGPT можно включить сразу или выбрать позже через `/model`.
|
|
38
|
+
|
|
39
|
+
Ключи сохраняются локально у пользователя. Российский AI-провайдер вызывается напрямую, без gateway/proxy.
|
|
40
|
+
|
|
41
|
+
Инструкция: [Yandex Cloud Connector](Yandex-Cloud-Connector).
|
|
38
42
|
|
|
39
43
|
### 5. GigaChat API
|
|
40
44
|
|
|
@@ -86,15 +90,7 @@ iola index folder ./docs
|
|
|
86
90
|
|
|
87
91
|
Если runtime уже установлен, пункт показывается как `готово`.
|
|
88
92
|
|
|
89
|
-
### 14.
|
|
90
|
-
|
|
91
|
-
Сохраняет ключ Yandex Geocoder API локально у пользователя и проверяет его тестовым запросом.
|
|
92
|
-
|
|
93
|
-
Нужен для будущих geo-skills: поиск объектов рядом с адресом, ссылки на карту, определение расстояний и уточнение населенного пункта.
|
|
94
|
-
|
|
95
|
-
Инструкция по получению ключа: [Yandex Geocoder API key](Yandex-Geocoder-API-key).
|
|
96
|
-
|
|
97
|
-
### 15. Облачный диск
|
|
93
|
+
### 14. Облачный диск
|
|
98
94
|
|
|
99
95
|
Подключает личный облачный диск пользователя:
|
|
100
96
|
|
|
@@ -105,7 +101,7 @@ iola index folder ./docs
|
|
|
105
101
|
|
|
106
102
|
Инструкция: [Облачные диски](Облачные-диски).
|
|
107
103
|
|
|
108
|
-
###
|
|
104
|
+
### 15. Yandex Connector
|
|
109
105
|
|
|
110
106
|
Настраивает единый коннектор пользовательских сервисов Яндекса.
|
|
111
107
|
|
|
@@ -116,7 +112,7 @@ iola index folder ./docs
|
|
|
116
112
|
|
|
117
113
|
Мастер не спрашивает список сервисов. Он подключает коннектор с максимальным набором OAuth-прав, а активные функции CLI выбираются позже командой `/yandex` в интерактивном CLI или `iola yandex menu` в терминале.
|
|
118
114
|
|
|
119
|
-
В коннектор также заложены категории для проверки: Почта, Календарь, Контакты,
|
|
115
|
+
В коннектор также заложены категории для проверки: Почта, Календарь, Контакты, Документы/360 и Телемост. Яндекс Go deeplink работает через Yandex Cloud Connector и геокодер; заказ такси, Маркет и Доставка остаются без оформления заказа и оплаты.
|
|
120
116
|
|
|
121
117
|
Инструкция: [Yandex Connector](Yandex-Connector).
|
|
122
118
|
|
|
@@ -28,7 +28,7 @@ iola ai doctor
|
|
|
28
28
|
|
|
29
29
|
```bash
|
|
30
30
|
iola ai key status
|
|
31
|
-
iola
|
|
31
|
+
iola yandex cloud setup
|
|
32
32
|
iola ai key set gigachat
|
|
33
33
|
iola ai key set openai
|
|
34
34
|
iola ai key set openrouter
|
|
@@ -41,7 +41,7 @@ iola ai key set openrouter
|
|
|
41
41
|
- OpenAI Platform: `https://platform.openai.com/api-keys`
|
|
42
42
|
- OpenRouter: `https://openrouter.ai/settings/keys`
|
|
43
43
|
|
|
44
|
-
Для YandexGPT нужен не только API key, но и folder ID каталога Yandex Cloud. Для GigaChat нужен authorization key; CLI сам получает OAuth-токен перед запросом.
|
|
44
|
+
Для YandexGPT нужен не только API key, но и folder ID каталога Yandex Cloud. Рекомендуемый путь - `iola yandex cloud setup`, там же подключается ключ геокодера для geo-skills и Яндекс Go deeplink. Для GigaChat нужен authorization key; CLI сам получает OAuth-токен перед запросом.
|
|
45
45
|
|
|
46
46
|
Важно: оплата российскими банковскими картами для OpenAI Platform и OpenRouter может быть невозможна. Если API-запросы не проходят после сохранения ключа, проверьте не только ключ, но и billing/баланс в личном кабинете сервиса.
|
|
47
47
|
|
|
@@ -322,6 +322,7 @@ iola geo services "Йошкар-Ола, улица Петрова, 15"
|
|
|
322
322
|
- создать папку контакта на Яндекс Диске и сохранить туда `contact.vcf` и `README.txt`;
|
|
323
323
|
- создать встречу с контактом в Яндекс Календаре;
|
|
324
324
|
- создать календарное событие для Телемоста с контактом;
|
|
325
|
+
- создать полный пакет контакта: папка на Диске, Markdown-документ, публичная ссылка, QR-код и встреча в календаре;
|
|
325
326
|
- создать контакт из открытого городского слоя, если у школы или детского сада есть публичный email или телефон.
|
|
326
327
|
|
|
327
328
|
Примеры:
|
|
@@ -329,9 +330,26 @@ iola geo services "Йошкар-Ола, улица Петрова, 15"
|
|
|
329
330
|
- `отправь Петрову письмо текст: встреча завтра в 14:00`;
|
|
330
331
|
- `отправь Иванову ссылку и QR-код на /IOLA/report.pdf`;
|
|
331
332
|
- `создай папку на Яндекс Диске для контакта Иван Петров`;
|
|
333
|
+
- `подготовь полный пакет по контакту Иван Петров завтра в 15:00`;
|
|
332
334
|
- `создай встречу с Иваном Петровым завтра в 15:00`;
|
|
333
335
|
- `создай контакт из школы № 7`.
|
|
334
336
|
|
|
337
|
+
### yandex-mail-combined
|
|
338
|
+
|
|
339
|
+
Комбинированные сценарии по письмам:
|
|
340
|
+
|
|
341
|
+
- сохранить письмо на Яндекс Диск в Markdown;
|
|
342
|
+
- создать публичную ссылку и QR-код на сохраненное письмо;
|
|
343
|
+
- создать событие календаря по письму;
|
|
344
|
+
- пригласить отправителя письма как участника, если в отправителе есть email;
|
|
345
|
+
- при явной просьбе отправить отправителю ссылку и QR-код.
|
|
346
|
+
|
|
347
|
+
Примеры:
|
|
348
|
+
|
|
349
|
+
- `по письму #2382 создай пакет: сохрани на диск, сделай ссылку и событие`;
|
|
350
|
+
- `по самому свежему письму подготовь встречу завтра в 14:00`;
|
|
351
|
+
- `сохрани письмо #2382 на Диск и создай событие`.
|
|
352
|
+
|
|
335
353
|
### yandex-telemost
|
|
336
354
|
|
|
337
355
|
Подготовить встречу через Телемост:
|
|
@@ -342,20 +360,53 @@ iola geo services "Йошкар-Ола, улица Петрова, 15"
|
|
|
342
360
|
|
|
343
361
|
CLI не должен сам нажимать финальные кнопки в веб-интерфейсе Яндекса без явного действия пользователя и не должен выдумывать ссылку Телемоста.
|
|
344
362
|
|
|
345
|
-
|
|
363
|
+
### yandex-automation
|
|
346
364
|
|
|
347
|
-
|
|
365
|
+
Регулярные сценарии через локальный cron:
|
|
366
|
+
|
|
367
|
+
- автоопрос новых писем;
|
|
368
|
+
- ежедневный дайджест: непрочитанные письма, события на 24 часа, неполные контакты, сохранение отчета на Диск;
|
|
369
|
+
- календарные напоминания: проверка ближайших событий;
|
|
370
|
+
- регулярная проверка контактов: неполные карточки, дубликаты, backup;
|
|
371
|
+
- аудит Яндекс Диска: место, корзина, документы и публичные ссылки в `/IOLA`.
|
|
372
|
+
|
|
373
|
+
Команды:
|
|
374
|
+
|
|
375
|
+
- `iola yandex mail-watch on --minutes 5`;
|
|
376
|
+
- `iola yandex daily-digest on --time 09:00`;
|
|
377
|
+
- `iola yandex calendar-reminders on --minutes 15`;
|
|
378
|
+
- `iola yandex contacts-maintenance on --days 7 --backup`;
|
|
379
|
+
- `iola yandex disk-maintenance on --days 7`.
|
|
380
|
+
|
|
381
|
+
## Yandex Go deeplink
|
|
382
|
+
|
|
383
|
+
Эти сценарии не оформляют заказ, не списывают деньги и не нажимают финальную кнопку вместо пользователя.
|
|
348
384
|
|
|
349
385
|
### taxi-prepare-ride
|
|
350
386
|
|
|
351
387
|
Подготовить поездку в Яндекс Go:
|
|
352
388
|
|
|
353
389
|
- уточнить точку отправления и назначения;
|
|
354
|
-
- геокодировать
|
|
390
|
+
- геокодировать адреса через Yandex Cloud Connector;
|
|
355
391
|
- сформировать ссылку/deep link в Яндекс Go;
|
|
356
392
|
- открыть приложение или страницу;
|
|
357
393
|
- пользователь сам проверяет цену и нажимает заказ.
|
|
358
394
|
|
|
395
|
+
Команды:
|
|
396
|
+
|
|
397
|
+
```bash
|
|
398
|
+
iola yandex go link --from "Медведево, Школьная 15" --to "Медведево, Советская 20"
|
|
399
|
+
iola yandex go open --from "Медведево, Школьная 15" --to "Медведево, Советская 20" --tariff econom
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
Если ключ геокодера не подключен, CLI должен объяснить, что нужно открыть `/master` и выбрать `Yandex Cloud Connector (геокодинг и YandexGPT)`, либо запустить `iola yandex cloud setup`.
|
|
403
|
+
|
|
404
|
+
Цена, повышенный спрос, детское кресло, назначение машины и отмена поездки через API ждут партнерский `clid/apikey` от Яндекса.
|
|
405
|
+
|
|
406
|
+
## Yandex Connector backlog
|
|
407
|
+
|
|
408
|
+
Эти сценарии зафиксированы для следующего этапа. Они не должны оформлять заказ, списывать деньги или нажимать финальную кнопку вместо пользователя.
|
|
409
|
+
|
|
359
410
|
### market-prepare-cart
|
|
360
411
|
|
|
361
412
|
Подготовить список покупок для Яндекс Маркета:
|