Превращайте гигабайты хаотичных чатов в структурированные досье, хронологии и психологические портреты.
AI Biographer — это мощный инструмент для анализа дампов переписки Telegram. Система «проглатывает» экспорт чатов (JSON/ZIP), пропускает их через многоуровневый конвейер нейросетей Google Gemini и выдает на выходе детальную биографию человека: от его привычек и работы до хронологии ключевых событий жизни.
- ⚡️ Многоэтапный AI-конвейер: * Этап 1: Извлечение «сырых» фактов (работа, хобби, имущество, события с датами).
- Этап 2: Умное сжатие и удаление дубликатов.
- Этап 3: Рекурсивная компрессия для создания финального досье.
- 🌐 Веб-загрузчик (Web Uploader): Telegram ограничивает файлы до 20 МБ. Встроенный Flask-сервер позволяет загружать дампы любого размера через браузер с прогресс-баром.
- 🔄 Бесконечный пул ключей: Система динамической ротации API-ключей Gemini. Если один ключ ловит лимит (Error 429), бот мгновенно переключается на следующий без остановки процесса.
- 🛡 Вайтлист и Админка: Доступ к боту только по белому списку. Удобная админ-панель для управления пользователями прямо в чате.
- 📦 Docker-Native: Полная изоляция и быстрый запуск одной командой.
Проект спроектирован для обработки огромных массивов данных (сотни тысяч сообщений) без потери контекста.
В ai_manager.py реализована логика «выживания»:
- Key Rotation: Использование нескольких ключей Gemini одновременно.
- Model Fallback: Если модель
gemini-2.0-flashнедоступна, система автоматически пробуетgemini-1.5-flashи другие доступные версии из списка. - Smart Cooldown: Ключи, получившие временный бан от Google, уходят в «сон», а затем возвращаются в ротацию.
- Парсинг: Скрипт поддерживает как полные дампы аккаунтов, так и экспорт отдельных чатов.
- Чанкинг: Переписка разбивается на умные блоки по времени (годы, кварталы, месяцы), чтобы Gemini не теряла нить событий.
Создай файл .env в корне проекта и заполни его:
TG_BOT_TOKEN=твой_токен_от_BotFather
ADMIN_ID=твой_телеграм_id
API_KEYS=ключ_1,ключ_2,ключ_3
BASE_URL=https://твой-домен.com
LOCAL_DATA_DIR=/app/dataСистема автоматически поднимет бота и веб-сервер для загрузки файлов:
docker compose up -d --build- Загрузка: Напиши боту
/start. Если твой файл больше 20 МБ, используй кнопку «Загрузить через веб». - Настройка: Бот проанализирует имена в чате. Ты можешь переименовать участников для более точного анализа (например, «Мама», «Босс»).
- Лимиты: Выбери объем сообщений на один блок анализа (по умолчанию 2000–5000).
- Выбор цели: Укажи, на кого именно составлять биографию.
- Результат: Бот начнет пошаговую генерацию. По завершении этапов ты получишь текстовые файлы с отчетами.
- Язык: Python 3.10
- Бот-фреймворк: pyTelegramBotAPI
- Веб-часть: Flask
- Нейросеть: Google Gemini (Generative AI)
- Контейнеризация: Docker & Docker Compose
Бот работает локально внутри твоего Docker-контейнера. Все файлы дампов и сгенерированные биографии хранятся в папке /data и автоматически удаляются после завершения сессии. Проект не передает данные третьим лицам, кроме API Google Gemini для анализа.
Распространяется под лицензией GPLv3. Используй с умом и во благо.