Локальный chaos-router
chaos-router — наш Rust-микросервис маршрутизации LLM. Планируется его локальный режим: роутер крутится на вашей машине, ходит к провайдерам напрямую, а в AI Chaos отдаёт только метрики и логи — и только если вы это включили. Ниже — что уже работает, что понадобится и что в разработке.
Что такое chaos-router
- Вход: OpenAI
/v1/chat/completionsи/v1/responses, Anthropic/v1/messages— с серверным переводом форматов. - Маршрутизация с учётом здоровья: failover, circuit breaker, лимиты RPM/TPM, ранжирование кандидатов по латентности и доле ошибок.
- Учёт использования per-API-key (токены, стоимость, латентность, уровень фолбэка) через management API.
- Peer-меш RocketNet: связывайте инстансы между сетями и гоняйте инференс друг на друге.
Как это запускается сегодня
Сегодня router привязан к Rails-бэкенду: команды serve и migrate требуют доступ к PostgreSQL Rails (переменные DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME), ключи Active Record encryption и REDIS_URL. То есть локальный запуск сейчас имеет смысл в режиме самостоятельного хостинга всего стека или в вашей LAN.
# Сборка
cargo build --release
# Миграции своей operational-базы (SQLite)
chaos-router migrate --db-url sqlite://router.db
# Запуск
cargo run -p rsrouter-llm-server -- serveПо умолчанию слушает 127.0.0.1:18400 (в проде — 0.0.0.0:8400). Направьте клиентов на этот адрес как на OpenAI/Anthropic endpoint.
Управление и диагностика
/admin/router— панель: аккаунты провайдеров, активные upstreams, in-flight запросы, маршруты моделей и последние запуски. На dev-листенере достаточно ключаCHAOS_ROUTER_MANAGEMENT_KEY, в проде — Rails admin JWT./healthиPOST /mgmt/v1/drain— контроль жизненного цикла и деградация перед остановкой.- Запросы и стримы логируются локально в файл (
CHAOS_ROUTER_REQUEST_LOG, права0600) — без тел запросов и ключей.
Приватность и телеметрия
Router не логирует тела запросов и API/провайдерские ключи. События уровня WARN/ERROR и паники уходят в GlitchTip (санитизированные, без контента) — отключается полностью:
export SENTRY_DSN=""Локальный request-лог остаётся на вашей машине.
В разработке: связка с aichaos
Планируемые фичи локального режима:
- Авторизация без Rails-базы. Link-auth через OAuth или device-code: вы логинитесь в aichaos, а router получает токен доступа — Rails-база на вашей машине не нужна.
- Опциональная телеметрия. Метрики и логи выполнения стримятся в aichaos только если вы включили это в настройках router'а (opt-in, не по умолчанию); биллинг и статистика в личном кабинете — как при облачном API.
- Роутинг провайдеров локально. Выбор провайдеров/моделей и failover решаются на вашей машине, ключи — на вашей машине.