Skip to content

iqbol603/AGIFinal

Repository files navigation

AGI Final - AI Assistant Bot

Описание проекта

AGI Final - это интеллектуальный Telegram бот-ассистент, построенный на базе OpenAI GPT с расширенными возможностями управления задачами, сотрудниками и аналитикой.

Основные возможности

🤖 AI Ассистент

  • Интеграция с OpenAI GPT через Assistant API
  • Поддержка контекстных разговоров
  • Автоматическое определение намерений пользователя
  • Поиск по истории разговоров

📋 Управление задачами

  • Создание и назначение задач
  • Отслеживание статуса выполнения
  • Система приоритетов
  • Автоматические напоминания

👥 Управление сотрудниками

  • База данных сотрудников
  • Система ролей (manager/staff)
  • Контроль доступа (ACL)
  • Профили и должности

📊 Аналитика и отчеты

  • Автоматическая генерация отчетов
  • Планировщик задач
  • Статистика по задачам
  • Мониторинг производительности

💾 Система хранения

  • MySQL база данных
  • Логирование всех разговоров
  • Поиск по истории с фильтрацией по датам
  • Поиск по ключевым словам

Технический стек

  • Backend: Node.js
  • AI: OpenAI GPT-4
  • База данных: MySQL
  • Telegram API: node-telegram-bot-api
  • Архитектура: Модульная, с разделением ответственности

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

Предварительные требования

  • Node.js 18+
  • MySQL 8.0+
  • OpenAI API ключ
  • Telegram Bot токен

Установка зависимостей

npm install

Настройка окружения

Создайте файл .env со следующими переменными:

OPENAI_API_KEY=your_openai_api_key
TG_BOT_TOKEN=your_telegram_bot_token
TELECOM_ASSISTANT_ID=your_assistant_id
DB_HOST=localhost
DB_USER=your_db_user
DB_PASSWORD=your_db_password
DB_NAME=your_db_name
TZ=Asia/Dushanbe

Запуск

node app.js

Структура проекта

src/
├── config/          # Конфигурация БД и окружения
├── services/        # Основные сервисы
│   ├── AssistantService.js      # AI ассистент
│   ├── ConversationLog.js       # Логирование разговоров
│   ├── EmployeesService.js      # Управление сотрудниками
│   ├── ReportScheduler.js       # Планировщик отчетов
│   └── ToolRouter.js            # Маршрутизатор инструментов
├── utils/           # Утилиты и хелперы
└── app.js           # Главный файл приложения

API Endpoints

Основные инструменты

  • create_task - Создание задачи
  • list_tasks - Список задач
  • reassign_task - Переназначение задачи
  • send_telegram - Отправка уведомлений
  • report - Генерация отчетов

Внутренние инструменты

  • draft_get/merge/clear - Управление черновиками
  • history_get - Поиск по истории разговоров

Особенности реализации

Система истории

  • Автоматическое логирование всех сообщений
  • Поиск по датам (сегодня, вчера, позавчера)
  • Поиск по ключевым словам в содержании
  • Группировка сообщений по времени

Управление доступом

  • Роли: manager (полный доступ) и staff (ограниченный)
  • ACL для критических операций
  • Проверка прав перед выполнением действий

Обработка ошибок

  • Graceful fallback при недоступности БД
  • Детальное логирование ошибок
  • Автоматическое восстановление соединений

Лицензия

MIT License

Автор

Икбол Холмуродов - Разработчик отдела Маркетинга

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors