@iola_adm/iola-cli 0.2.34 → 0.2.36

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.
@@ -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
- RPC-команды:
37
+ ## Готовые cron-сценарии Яндекса
17
38
 
18
39
  ```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
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
- 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
- ```
47
+ - `mail-watch` проверяет новые письма.
48
+ - `daily-digest` собирает сводку по почте, календарю и контактам, сохраняет Markdown-документ на Яндекс Диск.
49
+ - `calendar-reminders` проверяет ближайшие события календаря.
50
+ - `contacts-maintenance` ищет неполные карточки и дубликаты, опционально делает backup.
51
+ - `disk-maintenance` проверяет место, документы и публичные ссылки в папке `/IOLA`, сохраняет отчет на Диск.
34
52
 
35
- `cron tick` проверяет задачи, которые пора выполнить. Его можно запускать вручную, через Windows Task Scheduler или другой планировщик.
53
+ Чтобы расписания выполнялись автоматически, должен регулярно запускаться `iola cron tick`: вручную, через daemon или системный планировщик.
@@ -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
@@ -68,8 +83,10 @@ Toolset `yandex` включает локальные tools для пользов
68
83
  - Yandex ID: профиль, логин, email;
69
84
  - Яндекс Диск: список, создание папок, поиск, сохранение текста, загрузка, скачивание, публичные ссылки;
70
85
  - Яндекс Почта: статус, список писем, поиск, чтение, отправка;
71
- - Яндекс Календарь: статус, список событий, создание события;
86
+ - Яндекс Календарь: календари, список, поиск, создание, перенос, редактирование, повторы, напоминания, удаление событий;
87
+ - Яндекс Документы / 360: работа через Яндекс Диск - список, поиск, создание текстовых документов, чтение, ссылка/QR, переименование, удаление;
72
88
  - Яндекс Контакты: статус, список, поиск, карточка, создание, обновление, удаление, импорт/экспорт, дубликаты, неполные карточки, backup на Диск, дни рождения в календарь, письмо/ссылка/встреча по контакту;
73
- - Телемост: подготовка встречи через календарное событие.
89
+ - Комбинированные сценарии: пакет по письму, полный пакет по контакту, ежедневный дайджест, календарные напоминания, аудит Яндекс Диска;
90
+ - Телемост: попытка прямого API и fallback через календарное событие, если API недоступен аккаунту.
74
91
 
75
- Опасные действия ограничены: отправка письма, удаление файлов, публикация ссылок и создание событий требуют явного подтверждения в tool-вызове. Токены хранятся локально в `~/.iola/secrets.json`.
92
+ Опасные действия ограничены: отправка письма, удаление файлов, публикация ссылок, создание/изменение документов и создание/изменение/удаление событий требуют явного подтверждения в tool-вызове. Токены хранятся локально в `~/.iola/secrets.json`.
@@ -143,8 +143,24 @@ QR-код:
143
143
  - `yandex_mail_read` - прочитать письмо по UID;
144
144
  - `yandex_mail_send` - отправить письмо;
145
145
  - `yandex_calendar_status` - проверить доступ к Календарю;
146
- - `yandex_calendar_list` - показать события;
147
- - `yandex_calendar_create_event` - создать событие;
146
+ - `yandex_calendar_calendars` - показать доступные календари;
147
+ - `yandex_calendar_list` - показать ближайшие события;
148
+ - `yandex_calendar_search` - найти событие;
149
+ - `yandex_calendar_get` - открыть карточку события;
150
+ - `yandex_calendar_create_event` - создать событие с участниками, местом и напоминаниями;
151
+ - `yandex_calendar_create_recurring_event` - создать повторяющееся событие;
152
+ - `yandex_calendar_update` - изменить событие;
153
+ - `yandex_calendar_move` - перенести событие;
154
+ - `yandex_calendar_add_reminder` - добавить напоминание;
155
+ - `yandex_calendar_delete` - удалить событие;
156
+ - `yandex_docs_status` - проверить Документы / 360 через Диск;
157
+ - `yandex_docs_list` - показать документы;
158
+ - `yandex_docs_find` - найти документ;
159
+ - `yandex_docs_create_text` - создать текстовый документ на Яндекс Диске;
160
+ - `yandex_docs_read` - прочитать небольшой текстовый документ;
161
+ - `yandex_docs_share` - создать ссылку и QR-код на документ;
162
+ - `yandex_docs_rename` - переименовать документ;
163
+ - `yandex_docs_delete` - удалить документ;
148
164
  - `yandex_contacts_status` - проверить доступ к Контактам;
