Клод Код без упора в лимиты: открытый шлюз OmniRoute, честные цифры и безопасная установка

Это разбор OmniRoute, открытого бесплатного шлюза, через который Клод Код ходит сразу в сотни ИИ-провайдеров вместо одного Anthropic, сам перескакивает на следующего, когда упёрся в лимит, и по дороге сжимает то, что уезжает в модель. Я проверил его по официальному репозиторию, по пакету в npm и по независимому обзору, потому что цифры в роликах и цифры в реальности расходятся заметно, и ниже честно развожу, где правда, а где округлили в свою пользу. Внутри установка точными командами, обязательный шаг по безопасности, который в роликах не показывают и без которого ты открываешь дыру у себя на машине, способ убедиться, что переключение действительно работает, замер реального расхода, отдельный жёсткий блок про приватность и про то, какие задачи через чужие бесплатные провайдеры гнать нельзя, чинилка типовых ошибок и полный откат, если решишь снести.

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

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

Сначала факты: что подтвердилось, а где в ролике округлили

Я специально свёл заявления из роликов с тем, что написано в официальном репозитории, в пакете npm и в независимом обзоре, потому что ты пойдёшь ставить это себе и должен понимать, чего ждать на самом деле.

Инструмент существует, называется OmniRoute, живёт на GitHub по адресу diegosouzapw/OmniRoute, лицензия MIT, весь код открыт, платить за него не нужно никому. На момент проверки в июле 2026 у репозитория около 23,5 тысячи звёзд, 3,1 тысячи форков, около 270 контрибьюторов и 225 открытых задач. Последний коммит был в день проверки, проект живой и обновляется буквально ежедневно. Пакет в npm называется omniroute, за неделю с 14 по 20 июля его поставили около 40 тысяч раз. Всё это настоящее, проект не выдумка и не мёртвая заброшенная поделка.

Открыть официальный репозиторий OmniRoute на GitHub

200+ бесплатных провайдеров: сильно преувеличено

Провайдеров в системе действительно много, около 270. Но бесплатных среди них далеко не 200. Сам проект пишет аккуратнее: 90 с лишним провайдеров имеют какой-то бесплатный тариф, постоянно бесплатных около 40. Независимая проверка разложила ещё жёстче: без регистрации работают всего 11, около 40 требуют завести аккаунт и получить ключ, около 50 просят привязать банковскую карту, остальные 130 с лишним платные по подписке. Реальная картина такая: бесплатно и сразу у тебя будет десяток, а не двести.

Экономия до 90 процентов: это потолок, а не норма

Заявление про 15-95 процентов и среднюю экономию около 89 процентов принадлежит авторам проекта и относится к самым удачным сценариям с тяжёлым машинным выводом. Независимый замер дал другое: на коде около 18 процентов, на генерации текста около 50, на длинной истории чата около 65, в среднем около 42 процентов. Клод Код это работа с кодом, то есть твой реальный диапазон ближе к нижней границе. Ставь ожидание в 15-25 процентов, всё сверху будет приятной неожиданностью.

Автопереключение при лимите: правда

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

Сжатие промптов: правда, но с ценой

Сжатие реально есть, работает несколькими движками, код, ссылки и структуры JSON при этом сохраняются байт в байт. Цена в том, что каждый запрос обрастает задержкой в 50-200 миллисекунд на обычном железе. На единичных вопросах незаметно, на длинной сессии с сотнями обращений к инструментам это чувствуется.

Даже сам проект называет разные цифры в разных местах: в описании репозитория 268 провайдеров, в тексте документации 271, в описании пакета npm вообще 160. Это не обман, это следствие бешеной скорости разработки, когда описания не успевают за кодом. Но общий вывод простой: любую цифру отсюда проверяй у себя, единственная честная экономия это та, которую ты увидишь на своём счётчике.

Что это вообще такое и зачем оно тебе

Минута на понимание механики сэкономит тебе часы разбирательств, когда что-то пойдёт не так.

Клод Код обычным образом ходит по одному адресу, в Anthropic, и упирается в лимит твоей подписки. OmniRoute поднимает у тебя на машине локальный шлюз, и ты говоришь Клод Коду ходить на этот локальный адрес вместо прямого пути в Anthropic. Дальше шлюз сам решает, какому провайдеру отдать запрос: твоей подписке Anthropic, бесплатному тарифу другого сервиса, платному ключу третьего. Когда один упёрся в квоту, запрос перекидывается на следующего, и работа продолжается.

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

