CoreCodeДокументация

Выбор прокси

Как проверить, что прокси Claude настоящий

Обновлено:

Любой прокси может написать на главной «настоящий Claude». Здесь показано, как самому проверить, что за прокси для Claude Code и API стоит Anthropic: какие способы ничего не доказывают, какие сигналы подделать нельзя и какой скрипт можно запустить. Метод работает с любым прокси, включая CoreCode.

Главное
  • Вопрос «какая ты модель?» ничего не доказывает: одна строка в системном промпте заставит любую модель назвать себя Claude.
  • Проверять можно поведение: формат ответа Anthropic Messages, промпт-кэш, который записывается и читается обратно, и отказ на подделанную подпись thinking-блока.
  • В документации Anthropic сказано, что изменённая или не поддающаяся расшифровке подпись thinking-блока всегда даёт ошибку 400.
  • Скрипту check-relay.py нужна только стандартная библиотека Python, один запуск стоит несколько центов.
  • Он доказывает, что апстрим — Anthropic, но не что отвечает именно выбранный вами тариф модели.
  • CoreCode сам проверяет модель каждые 3 дня с помощью открытого отпечатка ModelTrace и публикует результаты и исходные данные на этой странице.

Как прокси экономят на качестве

Все эти варианты по-прежнему болтают и пишут код, поэтому в повседневной работе их редко замечают.

Почему вопрос «какая ты модель» ничего не доказывает

Ответ модели о себе берётся из обучающих данных и системного промпта, а не из надёжного источника. Прокси может вписать в системный промпт «Ты — Claude Opus», и любая модель это повторит; настоящий Claude тоже может ошибиться в собственной версии. Вопрос об имени или дате отсечки знаний и оценка тона — в лучшем случае намёк, но не доказательство.

Работает только поведение, которое есть у API Anthropic и которое никто другой не сымитирует.

Три сигнала, которые нельзя подделать

1. Форма ответа и поля usage

Messages API возвращает type: "message", id с префиксом msg_ и usage с input_tokens и output_tokens, а при кэшировании ещё cache_creation_input_tokens и cache_read_input_tokens. Преобразовать вывод другой модели в такую форму легко, поэтому эта проверка ловит только грубые подделки; она нужна как предпосылка для двух остальных.

2. Промпт-кэш записывается и читается обратно

Отправьте системный промпт почти на 20 000 токенов с cache_control. Первый вызов должен показать cache_creation_input_tokens, а такой же вызов сразу за ним — примерно столько же cache_read_input_tokens. Оба поля описаны в документации Anthropic по промпт-кэшированию.

3. Подпись thinking-блока

При включённом extended thinking Anthropic прикрепляет к каждому thinking-блоку зашифрованную signature. Когда блок отправляют обратно на следующем ходе, API проверяет подпись и отклоняет изменённую с ошибкой 400. Модель другого вендора не может создать подпись, которая пройдёт проверку, а у слоя-конвертера нет ключа Anthropic, чтобы её проверить. По словам Anthropic, API использует подпись, чтобы убедиться, что thinking-блоки созданы Claude (Thinking), а изменённая или не поддающаяся расшифровке подпись всегда даёт 400 (Preserved thinking).

Тест: возьмите подписанный thinking-блок с вызовом инструмента, измените один символ подписи и отправьте обратно — запрос обязан быть отклонён; отправьте без изменений — он обязан пройти. Если изменённую подпись приняли тоже, её никто не проверяет, и апстрим — не Anthropic.

Скрипт проверки

Три проверки собраны в один скрипт: check-relay.py. Ему нужны Python 3.8+ и только стандартная библиотека; ваш ключ уходит на указанный вами адрес и больше никуда. Прочитайте скрипт перед запуском. Исходники, тесты и issues — на GitHub: CoreCodeAI/claude-relay-check.

curl -fsSLO https://corecode.live/docs/verify/check-relay.py
python3 check-relay.py --base-url https://relay.example --key sk-your-key --model claude-sonnet-5-5

Без --base-url и --key скрипт читает ANTHROPIC_BASE_URL и ANTHROPIC_AUTH_TOKEN — настройки, которые использует Claude Code. Добавьте --bearer, если прокси ждёт Authorization: Bearer. Запуск стоит несколько центов: два кэшируемых запроса почти на 20 000 токенов и четыре коротких.