149
165
  - `yandex_contacts_list` - показать контакты;
150
166
  - `yandex_contacts_search` - найти контакт по имени, email, телефону, организации, адресу или заметке;
@@ -166,7 +182,20 @@ QR-код:
166
182
  - `yandex_contact_create_calendar_event` - создать встречу с контактом;
167
183
  - `yandex_contact_create_telemost_event` - создать событие для Телемоста с контактом;
168
184
  - `yandex_contact_from_public_entity` - создать контакт из открытого городского слоя;
169
- - `yandex_telemost_create_event` - создать календарное событие для встречи.
185
+ - `yandex_contact_full_pack` - собрать полный пакет по контакту: папка на Диске, заметка, публичная ссылка/QR, событие календаря и опциональное письмо;
186
+ - `yandex_mail_meeting_pack` - собрать пакет по письму: сохранить письмо на Диск, создать ссылку/QR, поставить встречу в календарь и опционально отправить ссылку отправителю;
187
+ - `yandex_telemost_status` - проверить режим Телемоста;
188
+ - `yandex_telemost_create_event` - создать встречу: прямой Telemost API используется только если он доступен аккаунту; иначе создается календарное событие без выдуманной ссылки.
189
+
190
+ Комбинированные сценарии:
191
+
192
+ ```bash
193
+ iola ask "по последнему письму создай встречу завтра в 14:00, сохрани письмо на диск и пришли отправителю ссылку"
194
+ iola ask "собери полный пакет по контакту Петров: папка на диске, заметка, встреча завтра в 12 и ссылка с QR"
195
+ iola ask "создай папку для школы 2 на яндекс диске и отправь ссылку контакту Иванов"
196
+ ```
197
+
198
+ CLI использует уже подключенные сервисы: Почту, Диск, Контакты и Календарь. Если не хватает email, найдено несколько контактов или неясна дата встречи, CLI должен уточнить, а не выбирать случайно.
170
199
 
171
200
  Регулярная проверка контактов:
172
201
 
@@ -180,6 +209,32 @@ iola yandex contacts-maintenance off
180
209
 
181
210
  Проверка ищет дубликаты и неполные карточки. Если включен `--backup`, при tick сохраняется CSV-копия контактов на Яндекс Диск.
182
211
 
212
+ Регулярная автоматизация:
213
+
214
+ ```bash
215
+ iola yandex daily-digest on --time 09:00
216
+ iola yandex daily-digest on --time 09:00 --email
217
+ iola yandex daily-digest status
218
+ iola yandex daily-digest tick
219
+ iola yandex daily-digest off
220
+
221
+ iola yandex calendar-reminders on --minutes 15
222
+ iola yandex calendar-reminders status
223
+ iola yandex calendar-reminders tick
224
+ iola yandex calendar-reminders off
225
+
226
+ iola yandex disk-maintenance on --days 7
227
+ iola yandex disk-maintenance status
228
+ iola yandex disk-maintenance tick
229
+ iola yandex disk-maintenance off
230
+ ```
231
+
232
+ `daily-digest` собирает короткую сводку: непрочитанные письма, события ближайших суток и неполные контакты. По умолчанию сводка сохраняется документом в `/IOLA/docs`; с `--email` дополнительно отправляется на email подключенного Yandex ID.
233
+
234
+ `calendar-reminders` проверяет события в ближайшие минуты и показывает напоминания без повторов по уже увиденным событиям.
235
+
236
+ `disk-maintenance` проверяет место на Диске, публичные ссылки и состояние папки `/IOLA`, затем сохраняет отчет в `/IOLA/docs`.
237
+
183
238
  Включение сервиса в `/yandex` разрешает CLI использовать соответствующую категорию. Отправка письма, удаление файлов, публикация ссылок и создание событий требуют явного намерения пользователя и подтверждения в tool-вызове.
184
239
 
185
240
  ## Иконка приложения
@@ -233,7 +233,47 @@ iola geo services "Йошкар-Ола, улица Петрова, 15"
233
233
  Работать с Яндекс Календарем:
