Fix timeout issues: increased to 60s, add retry on CANCEL, default model Medium
This commit is contained in:
parent
ae5907c45f
commit
cabc6b8d85
3 changed files with 252 additions and 92 deletions
55
AGENTS.md
55
AGENTS.md
|
|
@ -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*
|
||||
Loading…
Add table
Add a link
Reference in a new issue