ДокументацияЛокальный chaos-router

Локальный chaos-router

chaos-router — наш Rust-микросервис маршрутизации LLM. Планируется его локальный режим: роутер крутится на вашей машине, ходит к провайдерам напрямую, а в AI Chaos отдаёт только метрики и логи — и только если вы это включили. Ниже — что уже работает, что понадобится и что в разработке.

Статус: pre-alpha. Локальный режим с авторизацией через aichaos и опциональной отправкой метрик ещё в разработке; ниже — текущая картина и план.

Что такое 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 решаются на вашей машине, ключи — на вашей машине.

См. также