И третье, о чём стоит сказать честно. Слово бесплатно тут означает бесплатные тарифы чужих сервисов, а не отмену лимитов. У каждого бесплатного тарифа свои ограничения, обычно от одного до десяти запросов в минуту и от ста до тысячи в сутки. Обещание вечной работы без лимитов держится на том, что ты подключаешь много таких тарифов сразу и прыгаешь между ними. Это работает, но это не волшебство, и в тяжёлый рабочий день ты выберешь и их.

Главная выгода тут в том, что работа не встаёт колом посреди задачи, когда кончилась квота. Экономия денег идёт вторым номером. Если ты держишь эту рамку в голове, инструмент тебя не разочарует.

Установка по шагам

Все команды вводятся в терминале, а не в окне диалога с Клод Кодом. На Windows работай в терминале WSL.

Шаг 0. Проверь версию Node

Это место, где спотыкается больше половины новичков. Проект жёстко требует Node версии 22.22.2 и выше внутри двадцать второй ветки, либо 24 и выше. На всём остальном он падает с невнятной ошибкой при входе в панель. Рекомендуется 24.

Промпт
node --version

Если версия не подходит, поставь нужную через менеджер версий и переключись на неё:

Промпт
nvm install 24 nvm use 24 node --version

Шаг 1. Поставь шлюз

Промпт
npm install -g 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

Шаг 2. Обязательный шаг про безопасность

Вот это в роликах не показывают, а пропускать нельзя. Из коробки проект стартует с предсказуемым секретом подписи входа и без шифрования хранилища, то есть твои ключи от всех провайдеров лежат на диске открытым текстом. У предшественника этого проекта ровно такая дыра получила номер CVE. Сгенерируй два своих секрета и пропиши их до первого запуска.

Промпт
mkdir -p ~/.omniroute printf 'JWT_SECRET=%s\nSTORAGE_ENCRYPTION_KEY=%s\nPORT=20128\n' \ "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" >> ~/.omniroute/.env cat ~/.omniroute/.env
Никогда не выставляй порт 20128 наружу в интернет. Панель управления не рассчитана на публичный доступ, а внутри неё лежат ключи от всех твоих провайдеров. Нужен доступ с другой машины, поднимай через VPN или обратный прокси с паролем и HTTPS.

Шаг 3. Запусти и зайди в панель

Промпт
omniroute

Шлюз поднимется и напечатает адрес панели. Открой в браузере http://localhost:20128 и задай пароль администратора при первом входе.

Шаг 4. Подключи провайдеров

В панели зайди в раздел Providers и подключи хотя бы двоих, иначе переключать будет не на что и весь смысл пропадает. Часть подключается по кнопке через вход в аккаунт, часть требует вставить ключ из личного кабинета сервиса. Начни с тех, что не просят банковскую карту, их список лежит в документации проекта в файле FREE_PROVIDER_RANKINGS.md.

Шаг 5. Создай ключ для Клод Кода

В панели открой раздел Endpoints и сгенерируй ключ доступа. Это твой личный ключ к локальному шлюзу, никакого отношения к ключам провайдеров он не имеет. Скопируй его.

Шаг 6. Переведи Клод Код на шлюз

Самый простой путь, автоматическая настройка. Команда сама пропишет профили в настройки Клод Кода:

Промпт
omniroute setup-claude

Если хочешь понимать, что происходит, и держать всё под контролем, настрой руками. Подставь свой ключ из пятого шага вместо ЗДЕСЬ_ТВОЙ_КЛЮЧ и запусти Клод Код прямо из этого же окна терминала:

Промпт
export ANTHROPIC_BASE_URL="http://localhost:20128" export ANTHROPIC_AUTH_TOKEN="ЗДЕСЬ_ТВОЙ_КЛЮЧ" export CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY="1" claude
Обрати внимание: в переменной ANTHROPIC_BASE_URL суффикс /v1 не пишется, Клод Код добавляет его сам. Это одна из самых частых ошибок при ручной настройке, а выглядит она как загадочная ошибка 404 на каждый запрос.

