# **BotRouting** **BotRouting** — это гибкая система маршрутизации и управления Telegram-ботами с поддержкой: * разделения прав пользователей по группам и внешним интерфейсам, * гибкой маршрутизации сообщений (по ключевым словам, командам, LLM), * современной админкой для управления пользователями, группами, ботами, командами, * масштабируемой архитектуры на Node.js, Next.js и Prisma. ## **Структура репозитория** ``` BotRouting/ ├── admin/ # Админ-панель (Next.js + React) ├── deamon/ # Демон-роутер (Node.js, Telegram, LLM, Prisma) ├── clientExample/# Пример клиента (необязательно) ├── node_modules/ ├── package.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml └── README.md ``` * **admin/** — современная админка для управления группами, пользователями, ботами, командами. * **deamon/** — основной роутинг-сервис: интеграция Telegram API, LLM, Prisma. * **clientExample/** — пример использования клиента (опционально, можешь удалить). --- ## **Установка** ### 1. **Клонируй репозиторий** ```sh git clone cd BotRouting ``` ### 2. **Установи зависимости** > Можно использовать **pnpm** (предпочтительно) или **npm** — оба поддерживаются благодаря workspace-конфигу. #### **Через pnpm:** ```sh pnpm install ``` #### **Через npm:** ```sh npm install ``` ### 3. **Настрой переменные окружения** Создай файл `.env` в корне каждого пакета (`admin/`, `deamon/`) и задай переменные: #### **Пример для `deamon/.env`:** ``` DATABASE_URL="file:../deamon/dev.db" TELEGRAM_TOKEN="...твой токен..." OPENAI_API_KEY="...ключ openai..." LM_MODEL="vikhrmodels-vikhr-nemo-12b-instruct-r-21-09-24" LM_BASE_URL="http://localhost:1234/v1" ``` #### **Пример для `admin/.env`:** ``` DATABASE_URL="file:../deamon/dev.db" NEXT_PUBLIC_API_URL="http://localhost:3000/api" ``` > **Важно:** один и тот же файл БД может использоваться обеими частями (админка и демон), если база в SQLite и тестовая. Для production — смотри документацию Prisma! --- ### 4. **Инициализируй и мигрируй БД** ```sh pnpm -F deamon prisma migrate dev ``` или ```sh cd deamon npx prisma migrate dev ``` --- ## **Запуск** ### **Админ-панель** ```sh pnpm -F admin dev ``` или ```sh cd admin npm run dev ``` Откроется на [http://localhost:3000](http://localhost:3000) --- ### **Демон-роутер (боты и LLM)** ```sh pnpm -F deamon start ``` или ```sh cd deamon node external-bot-daemon.js ``` --- ## **Основные возможности** * **Управление доступом**: через группы, ботов и команды. * **Гибкая маршрутизация сообщений**: по ключевым словам, командам или LLM (AI). * **LLM-интеграция**: поддержка локальных или облачных моделей через OpenAI API (в т.ч. open-source локальные, если указан LM\_BASE\_URL). * **Модульная архитектура**: легко добавлять новые типы ботов, логику, интерфейсы и расширять систему. --- # В `/admin/next.config.mjs` нужно поправить путь мне лень разбиратся почему он нормально не рабоатет