Описание технической архитектуры программного обеспечения «ТехКаталист ИИ / TechCatalyst AI» 1. Общие сведения Программное обеспечение «ТехКаталист ИИ / TechCatalyst AI» представляет собой веб-приложение и серверную программную платформу для централизованного управления корпоративным доступом к AI-функциональности, маршрутизации запросов к подключаемым LLM-провайдерам, учета потребления, контроля лимитов, биллинга, мониторинга, отчетности и администрирования интеграций. Архитектура программного обеспечения построена по модульному принципу и включает пользовательский интерфейс, административный интерфейс, backend API, базу данных, систему авторизации, модули управления API-ключами, маршрутизации запросов, биллинга, мониторинга и уведомлений. 2. Общая архитектурная модель ПО реализовано как full-stack веб-приложение на базе Next.js, TypeScript, React и Node.js. Основные архитектурные уровни: 1. клиентский уровень — пользовательский и административный веб-интерфейсы; 2. серверный уровень — API-маршруты Next.js и серверная бизнес-логика; 3. уровень данных — PostgreSQL и Prisma ORM; 4. интеграционный уровень — подключение к внешним LLM-провайдерам и сервисам уведомлений; 5. эксплуатационный уровень — конфигурация, сборка, развертывание, мониторинг и техническое сопровождение. 3. Пользовательский интерфейс Пользовательский интерфейс реализован на React и Next.js. Он включает: 1. страницу входа в систему; 2. личный кабинет пользователя; 3. пользовательскую консоль; 4. раздел управления балансом; 5. раздел биллинга; 6. раздел управления ключами; 7. раздел мониторинга инфраструктуры; 8. раздел инцидентов и SLA; 9. чат-интерфейс; 10. компоненты статистики, графиков, таблиц и статусов. Основные файлы и директории пользовательского интерфейса: 1. src/app — страницы приложения и маршруты; 2. src/components — React-компоненты; 3. src/app/globals.css — глобальные стили; 4. tailwind.config.ts — конфигурация Tailwind CSS. 4. Административный интерфейс Административный интерфейс предназначен для управления платформой и ее пользователями. Он включает: 1. управление пользователями; 2. управление организациями; 3. управление ролями и правами доступа; 4. управление API-ключами; 5. управление клиентами; 6. управление подрядчиками; 7. просмотр статистики и служебных данных; 8. администрирование интеграций; 9. проверку статусов и доступности отдельных компонентов. Административные функции реализованы через страницы приложения и защищенные API-маршруты. 5. Backend API Серверная часть реализована с использованием Next.js API Routes. Backend API обеспечивает: 1. авторизацию пользователей; 2. получение сведений о текущем пользователе; 3. управление пользователями, организациями и правами; 4. управление API-ключами; 5. проверку ключей; 6. учет баланса и биллинга; 7. сбор статистики; 8. маршрутизацию запросов к LLM-провайдерам; 9. работу чат-функциональности; 10. уведомления; 11. мониторинг инфраструктуры; 12. служебные cron-маршруты. Основные API-директории: 1. src/app/api/auth; 2. src/app/api/user; 3. src/app/api/users; 4. src/app/api/admin; 5. src/app/api/organization; 6. src/app/api/keys; 7. src/app/api/billing; 8. src/app/api/chat; 9. src/app/api/contractors; 10. src/app/api/notifications; 11. src/app/api/cron; 12. src/app/api/status; 13. src/app/api/uptime. 6. Система авторизации и ролей ПО содержит систему авторизации и разграничения доступа. Основные функции: 1. вход пользователя по учетным данным; 2. защита пользовательских маршрутов; 3. защита административных маршрутов; 4. разграничение прав по ролям; 5. поддержка ролей user, org_admin и super_admin; 6. управление доступом к отдельным модулям; 7. управление доступом к чат-функциональности. Модули авторизации и проверки доступа размещаются в src/lib, src/components и соответствующих API-маршрутах. 7. Модуль управления API-ключами Модуль управления API-ключами обеспечивает: 1. создание и хранение ключей; 2. привязку ключей к пользователям, организациям и подрядчикам; 3. указание провайдера ключа; 4. ведение статусов ключей; 5. автопроверку ключей; 6. фиксацию времени последней проверки; 7. фиксацию результата проверки; 8. удаление и постоянное удаление ключей; 9. отображение статистики по ключам. Данные ключей хранятся в базе данных. Production-секреты и реальные ключи должны храниться с соблюдением требований безопасности и не должны включаться в депонируемые материалы. 8. Модуль маршрутизации запросов к LLM-провайдерам ПО содержит модуль маршрутизации запросов к подключаемым LLM-провайдерам. Поддерживаемые и потенциально подключаемые провайдеры: 1. OpenAI; 2. Anthropic Claude; 3. Google Gemini; 4. X.AI Grok; 5. DeepSeek; 6. иные совместимые провайдеры. Модуль выполняет: 1. прием запроса пользователя или организации; 2. проверку прав и API-ключа; 3. определение провайдера и маршрута; 4. передачу запроса внешнему провайдеру; 5. обработку ответа; 6. обработку ошибок; 7. фиксацию данных для учета потребления и биллинга. Внешние LLM-провайдеры являются подключаемыми и заменяемыми интеграциями. Самостоятельное ядро ПО составляет логика управления доступом, маршрутизации, учета, мониторинга, отчетности и администрирования. 9. Учет потребления и биллинг Модуль учета потребления и биллинга обеспечивает: 1. учет количества запросов; 2. учет входящих токенов; 3. учет исходящих токенов; 4. учет общей суммы токенов; 5. учет модели и провайдера; 6. расчет стоимости запросов; 7. учет баланса; 8. ведение транзакций; 9. аналитику по пользователям, организациям, ключам, моделям и провайдерам; 10. сбор биллинговых данных по подрядчикам. Данные используются для формирования статистики, отчетности, контроля лимитов и расчета стоимости использования платформы. 10. База данных и модель данных В качестве основной СУБД используется PostgreSQL. Для описания модели данных и работы с базой используется Prisma ORM. Основные сущности базы данных: 1. User — пользователи; 2. Organization — организации; 3. Contractor — подрядчики; 4. OrganizationContractor — связи организаций и подрядчиков; 5. Permission — права доступа к модулям; 6. ApiKey — API-ключи; 7. Request — журнал запросов; 8. Server — сведения о серверах и инфраструктуре; 9. Transaction — транзакции; 10. Notification — уведомления; 11. ChatConversation — история чатов; 12. ChatPermission — права доступа к чат-функциональности; 13. ContractorBilling — биллинговые данные подрядчиков. Схема базы данных хранится в файле prisma/schema.prisma. 11. Мониторинг и уведомления ПО содержит функции мониторинга и уведомлений. Модуль мониторинга обеспечивает: 1. хранение сведений о серверах; 2. отображение статуса серверов; 3. мониторинг статусов ключей; 4. фиксацию инцидентов; 5. отображение SLA и эксплуатационных показателей; 6. сбор служебных данных о работе платформы. Модуль уведомлений обеспечивает: 1. уведомления внутри платформы; 2. email-уведомления; 3. Telegram-уведомления; 4. уведомления об изменении цен; 5. уведомления об изменении статуса ключей; 6. уведомления о добавлении или удалении ключей. 12. Интеграции ПО предусматривает интеграции со следующими категориями внешних систем: 1. LLM-провайдеры; 2. email-сервисы; 3. Telegram; 4. серверная инфраструктура и hosting-провайдеры; 5. системы доменов и DNS; 6. базы данных; 7. CI/CD или средства развертывания, если применимо. Интеграции реализуются как технические элементы функционирования платформы и не являются самостоятельным предметом продажи. Предметом предоставления является право использования программы для ЭВМ «ТехКаталист ИИ / TechCatalyst AI». 13. Сборка и развертывание Сборка ПО выполняется средствами Node.js, npm, Next.js, TypeScript, SWC, React, Prisma, Tailwind CSS и PostCSS. Основная команда production-сборки: npm run build Результат серверной сборки размещается в директории .next. Запуск production-сборки выполняется командой: npm run start Для разработки используется команда: npm run dev Конфигурация сборки хранится в файлах package.json, package-lock.json, next.config.js, tsconfig.json, tailwind.config.ts и postcss.config.js. 14. Безопасность Архитектура ПО предусматривает следующие меры безопасности: 1. разграничение доступа по ролям; 2. защита пользовательских и административных маршрутов; 3. проверка API-ключей; 4. контроль прав доступа к модулям; 5. хранение production-секретов вне исходного кода; 6. исключение API-ключей, паролей и токенов из депонируемых материалов; 7. ограничение доступа к административным функциям; 8. фиксация статусов ключей и событий использования. 15. Итоговое описание архитектуры Техническая архитектура «ТехКаталист ИИ / TechCatalyst AI» представляет собой модульную full-stack архитектуру веб-приложения на базе Next.js, TypeScript, React, Node.js, Prisma ORM и PostgreSQL. ПО включает пользовательский и административный веб-интерфейсы, backend API, систему авторизации и ролей, модуль управления пользователями и организациями, модуль управления API-ключами, модуль маршрутизации запросов к LLM-провайдерам, модуль учета потребления и биллинга, мониторинг, уведомления и отчетность. Внешние LLM-провайдеры используются как подключаемые и заменяемые интеграции. Самостоятельное ядро программного обеспечения обеспечивает управление доступом, маршрутизацию запросов, учет потребления, контроль лимитов, мониторинг, отчетность и администрирование. ИП Борисов Иван Анатольевич ИНН 575307745402 ОГРНИП 320574900010615 Подпись: __________________ / Борисов И.А. / Дата: __________________