Как убедиться, что переключение реально работает

Самая частая ситуация выглядит так: человек поставил шлюз, запустил Клод Код по старой привычке в другом окне терминала и потом рассказывает, что ничего не изменилось.

  1. Проверь, что шлюз жив. Команда проверки здоровья идёт следующим блоком, она должна вернуть ответ, а не отказ в соединении.
  2. Проверь, что Клод Код смотрит именно на шлюз. Переменные окружения живут только в том окне терминала, где ты их задал. Открыл новое окно, значит там их уже нет, и Клод Код пошёл в Anthropic напрямую.
  3. Открой в панели раздел с логами запросов и задай Клод Коду любой вопрос. Если в логах появилась строка с этим запросом и именем провайдера, который его обслужил, связка работает.
  4. Проверь сам перескок. Поставь режим модели auto, чтобы шлюз выбирал провайдера сам, и прогони тяжёлую задачу, где Клод Код много читает и ищет по проекту. В логах ты увидишь, как имя провайдера меняется, когда предыдущий отдал отказ по квоте.
  5. Не верь тишине. Если в логах панели пусто, значит запросы идут мимо шлюза, сколько бы всё ни выглядело работающим.
Промпт
curl -s http://localhost:20128/api/monitoring/health

Проверить, куда сейчас смотрит твоя сессия, можно одной строкой. Если в ответ пусто, ты работаешь напрямую с Anthropic, мимо шлюза:

Промпт
echo "$ANTHROPIC_BASE_URL"

Чтобы шлюз сам выбирал провайдера и перекидывал запрос при отказе, задай режим auto перед запуском:

Промпт
export ANTHROPIC_MODEL="auto" claude

Как посмотреть реальный расход

Это единственный способ узнать правду про экономию именно на твоих задачах. Займёт полчаса, зато дальше ты говоришь цифрами, а не пересказываешь ролики.

У тебя два счётчика. Первый внутри самого Клод Кода, служебная команда, которую набираешь прямо в окне диалога. Второй в панели шлюза, раздел с отслеживанием расхода, где видно каждый запрос, к какому провайдеру он ушёл, сколько токенов занял и сколько сжалось.

Промпт
/cost

Методика честного замера

  1. Сделай замер до. Запусти Клод Код обычным способом, без шлюза, выполни свою типовую рабочую задачу целиком, набери /cost и запиши цифру в заметку.
  2. Сделай тот же прогон через шлюз. Та же задача, теми же словами, на том же проекте. Снова /cost, снова записал.
  3. Повтори пару прогонов трижды. Один прогон не доказывает ничего, потому что расход прыгает даже на одинаковых задачах, модель каждый раз выбирает чуть разный путь. Смотри на среднее из трёх.
  4. Сравнивай похожее с похожим. Если во втором прогоне Клод полез в другие файлы, замер испорчен, повтори.
  5. Смотри не только на деньги. Часто главная выгода в том, что работа не встала посреди задачи, и это ощущается сильнее любых процентов экономии.
Панель показывает расчётную стоимость для сравнения провайдеров между собой, а не твой реальный счёт. Деньги ты платишь провайдерам напрямую, шлюз в этой цепочке денег не касается вообще. Сверяй итог в личных кабинетах сервисов, а не по панели.

Приватность: куда реально уходят твои промпты

Раздел, ради которого стоило написать всю страницу. Тут придётся сказать неприятное, потому что в роликах эту часть проглатывают.

Сам шлюз честно локальный. Он крутится у тебя на машине, база лежит в папке ~/.omniroute, телеметрия по умолчанию выключена, в облако проекта твои промпты не уходят. Всё это правда и это хорошо.

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

Гнать можно спокойно

Свои учебные и личные проекты, открытый код, черновики и эксперименты, разбор публичных библиотек, генерация обвязки и тестов, всё, что ты и так не постесняешься выложить на GitHub. Тут никакого риска нет, и именно на таких задачах инструмент раскрывается.

Гнать нельзя никогда

Персональные данные клиентов, базы контактов, выгрузки из CRM. Это уже не про этику, это 152-ФЗ и штрафы до полутора миллионов рублей за утечку. Отдельно: файлы .env, ключи от платёжек, токены ботов, пароли к серверам. Всё, что попало в контекст, ушло третьему лицу.

