Fix timeout issues: increased to 60s, add retry on CANCEL, default model Medium

This commit is contained in:
Алексей Будаев 2026-04-10 20:14:17 +08:00
parent ae5907c45f
commit cabc6b8d85
3 changed files with 252 additions and 92 deletions

View file

@ -95,7 +95,8 @@ web_search НЕ является интерфейсом поисковика и
**Tool Loop (MainActivity):**
- Максимум итераций: 15
- Timeout на итерацию: 30 секунд
- Timeout на итерацию: 60 секунд
- Retry (до 2 попыток) при ошибке "stream was reset: CANCEL"
- AI может сделать несколько последовательных поисков если нужно
### 🌤️ Weather Tool (БЕСПЛАТНОЕ решение)
@ -201,6 +202,8 @@ Kai имеет отличную документацию по tools: https://kai
- LEARNING — выводы и паттерны
- ERROR — известные ошибки
- PREFERENCE — предпочтения пользователя
- REMINDER_CAL — напоминания календаря (local mode)
- CALENDAR_ERROR — ошибки подключения CalDAV
**Prompt injection:**
```
@ -240,6 +243,29 @@ Kai имеет отличную документацию по tools: https://kai
| Safety | ✅ Max iterations (15), timeout (30s), result truncation (2000 chars) |
| **OpenUrlTool (RSS)** | ✅ Автоматическое определение и парсинг RSS/Atom |
**CalDAV Calendar + Local Reminders (Phase 3 extension):**
| Задача | Статус |
|--------|--------|
| iCalDAV зависимость (Apache 2.0) | ⏳ |
| CalDavRepository (CRUD) | ⏳ |
| UI: drawer_menu → диалог настроек CalDAV | ⏳ |
| Настройка синхронизации (15м-сутки) | ⏳ |
| caldav_get_events, create, update, delete | ⏳ |
| Memory category REMINDER_CAL | ⏳ |
| calendar_add_reminder tool | ⏳ |
| calendar_get_reminders tool | ⏳ |
| Напоминания (любой период: 5мин, 13мин, 2ч, 24ч) | ⏳ |
| Счётчик ошибок CalDAV → memory | ⏳ |
| UnifiedPush (опционально, на потом) | ⏳ |
**Memory REMINDER_CAL fields:**
- key: название напоминания
- value: описание
- triggerTime: unix timestamp когда напомнить
- status: pending / triggered / expired
**Trigger logic:** AI проверяет pending напоминания при каждом запросе
**RSS-ленты (протестировано):**
- lenta.ru/rss/ ✅
- kommersant.ru/rss/news.xml ✅
@ -265,11 +291,20 @@ Kai имеет отличную документацию по tools: https://kai
---
## Unconfirmed Phases (Not Approved)
## Active Plan (Phases 1-5)
Следующие фазы требуют дополнительного планирования:
### Phase 3 (Active): CalDAV Calendar + Local Reminders
**Статус:** 🔄 В разработке | **Оценка:** 4-5 дней
### Phase 4: Heartbeat
**Два режима:**
1. CalDAV — синхронизация с Baikal сервером
2. Local — автономная напоминалка в памяти AI (работает БЕЗ интернета)
**Подробнее:** см. таблицу в разделе Phase 3 выше
---
### Phase 4: Heartbeat (Scheduled)
**Оценка:** 2-3 дня
Автономная периодическая самопроверка:
@ -315,6 +350,16 @@ app/build/outputs/apk/debug/app-debug.apk
### Current Issues
- Кнопка STOP не работает (требует streaming mode)
### Model Selection
- **Default:** mistral-medium-latest (быстрее, меньше ошибок)
- **Доступные модели:** Large, Medium, Codestral, Pixtral
- **OkHttp timeouts:** connect 60s, read 120s, write 60s
### Error Handling (Исправлено)
- Ошибки tool execution (таймауты, network errors) НЕ сохраняются в БД
- Показываются пользователю через Toast
- Предотвращает "отравление" контекста сообщениями об ошибках
---
## ⚠️ ВАЖНЫЕ ПРАВИЛА РАЗРАБОТКИ
@ -449,4 +494,4 @@ app/build/outputs/apk/debug/app-debug.apk
---
*Last updated: 2026-04-10*
*Version: 1.9*
*Version: 1.10*