234
234
 
235
235
  - показать ближайшие события;
236
- - создать событие только после явного подтверждения.
236
+ - показать список календарей;
237
+ - найти событие по названию, месту, описанию или дате;
238
+ - создать событие только после явного подтверждения;
239
+ - создать повторяющееся событие;
240
+ - перенести встречу на новую дату или время;
241
+ - изменить название, описание или место события;
242
+ - добавить напоминание;
243
+ - удалить событие по явной просьбе.
244
+
245
+ Примеры:
246
+
247
+ - `покажи яндекс календарь`;
248
+ - `найди событие собрание в яндекс календаре`;
249
+ - `создай событие название: прием врача завтра в 10:00`;
250
+ - `перенеси встречу прием врача на послезавтра в 11:00`;
251
+ - `добавь напоминание 20 минут к событию прием врача`;
252
+ - `удали событие прием врача`.
253
+
254
+ ### yandex-docs
255
+
256
+ Работать с документами Яндекс 360 через Яндекс Диск:
257
+
258
+ - показать документы в папке `/IOLA/docs`;
259
+ - найти документ по названию;
260
+ - создать текстовый, Markdown или HTML-документ;
261
+ - прочитать небольшой текстовый документ;
262
+ - создать публичную ссылку и QR-код на документ;
263
+ - переименовать документ;
264
+ - удалить документ по явной просьбе.
265
+
266
+ Важно: CLI работает с документами как с файлами на Яндекс Диске. Он не подменяет веб-редактор Яндекс Документов и не обещает создание "нативного" документа, если Яндекс не дает стабильный API для этого действия.
267
+
268
+ Примеры:
269
+
270
+ - `покажи документы на Яндекс Диске`;
271
+ - `найди документ справка на Яндекс Диске`;
272
+ - `создай документ яндекс 360 название: заметка текст: купить лекарства`;
273
+ - `прочитай документ /IOLA/docs/заметка.md`;
274
+ - `сделай ссылку на документ /IOLA/docs/заметка.md`;
275
+ - `переименуй документ /IOLA/docs/заметка.md в лекарства.md`;
276
+ - `удали документ /IOLA/docs/лекарства.md`.
237
277
 
238
278
  ### yandex-contacts
239
279
 
@@ -282,6 +322,7 @@ iola geo services "Йошкар-Ола, улица Петрова, 15"
282
322
  - создать папку контакта на Яндекс Диске и сохранить туда `contact.vcf` и `README.txt`;
283
323
  - создать встречу с контактом в Яндекс Календаре;
284
324
  - создать календарное событие для Телемоста с контактом;
325
+ - создать полный пакет контакта: папка на Диске, Markdown-документ, публичная ссылка, QR-код и встреча в календаре;
285
326
  - создать контакт из открытого городского слоя, если у школы или детского сада есть публичный email или телефон.
286
327
 
287
328
  Примеры:
@@ -289,12 +330,53 @@ iola geo services "Йошкар-Ола, улица Петрова, 15"
289
330
  - `отправь Петрову письмо текст: встреча завтра в 14:00`;
290
331
  - `отправь Иванову ссылку и QR-код на /IOLA/report.pdf`;
291
332
  - `создай папку на Яндекс Диске для контакта Иван Петров`;
333
+ - `подготовь полный пакет по контакту Иван Петров завтра в 15:00`;
292
334
  - `создай встречу с Иваном Петровым завтра в 15:00`;
293
335
  - `создай контакт из школы № 7`.
294
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
+
295
353
  ### yandex-telemost
296
354
 
297
- Подготовить встречу через календарное событие. CLI не должен сам нажимать финальные кнопки в интерфейсе Яндекса без явного действия пользователя.
355
+ Подготовить встречу через Телемост:
356
+
357
+ - проверить режим Телемоста;
358
+ - попробовать создать ссылку через прямой API, если он доступен текущему аккаунту;
359
+ - если прямой API недоступен, создать календарное событие и честно сообщить, что ссылка Телемоста не была получена через API.
360
+
361
+ CLI не должен сам нажимать финальные кнопки в веб-интерфейсе Яндекса без явного действия пользователя и не должен выдумывать ссылку Телемоста.
362
+
363
+ ### yandex-automation
364
+
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`.
298
380
 
299
381
  ## Yandex Connector backlog
300
382