Только со своей головой

Код клиента под договором и NDA, внутренние документы компании, коммерческая тайна, финансовые модели, незапущенные продукты. Если бы за это пришлось объясняться перед клиентом, гони такую задачу напрямую через свою платную подписку, без шлюза.

Что делать практически

Держи два режима работы. Личные и открытые проекты через шлюз, там экономия и бесконечные лимиты. Клиентские и коммерческие задачи через обычную платную подписку напрямую. Переключение это одна переменная окружения, привыкаешь за день.

Технически переключиться обратно на прямой путь можно в любой момент, просто сбросив переменные в текущем окне терминала:

Промпт
unset ANTHROPIC_BASE_URL ANTHROPIC_AUTH_TOKEN ANTHROPIC_MODEL CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY claude
В проекте есть встроенная чистка персональных данных перед отправкой, но она выключена по умолчанию и включается вручную. Плюс защитные фильтры устроены так, что при собственной ошибке они пропускают запрос дальше вместо того, чтобы его остановить. Полагаться на них как на страховку нельзя, решение о том, что можно отправлять, остаётся за тобой.

Риски, о которых честно предупредить

Инструмент рабочий, но он молодой, растёт на бешеной скорости и делается по сути одним автором. Вот что стоит знать до установки.

Бан аккаунтов у провайдеров

Часть сервисов прямо запрещает своими правилами доступ через прокси и склейку нескольких бесплатных тарифов. Документация проекта отдельно помечает такие провайдеры, чтобы ты решал сам. Реальный риск это блокировка твоего аккаунта у конкретного сервиса. Не подключай сюда аккаунты, потеря которых будет для тебя болезненной.

Дыры в безопасности были

В мае 2026 пакет попал под блокировку сервиса проверки за обфусцированный код и скрипты установки. Малвари не нашли, но автор признал две настоящие уязвимости с утечкой ключей и починил их в версии 3.8.6. История нормальная для молодого проекта, но она показывает уровень зрелости.

Небезопасные настройки по умолчанию

Предсказуемый секрет входа и выключенное шифрование хранилища из коробки. Шаг 2 в установке закрывает ровно это. Если ты его пропустил, вернись и сделай, это пять минут.

Ломающиеся релизы

Версии выходят почти каждый день, и среди них попадаются нерабочие. Свежий пример: одна из версий уронила запуск целиком и была срочно перевыпущена. Если после обновления всё встало, откатись на предыдущую версию, а не ищи ошибку у себя.

Откатиться на конкретную рабочую версию можно так, подставив нужный номер:

Промпт
npm install -g omniroute@3.8.48
Простое правило: если ты работаешь в найме с чужим кодом, в регулируемой отрасли или у тебя на машине лежат клиентские проекты под договором, ставь это на отдельную машину или в контейнер, а не в основное рабочее окружение.

Чинилка типовых ошибок

Собрал места, где спотыкаются чаще всего, и что делать в каждом.

Панель не открывается, ошибка про модуль

Почти всегда это версия Node. Нужна 22.22.2 и выше внутри двадцать второй ветки либо 24 и выше. Поставь через nvm нужную версию, переключись на неё и переустанови пакет заново, командами из нулевого шага установки.

Ошибка про better_sqlite3 на macOS

Собранный модуль базы не подошёл под твою систему. Лечится пересборкой на месте: перейди в папку пакета командой cd $(npm root -g)/omniroute/app и выполни npm rebuild better-sqlite3, потом запусти omniroute снова.

Порт 20128 занят

Либо висит забытый шлюз с прошлого раза, либо порт занят чужой программой. Найди процесс командой lsof -i :20128, закрой его, либо пропиши другой порт в файле ~/.omniroute/.env и перезапусти.

Каждый запрос падает с 404

В переменной ANTHROPIC_BASE_URL прописан лишний суффикс /v1. Клод Код добавляет его сам. Должно быть ровно http://localhost:20128 и ничего больше.

401 Unauthorized

Ключ в ANTHROPIC_AUTH_TOKEN не тот. Это должен быть ключ из раздела Endpoints панели шлюза, а не ключ провайдера и не ключ Anthropic. Сгенерируй заново и скопируй целиком, без пробелов по краям.