https://relay.example/v1/messages  model=claude-sonnet-5-5
[PASS] shape     Messages response, model claude-sonnet-5-5, 143 input tokens
[PASS] cache     wrote 17755 tokens, read 17755 on call 2
[PASS] signature tampered signature rejected (HTTP 400), genuine one accepted
Result: all checks look like Anthropic
РезультатЗначение
PASSПроверка совпадает с поведением API Anthropic.
WARNСомнительно, но не окончательно, например кэш записывается, но не читается.
FAILПроверка говорит, что апстрим — не Anthropic или usage ненастоящий. Код выхода 1.
ERRORСам запрос не удался (нет соединения, неверный ключ, нет баланса, клиент отклонён). Проверка не завершилась и ничего не говорит ни в ту, ни в другую сторону. Код выхода 2.
SKIPМодель отклонила thinking-запрос или на этот раз не стала думать, поэтому проверка подписи пропущена. Запустите ещё раз или попробуйте другую модель.
Ключи только для Claude Code дают ERRORНекоторые прокси пускают только запросы от клиента Claude Code и отклоняют скрипт с 403. Это ограничение клиента, оно ничего не говорит об апстриме. Чтобы проверить CoreCode, используйте ключ из группы Claude 满血(可外接); ключи из группы 仅限CC отклоняются.

Чего скрипт не доказывает

Как отличить модели: регулярная проверка CoreCode

Три сигнала выше доказывают, что апстрим — Anthropic, но не говорят, какая именно модель отвечает. Для этого мы проверяем себя открытым инструментом ModelTrace. Он просит модель написать несколько сотен целых чисел от 1 до 355, и у каждой модели свои любимые числа. ModelTrace сравнивает распределение с отпечатками 18 моделей GPT и Claude из своей базы и определяет наиболее вероятную.

Каждые 3 дня сервер запускает его с ключом из группы 「Claude 满血(可外接)」: 3 раунда на каждую модель Claude, 3 ответа в раунде. Таблица ниже обновляется после каждого запуска. Обе группы используют одни и те же аккаунты. Из группы 「仅限CC」 мы не тестируем: она пропускает только запросы с системным промптом Claude Code, а автор ModelTrace отмечает, что этот промпт сильно искажает результат.

Последняя проверка: 2026-11-01 19:17 UTC, 3 раунда на модель, 3 ответа на раунд. Все промпты и ответы — в 2026-11-01.json, их можно пересчитать в ModelTrace.

МодельВалидные раундыСемейство ClaudeЭта модельБлижайшая модель
claude-fable-5-13 / 395%нет в базеclaude-opus-5-5
claude-haiku-5-53 / 3100%100%claude-haiku-5-5
claude-opus-5-53 / 3100%100%claude-opus-5-5
claude-sonnet-5-53 / 379%78%claude-sonnet-5-5

Предыдущие проверки

Датаclaude-fable-5-1claude-haiku-5-5claude-opus-5-5claude-sonnet-5-5
2026-11-0195% / —100% / 100%100% / 100%79% / 78%
2026-10-31100% / —100% / 100%100% / 100%96% / 79%
2026-10-28100% / —100% / 100%100% / 100%99% / 99%

В ячейке — средняя вероятность семейства Claude / запрошенной модели.

Как читать таблицу:

О том, что ещё стоит проверить в прокси, читайте в Как выбрать прокси для Claude Code.

FAQ

Можно ли понять, настоящий ли прокси, спросив модель, какая она?

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

Сколько стоит проверка?

Несколько центов: два кэшируемых запроса почти на 20 000 токенов и четыре коротких.

Можно ли запустить её на CoreCode?

Да, с ключом из группы Claude 满血(可外接). Группа 仅限CC пускает только Claude Code, поэтому скрипт получает отказ 403 и сообщает ERROR, что ничего не говорит ни в ту, ни в другую сторону.

Куда скрипт отправляет мой ключ?

Только на адрес, который вы передали в --base-url; больше он ни с кем не связывается. Скрипт открыт, так что прочитайте его перед запуском.

Если все три проверки пройдены, это точно Opus?

Не обязательно. Thinking-блоки Sonnet тоже несут действительные подписи. Тариф оценивайте по возвращённому полю model, по модели и цене в каждом списанном запросе и по тому, как модель справляется со сложными задачами; см. чего скрипт не доказывает. CoreCode проверяет каждую модель раз в 3 дня с помощью ModelTrace; см. регулярную проверку.