Files
social-post-writer-bot/IDEA.MD
T

4.4 KiB

Social Post Writer Bot

Идея

Telegram-бот, который по запросу пользователя готовит текст публикации для выбранной социальной сети.

Цель

Быстро превращать тему, тезисы или черновик пользователя в готовый к публикации текст, адаптированный под площадку и заданный стиль.

Основной сценарий

  1. Пользователь описывает, о чём нужен пост, и указывает соцсеть.
  2. При необходимости задаёт тон, длину и дополнительные требования.
  3. Бот генерирует текст; пользователь может попросить изменить или переписать его.

Первая версия

  • Принимать запрос обычным сообщением.
  • Уточнять площадку и стиль, если они не указаны.
  • Возвращать готовый текст без автоматической публикации.
  • Поддерживать доработку результата сообщениями вроде «короче», «добавь юмора» или «сделай официальный тон».

Технические заметки

  • Формат: Telegram-бот.
  • Стек: 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; не сохраняются в репозитории.

Статус

  • Идея проекта зафиксирована
  • MVP: генерация трёх вариантов поста по явной просьбе, включая голосовую
  • Классификатор намерений и Tone of Voice из скриншота
  • SQLite-настройки пользователей и reply-правки без хранения диалога
  • Development-развёртывание в Coolify: social-post-writer-bot-development (d32u5zcq2g4odmdpq9hw91yn)
  • Подключён persistent Coolify volume /app/data для SQLite
  • Проверены на моках STT, LLM, vision, ToV, reply-поля и изоляция пользователей
  • Выполнен live smoke test: классификатор вернул write_post, генератор — 3 разных варианта; vision распознал тестовый скриншот
  • Последний development deploy работает без traceback
  • Обновление ToV галереей: одна обработка группы, ToV-инструкция показывается пользователю
  • Варианты постов показываются без нумерации и вступительного текста
  • Проверить галерею, обновление ToV и генерацию в Telegram на тестовом аккаунте