429 или сообщение про исчерпанную квоту

Все подключённые провайдеры выбраны. Подключи ещё нескольких в разделе Providers, включи режим модели auto, чтобы шлюз перебирал их сам, либо просто подожди минуту, у бесплатных тарифов лимит часто минутный.

Клод Код работает, а в логах панели пусто

Ты запустил Клод Код в другом окне терминала, где переменные окружения не заданы. Проверь строкой echo "$ANTHROPIC_BASE_URL" прямо перед запуском. Чтобы не задавать их каждый раз, пропиши в ~/.bashrc или ~/.zshrc, но помни про раздел с приватностью.

EACCES, отказ в доступе к папке

Шлюзу некуда писать базу. Укажи свою папку через переменную DATA_DIR в файле ~/.omniroute/.env, выбрав директорию, куда у тебя точно есть право записи.

Если ничего не подошло, включи запись логов в файл, добавив строку APP_LOG_TO_FILE=true в ~/.omniroute/.env, перезапусти шлюз и прочитай, на каком шаге всё встало. И поищи текст своей ошибки в разделе Issues репозитория, при двух с лишним сотнях открытых обращений твою проблему скорее всего уже описали.

Полный откат, если решишь снести

Всё сносится начисто за минуту, следов в системе не остаётся. Держи команды под рукой сразу, чтобы не искать их в панике.

Сначала верни Клод Код на прямой путь. Если ты прописывал переменные в файл настроек оболочки, удали их оттуда, а в текущем окне сбрось руками:

Промпт
unset ANTHROPIC_BASE_URL ANTHROPIC_AUTH_TOKEN ANTHROPIC_MODEL CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY rm -rf ~/.claude/profiles

Потом снеси сам шлюз вместе с его базой и ключами:

Промпт
npm uninstall -g omniroute rm -rf ~/.omniroute

Если ставил через Docker, убирай контейнер, том с данными и образ:

Промпт
docker stop omniroute docker rm omniroute docker volume rm omniroute-data docker rmi diegosouzapw/omniroute:latest
Удаление папки ~/.omniroute стирает и все подключённые ключи провайдеров. Если планируешь вернуться, сначала скопируй эту папку в надёжное место, а уже потом сноси.

План на первый вечер

Шесть шагов примерно на полтора часа, после которых ты получишь честный ответ, нужно оно тебе или нет.

  1. Сделай замер до. Запусти Клод Код как обычно, выполни свою типовую задачу, посмотри /cost и запиши цифру. Без этого шага весь вечер бессмысленный, сравнивать будет не с чем.
  2. Проверь версию Node и поставь шлюз одной командой. Не забудь про шаг с секретами, он обязательный.
  3. Подключи минимум двух провайдеров из тех, что не просят банковскую карту. На одном провайдере переключаться некуда и смысла в затее ноль.
  4. Переведи Клод Код на шлюз и убедись по логам панели, что запросы реально идут через него. Пустые логи означают, что ты работаешь мимо.
  5. Повтори ту же самую задачу теми же словами, посмотри /cost и сравни с первой цифрой. Заодно посмотри в логах, менялся ли провайдер по ходу работы.
  6. Реши по-взрослому, что ты сюда пускаешь. Личные и открытые проекты через шлюз, клиентские и коммерческие через прямую платную подписку. Это решение важнее любых процентов экономии.
Что унести с этой страницы, если запомнишь только одно. Инструмент настоящий, бесплатный и рабочий, и главная его польза в том, что работа не встаёт, когда кончилась квота. Но двести бесплатных провайдеров превращаются в реальности в десяток, девяносто процентов экономии на коде превращаются в пятнадцать-двадцать, а твой код на бесплатных тарифах уезжает чужим компаниям и вполне законно идёт им в обучение. Зная это, ты пользуешься инструментом осознанно, а не разочаровываешься через неделю.
Следующий шаг
Хочешь так же, но под свой блог и продукт?

Я собрал систему, по которой обычный человек запускает блог с нуля и набирает аудиторию без съёмок, монтажа и команды. Внутри разбор, с которого стартовал сам.

Открыть разбор: с чего начать