shunt CLI
Локальный шлюз для Claude Code: выбранные модели уходят к OpenAI, Kimi, DeepSeek, Gemini и другим, остальное идет в Anthropic
- 264 ★ репозитория
- Последний коммит
- Apache-2.0
Широкий доступ
Почему такой уровень
- Через шлюз проходит текст всех запросов Claude Code и ответов, включая код проекта, а выбранные модели получают его у сторонних провайдеров
- Хранит входы и токены подписок и ключи API в ~/.shunt и конфиге, пул аккаунтов расходует лимиты нескольких подписок
- Использование подписок из неофициального клиента может нарушать правила провайдеров и привести к блокировке аккаунта, автор оставляет это на ваше решение
Установка
- Работает в
Ручная установка
brew install pleaseai/tap/shuntДля macOS и Linux. Службу запускает `brew services start shunt`.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Через шлюз проходит текст всех запросов Claude Code и ответов, включая код проекта, а выбранные модели получают его у сторонних провайдеров
- Хранит входы и токены подписок и ключи API в ~/.shunt и конфиге, пул аккаунтов расходует лимиты нескольких подписок
- Использование подписок из неофициального клиента может нарушать правила провайдеров и привести к блокировке аккаунта, автор оставляет это на ваше решение
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
shunt — прозрачный прокси между Claude Code и API моделей. Claude Code направляют на него переменной `ANTHROPIC_BASE_URL`. Шлюз смотрит на поле model в запросе. Если идентификатор описан в `shunt.toml`, запрос уходит другому провайдеру, а инструменты и скиллы Claude Code продолжают работать. Все остальные идентификаторы, например claude-*, shunt без изменений пересылает в Anthropic. Встроены провайдеры OpenAI, ChatGPT/Codex, xAI, Grok, Cursor, Kimi Code, Zhipu, MiniMax, OpenCode Zen, Gemini и Antigravity. Любой бэкенд с Anthropic Messages подключается одной таблицей в конфиге без кода. Для OpenAI Responses шлюз сам переводит формат запросов и ответов, включая потоковые. Часть провайдеров работает по ключу API, часть через вход в уже оплаченную подписку. В конфиге можно задать цепочку upstreams с переключением на запасного провайдера, пул из нескольких аккаунтов с учетом лимитов, маршрутизатор по сложности хода и отдельную модель для субагентов. Конфиг перечитывается без перезапуска. Для администрирования есть веб-панель и JSON API. Команда `shunt add upstream kimi --print` выводит инструкцию по настройке, которую можно передать агенту.
Для кого. Пользователям Claude Code, которые хотят запускать часть запросов на других моделях, держать запасной провайдер на случай лимитов или считать расход по нескольким аккаунтам.
Подходит, если
- Нужно проверить `gpt-5.6-sol` или `kimi-k3` внутри привычного Claude Code, не меняя инструменты и скиллы
- Лимит подписки Anthropic заканчивается посреди задачи, и нужен автоматический переход на запасного провайдера
- Субагентам Explore достаточно дешевой модели, а основной сессии нужна сильная
- Несколько аккаунтов надо объединить в пул с учетом окон квот
- Агент должен сам настроить нового провайдера по встроенному руководству `shunt add`
Не подходит, если
- Хватает одной модели Anthropic и стандартного входа Claude Code: лишний прокси добавит точку отказа
- Политика компании запрещает пускать код и промпты через сторонние шлюзы и провайдеров
- Нужен продукт с гарантией совместимости: проект до версии 1.0, настройки и поведение меняются
- Вы хотите делиться чужой подпиской с другими людьми: это нарушает правила провайдеров
Пример запроса к агенту
Поставь shunt, настрой маршрут `gpt-5.6-sol` на мой Codex и покажи, как запустить Claude Code через локальный шлюз на порту 3001Ограничения
- Проект до версии 1.0. Ключи конфигурации, команды и поведение могут измениться между релизами 0.x, перед обновлением читайте заметки к релизу.
- По словам автора, использование подписок ChatGPT, Codex, SuperGrok или Kimi из неофициального клиента остается на вашу ответственность, политика провайдеров может измениться.
- Для варианта chatgpt-plan часть параметров запроса отклоняется, а при исчерпании лимита после начала ответа поток обрывается без переключения.
- Веб-панель есть только в сборках с флагом ui (Homebrew и бинарники релиза), в cargo install ее нет.
Как отключить. Уберите переменные `ANTHROPIC_BASE_URL` и `ANTHROPIC_CUSTOM_MODEL_OPTION` из окружения, и Claude Code снова пойдет напрямую в Anthropic. Службу остановит `brew services stop shunt`. Само приложение удаляется командой `brew uninstall shunt`. Сохраненные входы лежат в ~/.shunt, удалите их, если больше не нужны.
Частые вопросы
Как запустить Claude Code через shunt?
Опишите маршрут в `shunt.toml`, выполните `shunt run` и в другом окне задайте `ANTHROPIC_BASE_URL=http://127.0.0.1:3001` и `ANTHROPIC_CUSTOM_MODEL_OPTION` с нужным идентификатором. Затем запустите claude и выберите модель командой `/model`.
Что будет с обычными запросами к моделям Claude?
Если идентификатор модели не описан в конфиге, shunt пересылает запрос в Anthropic без изменений с вашими учетными данными. Резервный провайдер для таких запросов можно сменить параметром `server.default_provider`.
Какие провайдеры уже встроены?
OpenAI, ChatGPT/Codex, xAI, Grok, Cursor, Kimi Code, Zhipu, MiniMax, OpenCode Zen, Cheaper Inference, Gemini, Antigravity и пропуск в Anthropic. Любой бэкенд с форматом Anthropic Messages добавляется таблицей в конфиге.
Чем shunt отличается от claude-code-router?
Оба переключают модели Claude Code. shunt заявляет совместимость со спецификацией шлюза Claude Code и маршрутизирует по полю model на уровне вывода. Он написан на Rust, ставится через Homebrew или готовый бинарник и поддерживает цепочки провайдеров с переключением, пулы аккаунтов и отдельную модель для субагентов.
Нужно ли открывать шлюз в интернет?
Нет, в быстром старте шлюз слушает 127.0.0.1:3001. Для общего доступа в README описаны токены клиентов, JWT и вход через шлюз, но включать их нужно осознанно.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыЛокальный шлюз для Claude Code, Codex, OpenCode и других агентов: выбор провайдера моделей, маршрутизация, резервные модели и логи
Clother переключает Claude Code между провайдерами одной командой: Z.AI, Kimi, DeepSeek, OpenRouter и локальные модели.
Magpie
magpie
Magpie — приложение и локальный шлюз, которые подключают к Claude Code, Codex, Gemini CLI и OpenCode любые модели и переключают их из меню
CLI подключает сторонние модели к оркестрации Claude Code: воркфлоу, команды агентов и сабагенты на DeepSeek, GLM, Kimi, Qwen или подписке Codex
Локальный прокси, который отдает GigaChat через OpenAI- и Anthropic-совместимый API, чтобы подключать его к Claude Code, aider и другим агентам
CCS
CCS - Claude Codex Switch
CLI для переключения Claude Code между аккаунтами, провайдерами и локальными моделями без правки конфигов
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| shunt (эта карточка) | нет | 264 | |
| Claude Code Router | нет | 38 127 | другой шлюз с маршрутизацией для тех же агентов, а у shunt в README пулы аккаунтов, веб-панель и лимиты расходов |
| routatic-proxy | нет | 981 | локальный CLI-прокси с переводом запросов между API, shunt выбирает провайдера по идентификатору модели |
Коротко о README
Страница объясняет идею шлюза и дает три способа установки: Homebrew, скрипт и cargo. Дальше идут быстрый старт с shunt.toml, таблица встроенных провайдеров, примеры цепочек upstreams и список возможностей с режимами конфигурации: пулы аккаунтов, веб-панель, лимиты расходов, маршрутизаторы. Отдельно оговорено, что проект находится до версии 1.0.