Фото в вопросах, Gemini 3.8 Flash по умолчанию, команды /context и /clear

- Бот смотрит фото: подпись с упоминанием, /ask в подписи или ответом на фото, фото в личке
- Картинки скачиваются через Bot API и передаются модели байтами (ссылка с токеном наружу не уходит)
- OpenRouter по умолчанию — openrouter/google/gemini-3.8-flash; AI_IMAGE_INPUT для явного выбора
- Модель без зрения получает пометку, что фото есть, но она его не видит
- /context: сколько бот помнит и видит ли всю переписку (privacy mode / админ)
- /clear: очистка сохранённой переписки чата с подтверждением

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
yunogasai
2026-09-24 20:04:06 +02:00
parent 34a8d426d2
commit f8273e8a23
15 changed files with 313 additions and 46 deletions

View File

@@ -4,15 +4,17 @@ BOT_TOKEN=
# Telegram ID администраторов через запятую (узнать свой: написать боту /whoami в личку)
ADMIN_IDS=
# Провайдер модели — задай ключ одного из них.
# DeepSeek напрямую (если ключ задан, по умолчанию берётся deepseek/deepseek-flash):
DEEPSEEK_API_KEY=
# Или OpenRouter (по умолчанию openrouter/deepseek/deepseek-v4-flash):
# OPENROUTER_API_KEY=
# Провайдер модели — задай ключ хотя бы одного.
# OpenRouter: по умолчанию openrouter/google/gemini-3.8-flash — умеет смотреть фото.
OPENROUTER_API_KEY=
# DeepSeek напрямую: по умолчанию deepseek/deepseek-flash (только текст), если ключа OpenRouter нет.
# DEEPSEEK_API_KEY=
# Необязательно: конкретная модель в формате Mastra model router <провайдер>/<модель>,
# например deepseek/deepseek-v4-pro или openrouter/deepseek/deepseek-v4-pro
# например deepseek/deepseek-v4-pro или openrouter/google/gemini-3.8-flash
# AI_MODEL=
# Необязательно: умеет ли модель смотреть фото (по умолчанию — да для gemini/vision-моделей)
# AI_IMAGE_INPUT=true
# Путь к SQLite-базе и сколько сообщений на чат хранить
DB_PATH=data/bot.db