8.9 KiB
8.9 KiB
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
- Ответ дан голосовым сообщением: несколько способов создания ярлыков
- Способы:
- Нативный Android: долгое нажатие на чат в Telegram → 'Добавить на главный экран' или перетаскивание
- Приложение Shortcut Maker из Google Play
- Лаунчеры типа Nova Launcher с расширенными функциями
- Виджеты 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