OmniRoute ставится двумя командами: npm install -g omniroute, затем omniroute. Панель открывается на http://localhost:20128, а API в формате OpenAI лежит на http://localhost:20128/v1. Дальше в панели подключаете своих провайдеров, копируете ключ шлюза и направляете на него Claude Code, Codex или другой инструмент. Бесплатным остаётся сам шлюз. Токены вы берёте у провайдеров, и про их условия стоит прочитать до того, как что-то подключать.
Что такое OmniRoute
Проект ведёт Диего Соуза (Diego Souza) с большой группой контрибьюторов. Репозиторий diegosouzapw/OmniRoute создан 13 февраля 2026, на 10 ноября у него около 86 тысяч звёзд, лицензия MIT. Релизы выходят раз в две-три недели: v3.8.51 вышел 30 сентября, v3.8.52 19 октября, v3.8.53 6 ноября.
Шлюз запускается у вас. Он поднимает один адрес и раздаёт запросы по подключённым провайдерам. README заявляет 380 провайдеров (в README ветки релиза v3.8.54 на 10 ноября уже 387, счётчик меняется от релиза к релизу), 20 стратегий маршрутизации, автопереключение при исчерпании лимита, сжатие контекста, серверы MCP и A2A. Маршрут идёт по лестнице из четырёх ступеней: подписка, API-ключ, дешёвые модели, бесплатные.
Цепочку моделей проект называет комбо. Если лимит на ступени кончился или провайдер упал, комбо переходит к следующему доступному. Режим auto собирает такую цепочку из подключённых провайдеров сам, а варианты auto/coding, auto/cheap и auto/fast меняют приоритет.
Чего OmniRoute не делает, README говорит прямо: он не выдаёт токены и не продаёт доступ. Каждого провайдера вы подключаете своим аккаунтом или ключом.
Как установить OmniRoute
| Способ | Команда |
|---|---|
| npm | npm install -g omniroute, затем omniroute |
| Docker | docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 -p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest |
| pnpm | pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute |
| Android | Termux: pkg install nodejs && npx -y omniroute |
Руководство проекта по неполадкам называет поддерживаемыми Node >=22.22.2 <23 и >=24.0.0 <27. На npm 11 установочные скрипты блокируются, а postinstall нужен для нативных файлов, поэтому README для версии 3.8.53 даёт такую команду:
npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute
Список пакетов меняется между релизами, берите актуальный из предупреждения npm. Разрешая пакет, вы разрешаете выполнение его установочных скриптов.
Про оперативную память README предупреждает отдельно. Образ Docker по умолчанию рассчитан на панель и лёгкий чат (куча 1024 МБ). Для одного кодового агента проект советует OMNIROUTE_MEMORY_MB=8192 и контейнер от 10 ГБ, для двух одновременных длинных контекстов куча 10240-12288 МБ и контейнер 12-16 ГБ. Без этого под двумя длинными контекстами процесс падает с FATAL ERROR. Эту часть «бесплатного» шлюза оплачиваете вы.
После запуска:
- Откройте
http://localhost:20128, раздел Providers, и добавьте провайдера, условия и лимиты которого подходят вам. - Скопируйте ключ шлюза в Dashboard, раздел Endpoints.
- Проверьте:
curl http://localhost:20128/v1/models -H "Authorization: Bearer ВАШ_КЛЮЧ".
README оговаривает, что на свежей установке может не оказаться доступных провайдеров без ключа, поэтому сам по себе OmniRoute успешный ответ не гарантирует.
Как подключить Claude Code к OmniRoute
Самый короткий путь, команда запуска без записи конфигов:
omniroute run claude --model провайдер/модель
Есть и omniroute launch, она берёт адрес и ключ из активного контекста и запускает claude. Если нужно руками, в ~/.claude/settings.json:
{
"env": {
"ANTHROPIC_BASE_URL": "http://localhost:20128",
"ANTHROPIC_AUTH_TOKEN": "КЛЮЧ_OMNIROUTE",
"CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1"
}
}
Три оговорки из документации проекта. Адрес пишется без /v1, Claude Code сам добавляет /v1/messages. Переменные читаются один раз при старте, поэтому после правки перезапустите агента. И последнее: для незнакомых ID Claude Code считает окно равным 200K, так что для модели с большим окном задайте CLAUDE_CODE_AUTO_COMPACT_WINDOW ниже её настоящего окна, иначе сжатие сработает не вовремя. Меню /model по умолчанию показывает только ID на claude и anthropic, остальные появляются после включения зеркальных алиасов (EXPOSE_CC_DISCOVERY_ALIASES, по умолчанию выключено).
Отдельный вопрос, какие модели вы туда направите. Документация Anthropic пишет, что подойдёт любой шлюз с поддерживаемым форматом API, но направление Claude Code на не-Claude модели через шлюз компания не поддерживает. Если пустите агента на бесплатные GLM или Kimi, часть функций может вести себя иначе, а рассчитывать на поддержку Anthropic не приходится.
Бесплатные токены: что написано на самом деле
В README крупно стоит «~1,62 млрд токенов в месяц». Тут же оговорка: это оценка по отдельным сторонним бесплатным тарифам, а не выдача от OmniRoute. Считается она по 17 пулам с опубликованным месячным бюджетом и пяти лимитам Groq на отдельные модели, общие пулы учтены один раз. Число пересматривают раз в две недели, и оно меняется в обе стороны. Реально доступное вам определяют провайдеры, которых вы подключили.
Гайд проекта по бесплатным тарифам (редакция от 11 октября 2026) честно называет подвохи:
| Провайдер | Что сказано | Подвох |
|---|---|---|
| Groq | Оценка пула около 15 млн токенов в месяц | Лимиты запросов действуют |
| Cloudflare AI | Оценка пула около 30 млн токенов в месяц | Нужен аккаунт и ключ |
| Gemini | Фиксированного месячного гранта нет | Лимиты зависят от проекта и модели |
| Cerebras | Разовый кредит 5 долларов на 30 дней | Нужна платёжная карта |
| Logfare | Бесплатный ключ без карты | Каждый запрос логируется для исследований |
Те же гайды перечисляют общие издержки: строгие лимиты, KYC, обучение на ваших промптах, слабая приватность, отсутствие SLA, смена моделей, региональные ограничения. И главное: любой провайдер может урезать лимит, сменить модель, приостановить доступ или лечь, а несколько подключений улучшают запас, но доступного маршрута не гарантируют.
Чужие аккаунты и подписки: риски по условиям
Что говорит проект. README и гайды повторяют одно: подключайте собственные аккаунты, а условия, лимиты и доступность определяет сам провайдер. Провайдеры с пометкой tos: avoid, среди них Kiro, исключены из автомаршрутизации по умолчанию, и подключение аккаунта этот фильтр не снимает. В README таких 12. Снимать фильтр гайд советует только после проверки условий провайдера и риска для аккаунта. Отдельно сказано: не заводите лишние аккаунты, чтобы обойти квоту или политику доступа.
Подписки. В проекте есть провайдеры, работающие через подписку Claude Code (OAuth-токен, в том числе от claude setup-token) и через cookie сессии на claude.ai. Документ проекта о маршруте Claude Code описывает, что при таком подключении запросы переписываются. К ним добавляются заголовок биллинга и строка «You are Claude Code, Anthropic's official CLI for Claude». Имена инструментов подменяются, абзацы с именем другого агента удаляются, слова вроде cursor и cline обрабатываются невидимыми соединителями нулевой ширины. Причина названа там же: без этого клиенты не из Claude Code получают на подписке ошибку «Third-party apps now draw from extra usage, not plan limits».
Руководство проекта по скрытности называет эти функции слоем совместимости между аккаунтами, принадлежащими пользователю, и API OmniRoute. Они, по тексту, не предназначены для обхода антифрода, обмена учётными данными или нарушения условий, а от операторов ждут соблюдения того, что они приняли при создании аккаунтов. Для случая, когда провайдер всё же блокирует аккаунт, в проекте есть детектор: подключение уходит в состояние banned с остановкой на год и само не возвращается.
Что пишет Anthropic. Страница «Legal and compliance» в документации Claude Code, открытая 10 ноября 2026, разделяет два способа входа. OAuth предназначен покупателям подписок и обычному использованию Claude Code и родных приложений Anthropic. Разработчикам, которые строят продукты, предложен ключ API. Сторонним разработчикам не разрешено пускать запросы через учётные данные Free, Pro, Max и Ultra от имени пользователей, а также собирать, хранить и передавать учётные данные и токены сессий Claude.ai. Компания оставляет за собой право принимать меры без предупреждения, а лимиты тарифов рассчитаны на обычное индивидуальное использование.
Попадает ли под такую формулировку ваша личная установка на своём компьютере, мы не решаем и юридических выводов не делаем. Читайте оригинал. Практическая разница простая: на схеме с ключом API и оплатой за токены вопрос о подписках не возникает, хотя условия самого провайдера по странам и данным остаются в силе.
Когда проще один платный ключ
Эта часть написана для тех, кто пришёл за «бесплатно», а упёрся в лимиты. Мы продаём доступ к моделям по ключу, поэтому ниже сравнение с интересом, но по пунктам.
| Что важно | OmniRoute у вас на машине | Один ключ Claudexia |
|---|---|---|
| Цена токена | Свои подписки, бесплатные тарифы и платные ключи разных провайдеров | Оплата по токенам, канал Premium на 10 ноября 2026: claude-sonnet-5 0.52 / 1.98, deepseek-v4.1-flash 0.06 / 0.22 $ за 1M (вход / выход) |
| Лимиты | У каждого провайдера свои, и он меняет их сам | Правила одного шлюза вместо правил каждого провайдера, статистика расхода по ключу в кабинете. Бюджетов и RPM/TPM на ключ в API ключей нет, а политика канала или аккаунта провайдера всё равно может вернуть HTTP 429, поэтому клиент повторяет запрос с задержкой |
| Эксплуатация | Node, обновления раз в 2-3 недели, оперативная память, порты на вас | Сервера нет, обновлять нечего |
| Приватность | Шлюз и ключи у вас, но запрос уходит выбранному провайдеру, у части бесплатных его логируют | Запрос идёт через шлюз Claudexia к апстриму |
| Выбор моделей | 380 провайдеров, 20 стратегий маршрутов | Каталог Claudexia: Claude, GPT, DeepSeek и другие |
| Оплата из РФ | У каждого провайдера своя, у многих карта РФ не пройдёт | СБП, карты РФ, крипта, пополнение от 1 доллара |
OmniRoute выигрывает, когда вам нужны свои стратегии маршрутов, десятки провайдеров, локальные модели и полный контроль над тем, куда уходит каждый запрос, а время на эксплуатацию у вас есть. Один платный ключ выигрывает, когда нужна предсказуемость: одна оплата, один адрес, никакого сервера. Полный разбор «своё или готовое» на примере другого шлюза лежит в статье Claudexia против самохоста LiteLLM, а общую картину по роутерам даёт «Что такое роутер для Claude API».
Можно и совместить. В документации OmniRoute есть OpenAI-совместимые узлы провайдеров: модели узла видны в /v1/models под его префиксом. Claudexia отдаёт https://api.claudexia.tech/v1, ключ sk_cdx_... и каталог по GET /v1/models, так что по описанию подключается как такой узел. Мы эту связку не прогоняли и шаги в панели не проверяли, поэтому рецептом не подаём. Альтернативы по цене и оплате собраны в статьях «Claudexia против OpenRouter» и «Аналоги OpenRouter». Подробно про бесплатные модели каталога в статье «Claude Code бесплатно», готовый конфиг Claude Code на нашем ключе в гайде.
FAQ
OmniRoute что это?
Локальный шлюз под лицензией MIT. Он поднимает один OpenAI-совместимый адрес localhost:20128/v1 и раздаёт запросы по подключённым провайдерам с автопереключением при лимитах. Токены он не продаёт: аккаунты и ключи провайдеров вы приносите сами.
OmniRoute как установить?
npm install -g omniroute, затем omniroute, либо Docker-образ diegosouzapw/omniroute. Панель на http://localhost:20128. Если npm 11 блокирует скрипты, используйте флаг --allow-scripts, команда приведена выше.
OmniRoute Claude Code как подключить?
Командой omniroute run claude --model провайдер/модель либо переменными ANTHROPIC_BASE_URL=http://localhost:20128 без /v1 и ANTHROPIC_AUTH_TOKEN с ключом шлюза. После правки переменных перезапустите Claude Code.
OmniRoute бесплатный?
Сам шлюз да. Токены нет: цифра про 1,62 млрд бесплатных токенов в месяц это оценка по сторонним бесплатным тарифам, и каждый провайдер сам определяет лимиты и условия. Часть бесплатных вариантов требует карту или KYC.
OmniRoute не работает: что проверить?
По руководству проекта: запущен ли процесс (omniroute или docker restart omniroute), верен ли ключ, не упёрлись ли вы в лимит провайдера (тогда помогает model: "auto" и подключение ещё одного), на Windows добавлен ли в PATH каталог из npm config get prefix. Команда omniroute doctor диагностирует провайдеров, порты и нативные зависимости.
Безопасно ли пускать подписку Claude через OmniRoute?
Условия Anthropic разделяют подписку и ключ API и запрещают сторонним разработчикам пускать запросы через учётные данные подписок от имени пользователей. Подходит ли это вашему случаю, определяют они, а не мы. Схема на ключе API с оплатой за токены этого вопроса не поднимает.