diff --git a/IDEA.MD b/IDEA.MD index c5f1a17..43eed92 100644 --- a/IDEA.MD +++ b/IDEA.MD @@ -19,15 +19,17 @@ Telegram-бот, который по запросу пользователя г ## Технические заметки - Формат: Telegram-бот. -- Предварительный стек: Python, aiogram 3.x. -- LLM-провайдер и модель: выбрать отдельно; ключи хранить только в переменных окружения, не в репозитории. -- Поддержка голосовых: APInex Voice STT, ключ — Coolify env `APINEX_API_KEY` в development. -- Целевые соцсети, хранение истории и дополнительные функции уточнить при реализации. +- Стек: Python 3.12, aiogram 3.x, aiohttp, SQLite. +- APInex Voice STT расшифровывает голосовые; Gemini 3.8 Flash через APInex классифицирует намерения, пишет/правит посты и извлекает ToV из скриншотов. +- Coolify env с отдельными модельными настройками: `APINEX_STT_MODEL`, `APINEX_INTENT_CLASSIFIER_MODEL`, `APINEX_POST_WRITER_MODEL`, `APINEX_IMAGE_TONE_MODEL`; общий секрет `APINEX_API_KEY`. +- Настройки пользователей хранятся по Telegram user id; история запросов/диалогов и исходные изображения не сохраняются. +- На явную просьбу поста и на реплай-правку бот возвращает 3 отдельных варианта. ## Деплой и конфигурация - Gitea: `admin/social-post-writer-bot`, ветка `dev`. - Coolify проект: `Social Post Writer Bot`, окружение `development`. - Coolify приложение: `social-post-writer-bot-development` (`d32u5zcq2g4odmdpq9hw91yn`) на `spb-easy-dale`. +- SQLite: `/app/data/social_writer.sqlite3`; persistent volume `d32u5zcq2g4odmdpq9hw91yn-social-post-writer-dev-data` монтируется в `/app/data`. - Секреты хранятся в переменных окружения приложения Coolify; не сохраняются в репозитории. ## Статус @@ -36,5 +38,8 @@ Telegram-бот, который по запросу пользователя г - [x] Классификатор намерений и Tone of Voice из скриншота - [x] SQLite-настройки пользователей и reply-правки без хранения диалога - [x] Development-развёртывание в Coolify: `social-post-writer-bot-development` (`d32u5zcq2g4odmdpq9hw91yn`) -- [ ] Подключить постоянный Coolify volume `/app/data` для SQLite до production-использования +- [x] Подключён persistent Coolify volume `/app/data` для SQLite +- [x] Проверены на моках STT, LLM, vision, ToV, reply-поля и изоляция пользователей +- [x] Выполнен live smoke test: классификатор вернул `write_post`, генератор — 3 разных варианта; vision распознал тестовый скриншот +- [x] Последний development deploy работает без traceback - [ ] Проверить end-to-end голосовой, скриншот и генерацию на тестовом Telegram-аккаунте