116 lines
8.9 KiB
Markdown
116 lines
8.9 KiB
Markdown
|
||
# 2026-03-24
|
||
|
||
## Напоминания
|
||
- Установлено напоминание купить таблетки Фурагин на 24 марта 2026, 10:00 UTC (13:00 МСК)
|
||
- Cron задача ID: 69428f8f-d0aa-4e59-8fa3-40693f566374
|
||
- Сообщение будет отправлено через Telegram (chatId: 126472752)
|
||
|
||
## Обновление напоминания
|
||
- 24 марта 05:49 - Слава попросил добать к напоминанию покупку Грипферона и закапать его
|
||
- Cron задача обновлена: добавлен Грипферон в список покупок и указание закапать
|
||
- Новый текст напоминания: 'Напоминание: купить таблетки Фурагин и Грипферон сегодня в обед. Не забудь закапать Грипферон!'
|
||
|
||
## Создание универсальных инструкций для TTS-оптимизации
|
||
- 24 марта 07:28 - Слава попросил создать инструкции, которые позволят любым моделям LLM генерировать идеальный текст для последующей озвучки в ElevenLabs
|
||
- **Создан файл:** TTS_OPTIMIZATION_GUIDELINES.md в workspace
|
||
- **Содержание:** 10 основных принципов оптимизации текста для TTS с примерами
|
||
- **Принципы:** структура предложений, пунктуация для пауз, интонация, форматирование специальных элементов, естественный язык, паузы и ритм, указание ударений, избегание проблемных конструкций, специальная разметка, тестирование
|
||
- **Интеграция:** инструкции можно добавлять в промпт или SOUL.md агента
|
||
|
||
## Напоминание через 20 минут
|
||
- 24 марта 10:18 - Слава попросил 'Повтори через 20 минут'
|
||
- Создана cron задача: reminder-tts-followup, ID: e5bfc181-3db4-415f-a752-192759ca9fd6
|
||
- Время срабатывания: 24 марта 2026, 10:39 UTC (13:39 МСК)
|
||
- Содержание напоминания: вопросы про TTS инструкции и создание агента-оптимизатора
|
||
|
||
## Вопрос про создание ярлыка Telegram на Android
|
||
- 24 марта 16:14 - Слава спросил, как сделать ссылку на чат в Telegram в виде ярлыка на рабочем столе Android
|
||
- **Ответ дан голосовым сообщением:** несколько способов создания ярлыков
|
||
- **Способы:**
|
||
1. Нативный Android: долгое нажатие на чат в Telegram → 'Добавить на главный экран' или перетаскивание
|
||
2. Приложение Shortcut Maker из Google Play
|
||
3. Лаунчеры типа Nova Launcher с расширенными функциями
|
||
4. Виджеты Telegram (менее удобно для открытия конкретного чата)
|
||
|
||
## Обсуждение умной колонки / голосового ассистента
|
||
- 24 марта 17:30–18:08 - Большое обсуждение реализации умной колонки типа Алисы
|
||
- **Варианты тестирования:** Tasker + AutoVoice (триггерное слово, без кнопок)
|
||
- **Железо:** ReSpeaker Lite от Seeed Studio — есть на Ozon, 3 варианта
|
||
- **Платформа:** OpenVoiceOS — Pi4/x86/Docker, встроенный VAD и STT (Whisper)
|
||
- **Интеграция OVOS + OpenClaw:** через Ollama-compatible API
|
||
- **Задержка:** через Telegram ~5–8 сек, напрямую ~3–4 сек
|
||
- **Озвучка:** три варианта — OVOS встроенный / ElevenLabs / Yandex SpeechKit
|
||
- **Статус:** Слава думает, обсудим позже. Следующий шаг — практический тест (предложен Tasker)
|
||
|
||
## Настройка Telegram Collector v2 (24 марта, вечер)
|
||
|
||
### Архитектурные решения
|
||
- Переменные для скилла: `TELEGRAM_COLLECTOR_*` (отдельно от основного Telegram-канала OpenClaw)
|
||
- Авторизован аккаунт VM (API_ID=36911437, телефон +79962876431)
|
||
- Сессия: `skills/telegram-collector/telegram_collector.session`
|
||
|
||
### Структура хранения данных (согласована)
|
||
```
|
||
raw/{channel_id}/{topic_id}/
|
||
├── state.json ← last_message_id, initial_load_complete, last_incremental_at
|
||
├── batch_XXXX.json ← сообщения с полями: id, date, text, from_id, reply_to_msg_id, reply_to_top_id, quote_text, edit_date, pinned, media
|
||
└── media/ ← фото и документы ≤50МБ; видео и >50МБ — только метаданные
|
||
raw/{channel_id}/meta.json ← название, topics, incremental_cron, cron_job_id
|
||
```
|
||
|
||
### Медиа-политика
|
||
- Фото: скачиваем всегда
|
||
- Документы ≤50МБ: скачиваем
|
||
- Видео (любой размер): только метаданные
|
||
- Файлы >50МБ: только метаданные
|
||
- Видео замаскированные под document (mp4 mime): тоже пропускаем
|
||
|
||
### Первичная загрузка @snowbikerussia — результат
|
||
- channel_id: 1242788123
|
||
- Всего загружено: 155 143 сообщений, 13 983 медиафайла, 2 784 МБ
|
||
- 12 топиков: Основная (92437), Техничка (21623), Китай (15670), Обзоры (10995), ОФФТОП (5823), Экип (3671), Электрички (1651), Локации (1619), Барахолка (1510), Инструкции (96), Соревнования (24), Опросы (24)
|
||
- Статус: ✅ initial_load_complete=true для всех топиков
|
||
|
||
### Инкрементальный режим
|
||
- Cron: `0 21 * * *` UTC = 00:00 МСК ежедневно
|
||
- Cron job ID: `860e23a4-ef35-4700-9e9c-e1ba9e3b932d`
|
||
- По завершении скрипт автоматически отправляет отчёт в Telegram
|
||
- last_incremental_at обновляется даже если новых сообщений нет
|
||
- Протестировано вживую — работает корректно
|
||
|
||
### Баги исправленные в процессе
|
||
- Пагинация initial_load: `reverse=False` + offset_id не двигался → 9 дублированных батчей. Исправлено: `offset_id = min(ids)` после каждого батча
|
||
- Видео как document: добавлена проверка mime-type в `should_download()`
|
||
|
||
### Правило для документации скилла
|
||
- SKILL.md — только универсальное описание (как работает скилл)
|
||
- Настройки конкретного канала (cron_job_id, расписание, статистика) — ТОЛЬКО в `meta.json` канала
|
||
- Нарушала это правило дважды, исправляла
|
||
|
||
## Анализ данных сноубайков (запущен 20:44 МСК)
|
||
|
||
### Подход: двухпроходный Б+А
|
||
- Пасс 1: GPT-4o mini — все 135 645 сообщений, 2718 чанков по 50, извлечение фактов в JSON
|
||
- Пасс 2: Claude Sonnet — синтез `knowledge_base.md` из собранных фактов
|
||
- Оценочная стоимость: ~$4.10
|
||
|
||
### Категории извлекаемых знаний
|
||
repairs, models, locations, prices, riding_tips, tuning, donor_bikes, season
|
||
|
||
### Выходные файлы
|
||
- `data/telegram-collector/facts_partial.json` — промежуточные факты (прогресс пасс 1)
|
||
- `data/telegram-collector/knowledge_base.md` — финальная база знаний
|
||
|
||
### Веб-просмотрщик
|
||
- Flask-сервер: `tasks/snowbike-kb/server.py` → порт 5556
|
||
- Viewer: `tasks/snowbike-kb/viewer/index.html` — markdown с поиском
|
||
- URL: `https://openclaw.mva154.duckdns.org/snowbike/`
|
||
- ⚠️ Нужно добавить nginx-проброс `/snowbike/` → `localhost:5556` на хосте
|
||
- Страница автообновляется каждые 30 сек пока kb не готов
|
||
|
||
### Статус
|
||
- Анализ запущен в фоне (~4 часа), PID 6329
|
||
- По завершении придёт уведомление в Telegram со стоимостью
|
||
- Flask-сервер запущен (порт 5556), показывает "анализ выполняется" пока нет kb
|