Перейти к содержимому
OmniRoute source

AgentRouter Setup Guide (Русский)

Расширенная настройка: подключение через тип провайдера, совместимый с Claude Code

Заголовок раздела «Расширенная настройка: подключение через тип провайдера, совместимый с Claude Code»

OmniRoute также поддерживает AgentRouter (и аналогичные ретрансляторы) через тип провайдера, совместимый с Claude Code (anthropic-compatible-cc-*), который использует Anthropic Messages API с правильным сетевым форматом. Универсальный провайдер openai-compatible-chat, направленный на https://agentrouter.org, не будет работать — вышестоящий WAF отклоняет запросы, которые не похожи на запросы Claude Code.


  • Учётная запись AgentRouter и API-ключ. Новые пользователи получают бесплатные кредиты по партнёрской ссылке в файле README.
  • Запущенный OmniRoute с включённым флагом функции ENABLE_CC_COMPATIBLE_PROVIDER (см. ниже).

1. Включите тип провайдера, совместимый с CC

Заголовок раздела «1. Включите тип провайдера, совместимый с CC»

Тип провайдера, совместимый с Claude Code, защищён флагом функции, поскольку он отправляет трафик, максимально похожий на трафик официального клиента Claude Code. Включите его, задав переменную окружения перед запуском OmniRoute:

Окно терминала
ENABLE_CC_COMPATIBLE_PROVIDER=true

Пример для Docker:

Окно терминала
docker run -d --name omniroute \
--restart unless-stopped \
-p 20128:20128 \
-v omniroute-data:/app/data \
-e ENABLE_CC_COMPATIBLE_PROVIDER=true \
diegosouzapw/omniroute:latest

После перезапуска на панели управления появится пункт Добавить совместимый с Claude Code в дополнение к существующим вариантам, совместимым с OpenAI и Anthropic.

2. Создайте провайдера на панели управления

Заголовок раздела «2. Создайте провайдера на панели управления»
  1. Откройте Панель управления → Провайдеры → Добавить провайдера.
  2. Выберите Добавить совместимый с Claude Code (отображается только при включённом указанном выше флаге).
  3. Заполните поля:
Поле Значение
Имя AgentRouter (или любая другая метка)
Префикс agentrouter (удобный псевдоним, отображаемый в журналах и на панели)
Базовый URL https://agentrouter.org
Путь чата /v1/messages?beta=true (по умолчанию — оставьте без изменений)

Канонический идентификатор модели по-прежнему использует полный идентификатор узла провайдера (anthropic-compatible-cc-{uuid}/{model}). Префикс — это всего лишь отображаемый псевдоним, который разрешается файлом src/lib/usage/callLogs.ts для более удобного вывода в журналах.

  1. (Необязательно) Вставьте свой API-ключ в поле Проверка и нажмите Проверить, чтобы подтвердить возможность подключения перед сохранением.
  2. Нажмите Добавить.

После создания откройте провайдера и добавьте Подключение с вашим API-ключом AgentRouter (sk-...). Значение test_status подключения должно измениться на active.

3. Использование через комбинацию или напрямую

Заголовок раздела «3. Использование через комбинацию или напрямую»

Укажите модель, используя префикс вашего провайдера в качестве пространства имён:

Окно терминала
curl -X POST http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "agentrouter/claude-opus-4-6",
"messages": [{"role": "user", "content": "hello"}],
"max_tokens": 100
}'

Канонический идентификатор модели anthropic-compatible-cc-{uuid}/claude-opus-4-6 также работает и отображается в базе данных и конфигурации комбинации.

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


Для справки: cc-совместимый мост отправляет следующие данные с каждым запросом к вышестоящему сервису (см. open-sse/services/claudeCodeCompatible.ts):

