Все проекты
FluxRouter
В разработке
web

FluxRouter

Корпоративный LLM-хаб: маршрутизирует промпты в OpenAI, Anthropic, Gemini и self-hosted модели через единый API — командные бюджеты, SSO/SCIM и tamper-evident аудит-логи

В цифрах

0

LLM-провайдеров

SSO + SCIM

Стандарты авторизации

hash-chain

Аудит-лог

WebSocket

Протокол стриминга

Проблема

Что я решала

Инженерные команды хотят использовать лучший LLM под задачу — Claude для код-ревью, GPT для общих рассуждений, Gemini для длинного контекста, self-hosted Llama для чувствительных данных. На практике — четыре вкладки, четыре биллинга и четыре набора API-ключей. Нет одного дашборда, кто сколько потратил, нет общей библиотеки промптов, нет аудит-трейла, когда приходит compliance. Существующие инструменты либо привязывают к одному вендору, либо пропускают enterprise-сторону вообще.
Мой подход

Как я делала

Multi-tenant с первого дня. Бэкенд на Laravel 12 с DDD/CQRS — адаптеры провайдеров, биллинг, управление командами и аудит-логирование живут в отдельных доменах и не могут протекать друг в друга. Четыре провайдера (OpenAI, Anthropic, Gemini, self-hosted OSS через vLLM/Ollama) сидят за единым внутренним интерфейсом; добавить пятого — ~50 строк. WebSocket-стриминг даёт настоящее двустороннее управление — клиент отменяет генерацию посреди стрима, не разрывая соединение. Фронт на Next.js 16 + React 19 с Feature-Sliced Design, который проверяется Steiger-линтером. Бюджеты токенов проверяются на сервере, а не только показываются; SSO/SCIM через стандартные SAML2 + OIDC; аудит-лог в append-only PostgreSQL 17 таблицах с hash-chained строками для tamper-evidence.

Выбор технологий

  • Laravel 12 + DDD/CQRSDomain-Driven Design разделяет адаптеры провайдеров, биллинг и логику команд — замена провайдера не трогает код аудита. CQRS держит чтение быстрым для дашбордов, а записи проходят через строгие доменные события.
  • WebSocket streamingSSE был бы проще, но WebSocket даёт двустороннее управление — клиент отменяет генерацию на лету, не закрывая соединение. Важно для enterprise UX: остановить разогнавшийся ответ — это реальные деньги.
  • Next.js 16 + React 19 + FSDFeature-Sliced Design + Steiger-линтер ловят архитектурный дрейф до релиза. Новые transitions и Suspense React 19 делают стриминговый UI родным. Серверные компоненты Next.js 16 держат админку быстрой даже на тысячах строк аудита.
  • PostgreSQL 17 + hash-chained auditAppend-only таблицы, где хеш каждой строки включает хеш предыдущей, дают tamper-evidence без отдельного реестра. Compliance может проверить цепочку оффлайн. Инкрементальные бэкапы Postgres 17 делают point-in-time recovery дешёвым.
Результат

Что получилось

[в разработке] Слой маршрутизации провайдеров — все четыре бэкенда стримят через один API; модель данных команд/ролей/бюджетов готова; SSO + SCIM работает end-to-end с Okta и Azure AD; hash-chained аудит-лог с инструментом верификации. Фронт — чат, библиотека промптов и админка команд готовы. В работе: аналитика расходов с атрибуцией по организации, A/B-тестирование качества промптов и пакет on-prem-деплоя.