使用说明
AI Agent Telegram Bot
Интеллектуальный Telegram бот с поддержкой MCP (Model Context Protocol) серверов, векторного поиска и памяти диалогов.
Возможности
- 🤖 LLM интеграция: Использует Google Gemini для генерации ответов
- 🧠 Память диалогов: Сохраняет историю разговоров в SQLite
- 🔍 Векторный поиск: Поиск по коллекции фактов через ChromaDB
- 🌐 MCP серверы: Интеграция с внешними сервисами через MCP
- 📱 Telegram Bot: Полнофункциональный бот на aiogram
Требования
- Python 3.11+
- Telegram бот-токен (TG_TOKEN)
- Ключ Google API (GOOGLE_API_KEY)
- Настроенные MCP серверы (опционально)
Установка зависимостей (локально)
python -m venv .venv
# PowerShell: Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass; .\.venv\Scripts\Activate.ps1
# CMD: .\.venv\Scripts\activate.bat
pip install -r requirements.txt
Настройка окружения
Создайте файл .env по примеру:
TG_TOKEN=your_telegram_bot_token_here
GOOGLE_API_KEY=your_google_api_key_here
# LLM_MODEL=gemini-flash-latest
Настройка MCP серверов
Проект поддерживает интеграцию с настоящими MCP серверами. Настройте в ~/.cursor/mcp.json:
{
"mcpServers": {
"open-weather": {
"transport": "streamableHttp",
"url": "https://mcp.open-mcp.org/api/server/open-weather@latest/mcp"
},
"Github": {
"type": "http",
"url": "https://server.smithery.ai/@smithery-ai/github/mcp?api_key=YOUR_API_KEY",
"headers": {}
},
"Notion": {
"type": "http",
"url": "https://server.smithery.ai/notion/mcp?api_key=YOUR_API_KEY",
"headers": {}
}
}
}
Запуск локально
python main.py
Docker
Сборка и запуск:
# Скопируйте .env или создайте его рядом с docker-compose.yml
# Пример значений см. в разделе "Настройка окружения"
docker build -t ai_agent:latest .
docker compose up -d
Остановка:
docker compose down
Использование бота
/help— список команд/health— проверка состояния ботафакт <запрос>— поиск в коллекции фактов- Обычные сообщения — ответы через LLM с памятью диалога
Структура проекта
main.py— входная точка, инициализация БД и запуск ботаapp/bot.py— aiogram роутеры и хендлерыapp/core.py— маршрутизация команд, интеграция LLM/VectorStoreapp/memory.py— SQLite хранение диалоговapp/vecstore.py— ChromaDB векторное хранилищеapp/llm_client.py— клиент Google Geminirequirements.txt— зависимости PythonDockerfile,docker-compose.yml— контейнеризацияconversation.db— база данных диалогов (создается автоматически)
MCP интеграция
Бот поддерживает работу с настоящими MCP серверами через Cursor IDE:
- Open Weather — получение данных о погоде
- GitHub — работа с репозиториями GitHub
- Notion — интеграция с Notion workspace
Все MCP серверы настраиваются через файл ~/.cursor/mcp.json и работают через Cursor IDE.