Заголовок Значение
Authorization Bearer <api-key>
User-Agent claude-cli/2.1.258 (external, sdk-cli)
anthropic-version 2023-06-01
anthropic-beta claude-code-20250219,interleaved-thinking-2025-05-14,effort-2025-11-24
Переключатель бета-функции redact-thinking для отдельного подключения Добавляет redact-thinking-2026-02-12 для вышестоящих сервисов, которым явно требуются потоки рассуждений с редактированием
Переключатель суммаризованных рассуждений для отдельного подключения Добавляет display: "summarized" в CC Compatible-запросы рассуждений, если режим отображения ещё не задан
anthropic-dangerous-direct-browser-access true
x-app cli
X-Stainless-* Различные заголовки SDK Stainless (язык, версия пакета, ОС, архитектура и т. д.)

Именно это позволяет запросам проходить через WAF / белый список клиентов вышестоящего сервиса.


{"error":{"message":"unauthorized client detected, ..."}} — Ваш запрос не соответствует сетевому образу Claude Code. Это происходит, когда провайдер настроен как openai-compatible-chat вместо anthropic-compatible-cc или когда флаг ENABLE_CC_COMPATIBLE_PROVIDER=true не был задан при запуске.

{"error":{"message":"无效的令牌","type":"new_api_error"}} (HTTP 401) — «Недействительный токен». Сетевой образ корректен, но API-ключ отклонён. Создайте новый ключ в панели управления AgentRouter и обновите подключение.

{"error":{"code":"content-blocked","type":"agent_router_api_error"}} (HTTP 400) — Механизм модерации AgentRouter отклонил содержимое запроса либо тариф ключа не разрешает использовать запрошенную модель. Попробуйте другой промпт или модель; если безобидный промпт блокируется постоянно, обратитесь в службу поддержки AgentRouter.

[400]: content-blocked только для определённых моделей — Большинство тарифов AgentRouter разрешают использовать только подмножество моделей (например, claude-opus-4-6). Другие идентификаторы моделей возвращают unauthorized_client_error, даже если ключ действителен. Проверьте в панели управления AgentRouter, какие модели входят в ваш тариф.

Invalid JSON response from provider (reset after Ns) в журналах omniroute — Вышестоящий сервис вернул тело ответа не в формате JSON (обычно HTML-страницу ошибки от WAF). Как правило, это означает, что запрос так и не достиг серверной части AgentRouter — ещё раз проверьте, что идентификатор провайдера начинается с anthropic-compatible-cc- (обратите внимание на завершающий дефис — см. CLAUDE_CODE_COMPATIBLE_PREFIX в open-sse/services/claudeCodeCompatible.ts) и что флаг функции включён.

unauthorized client detected / HTML-страница ошибки, хотя провайдер AgentRouter уже существует — вероятно, у вас имеется несколько провайдеров AgentRouter, и запрос попадает не к тому из них. Если ранее вручную был создан провайдер anthropic-compatible-* (без cc) или openai-compatible-chat-* с префиксом agentrouter, он может владеть идентификаторами моделей agentrouter/<model> (а комбинации могут ссылаться на него по идентификатору узла), поэтому трафик направляется к этому провайдеру — который отправляет стандартный User-Agent и получает отказ — вместо встроенного провайдера agentrouter, уже использующего правильный сетевой образ. Проверьте, во что фактически преобразуется модель, в журналах omniroute (тег ROUTING показывает agentrouter/<model> → <providerId>/<model>); если <providerId> не равен agentrouter, перейдите на использование нативного провайдера: укажите в комбинациях agentrouter/<model> (providerId agentrouter) и удалите дублирующиеся совместимые провайдеры. Нативному провайдеру не требуется конфигурация сетевого образа или customUserAgent.



Исходный код OmniRoute (a58000c7685f)

HagiCode

HagiCode — агентная среда разработки со структурированными процессами, параллельным выполнением несколькими агентами и интерфейсами Hero Dungeon.

Превращайте идеи в полезное ПО с более умным, быстрым и увлекательным агентным рабочим процессом.

Главный экран HagiCode в светлой теме
  • SmartСтруктурированные процессы превращают намерение в исполнимый путь от идеи до готового изменения.
  • EfficientМультиагентные процессы параллельно продвигают исследование, реализацию и проверку.
  • FunHero Dungeon делает длительную совместную разработку наглядной и увлекательной.
Перейти на HagiCode