Когда у тебя не один AI-агент, а несколько, и каждый может обращаться к разным моделям и провайдерам, быстро надоедает раскладывать API-ключи и лимиты по каждому сервису отдельно. Так в лабе появился OmniRoute — self-hosted шлюз, который даёт единую точку входа к 230+ провайдерам ИИ с поддержкой MCP и A2A.

Один шлюз вместо десятка ключей

Разворачивал его через минимальный профиль без лишних зависимостей — диск на тот момент был ограничен, так что выбор пал на самый компактный вариант установки. После первого старта применяются собственные миграции базы, и сервис становится доступен по внутреннему адресу — а дальше нужно было решить вопрос с доменом.

OmniRoute стал первым сервисом, для которого я обкатал file-provider паттерн подключения к Traefik — то есть маршрутизацию для сервиса, который физически не находится в докер-сети реверс-прокси. Оказалось, что этот паттерн отлично работает и подхватывается без перезапуска — с тех пор я использую его как шаблон для новых сервисов на других хостах лабы.

Headroom: экономия токенов через компрессию контекста

Второй кусок этой истории — Headroom, прокси-слой, который сжимает трафик, попадающий в LLM: логи, вывод инструментов, файлы, чанки для RAG. На практике это давало сжатие на 60–95% в зависимости от типа данных, причём компрессия обратима — при необходимости можно запросить оригинал обратно.

Развёртывание не обошлось без археологии: на диске обнаружились сразу три параллельные установки разных версий, а системный сервис незаметно продолжал использовать старую. Причина оказалась прозаичной — новая версия требовала набор процессорных инструкций, которого не было на конкретном узле кластера. Иногда самая полезная часть работы с инфраструктурой — это не развёртывание нового, а честная ревизия того, что уже стоит.

Как это связано вместе

Headroom проксирует запросы дальше — в OpenRouter, а не напрямую к провайдеру, и таким же образом мои внутренние агенты в n8n используют его как OpenAI-совместимый эндпоинт. В итоге получилась связка: один шлюз для доступа к моделям (OmniRoute), один слой для экономии токенов на входящих данных (Headroom) — и обе части работают прозрачно для остальной агентной платформы, которая просто стучится по знакомому OpenAI-совместимому API.

Чему это меня научило