Skip to content
forked from Veta-one/sych-bot

About

Мультимодальный Telegram-бот с памятью, характером и системой репутации. Работает на Google Gemini

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

Malysh Bot (Малыш) v1.2.4

Это не очередной «полезный ассистент» для погоды. Это полноценный участник чата с характером, памятью и собственным мнением.

Бот построен на гибридной архитектуре. Он умеет работать через OpenRouter (или любой OpenAI-compatible API), искать информацию в интернете через Tavily, а при проблемах автоматически переключаться на бесплатные ключи Google Gemini.

Основные фишки

Всеядность (Vendor Agnostic)

Бот больше не привязан жестко к одной нейросети. В конфиге можно указать любой BASE_URL.

  • Хотите DeepSeek за копейки? Пожалуйста.
  • Есть доступ к Mistral или OpenAI? Легко.
  • Хотите поднять Ollama локально? Тоже будет работать.
  • По умолчанию настроен на OpenRouter (агрегатор нейросетей).

RAG и Умный Поиск

Малыш не галлюцинирует курсами валют за 2021 год. Если вы спросите про новости или цены, он полезет в интернет.

  • Провайдеры: Поддержка Tavily (рекомендуется, 1000 бесплатных запросов/мес) или Perplexity (через API).
  • Каскадная система: Если Tavily не настроен или упал, бот автоматически переключится на нативный поиск Google.

Экономика токенов (Split AI)

Чтобы не разориться на платных API, бот разделяет задачи между моделями:

  1. Logic Model (Дешевая): Gemma-2-9b / Gemma-3-27b. Работает в фоне, анализирует контекст, решает, нужно ли отвечать, ставит реакции. Стоит копейки.
  2. Smart Model (Умная): Gemini 3 Flash / GPT-4o. Генерирует финальные ответы и шутки.
  3. Search Model: Perplexity Sonar (опционально) или Tavily API.

Неубиваемость (Smart Fallback)

Если у вас закончились деньги на OpenRouter или упал API, бот не отключится. Он автоматически перейдет на резервный канал — нативные ключи Google Gemini (если вы их указали).

Контекст и География

  • Учет времени: Бот запоминает город пользователя из переписки. Если спросить «Сколько время?», он ответит с учетом вашего часового пояса, зная, что сервер находится в другом месте.
  • Репутация: Бот ведет досье на каждого участника (0-100 баллов). Копить доверие сложно (+1..+3 за позитив), а терять легко (-5..-10 за негатив к боту). При этом бот не снижает репутацию, если вы ругаетесь с кем-то другим — только за негатив лично в его адрес.

Слух и Зрение

  • Голосовые: Бот транскрибирует голосовые сообщения (используя Google API бесплатно).
  • Vision: Понимает, что изображено на картинках.

Установка и запуск

Требуется Node.js 18+.

1. Клонирование

git clone https://github.com/Veta-one/sych-bot.git
cd sych-bot
npm install

2. Настройка (.env)

Создайте файл .env в корне. В проекте нет сложной базы данных, всё хранится в JSON-файлах в папке /data.

Минимальный конфиг:

TELEGRAM_BOT_TOKEN=ваш_токен_от_botfather
ADMIN_USER_ID=ваш_id_телеграм

# Основной API (OpenRouter, DeepSeek, Mistral)
AI_API_KEY=sk-or-v1-......

# Поиск (Tavily - бесплатно и быстро)
TAVILY_API_KEY=tvly-......
SEARCH_PROVIDER=tavily

# Резерв (и обработка голосовых)
GOOGLE_GEMINI_API_KEY=AIzaSyD...

Полный список настроек и примеры подключения к разным API смотрите в файле .env.example.

3. Запуск

Локально:

node src/index.js

На сервере (через PM2):

npm install -g pm2
pm2 start src/index.js --name "malysh-bot"
pm2 save

Команды

Для всех

  • Текст: Просто общайтесь. Бот ответит, если его триггернуть (имя "Малыш") или если он решит, что это уместно.
  • Малыш напомни [текст] — поставит напоминание.
  • Малыш кто я? — расскажет ваше досье.
  • Малыш кинь монетку — орел/решка.
  • /start — справка.

Для Админа

  • /ban @username — Забанить пользователя (бот перестанет его видеть).
  • /ban — Показать список последних активных (чтобы забанить спамера без юзернейма).
  • /unban ID — Разбанить.
  • Малыш стата — Показать подробную статистику расхода токенов по провайдерам (API / Search / Native).
  • /mute — Включить режим тишины в чате.

Структура

  • /src/core — Логика поведения и промпты.
  • /src/services — ai.js (вся работа с нейросетями) и storage.js (файловая БД).
  • /data — Здесь хранятся базы db.json и profiles.json. Добавьте эту папку в бэкапы.

About

Мультимодальный Telegram-бот с памятью, характером и системой репутации. Работает на Google Gemini

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages