- Чтобы развернуть шлюз для вашей организации, см. Развертывание шлюза LLM
- Для информации о том, что Claude Code отправляет на шлюз, см. справочник протокола шлюза
Проверка существующей конфигурации
Администраторы могут распространять адрес шлюза и учетные данные через управляемые параметры, управление устройствами илиapiKeyHelper, чтобы Claude Code подхватил их при запуске без каких-либо действий с вашей стороны. Чтобы проверить, уже ли ваша организация это сделала:
1
Запустите Claude Code
Запустите
claude. Если он открывается на экран входа вместо сеанса, учетные данные шлюза не были распространены; настройте его самостоятельно ниже.2
Проверьте вкладку Status
Если Claude Code запустил сеанс без отображения экрана входа, запустите
/status, откройте вкладку Status и проверьте две строки:Anthropic base URL: эта строка появляется только при установке адреса шлюза. Если ее нет, Claude Code не указан на шлюз; настройте его самостоятельно ниже.Auth tokenилиAPI key: строка, называющаяANTHROPIC_AUTH_TOKEN,ANTHROPIC_API_KEYилиapiKeyHelper, подтверждает, что учетные данные шлюза активны. СтрокаLogin method, называющая учетную запись claude.ai, означает, что учетные данные не были распространены; установите их самостоятельно.
3
Отправьте тестовое сообщение
Закройте меню
/status и отправьте любой запрос в Claude Code. Обычный ответ от Claude без ошибок подтверждает, что соединение с шлюзом работает./status выглядят правильно, но сообщение Claude не проходит, см. таблицу устранения неполадок.
Самостоятельная настройка Claude Code
Чтобы самостоятельно настроить Claude Code для шлюза, вам нужны от команды шлюза:- Базовый URL шлюза
- Учетные данные: строка ключа или токена, или команда, которая их получает
- Если команда шлюза не указала, какой тип учетных данных это, раздел переменная учетных данных ниже охватывает, что попробовать
- Установка переменной учетных данных и установка базового URL: две переменные, которые нужны каждому соединению с шлюзом
- Проверка соединения: подтвердите, что оно работает, прежде чем что-либо сохранять
- Настройка каждой поверхности: если вы используете поверхность, отличную от CLI Claude Code, такую как VS Code, см., как настроить ее с учетными данными шлюза
- Дополнительная конфигурация: переменные, которые некоторым шлюзам нужны помимо базового URL и учетных данных, такие как пользовательский заголовок, помощник учетных данных, обнаружение модели, базовый URL в формате поставщика или отключение трафика вне пути шлюза. Устанавливайте их только если администратор их назвал или ваша сеть ограничивает исходящий трафик
Установка переменной учетных данных
Чтобы аутентифицировать Claude Code на шлюзе, установите ваши учетные данные в переменную окружения. Какая переменная зависит от того, что вам сказала команда шлюза:
Если вам не сказали, какой тип, используйте
ANTHROPIC_AUTH_TOKEN; запрос проверки ниже показывает, как определить, нужно ли переключиться.
Установка базового URL и учетных данных
Установите базовый URL шлюза и переменную учетных данных, которую вы выбрали выше, как переменные окружения. Примеры используютANTHROPIC_AUTH_TOKEN; замените его на ANTHROPIC_API_KEY, если это переменная, которую вы выбрали. Вы можете установить их в вашей оболочке, что длится один сеанс терминала, или в файле параметров Claude Code, что сохраняется везде, где работает Claude Code.
Для вашего первого соединения начните с экспорта оболочки и запустите запрос проверки перед перемещением значений в файл параметров.
Установка как переменные окружения оболочки
Замените значения на те, которые вам дала команда шлюза:- Bash или Zsh
- PowerShell
~/.zshrc, ~/.bashrc или ваш PowerShell $PROFILE.
Если вы экспортируете шлюз только в вашей оболочке, он не надежно достигает фоновых агентов, размещенных супервизором; см. как каждый фоновый сеанс получает свой шлюз. Используйте файл параметров для любого шлюза, через который фоновые агенты должны всегда маршрутизироваться.
Установка в файле параметров
Чтобы конфигурация применялась везде, где работает Claude Code, включая фоновых агентов, установите переменные в блокеenv файла параметров вместо того, чтобы полагаться на вашу оболочку. Файлы параметров имеют разные области:
~/.claude/settings.jsonприменяется ко всем вашим проектам. На Windows путь —%USERPROFILE%\.claude\settings.json.claude/settings.local.jsonприменяется к одному проекту. Claude Code добавляет его в ваш глобальный gitignore при сохранении параметра там; если вы создаете его вручную или позволяете Claude написать его, сначала добавьте его в gitignore самостоятельно, чтобы случайно не зафиксировать ваши учетные данные
env выглядит одинаково в любом файле:
env файла параметров устанавливают одну и ту же переменную, применяется значение файла параметров. Запустите /status, чтобы увидеть, какой базовый URL и источник учетных данных использует Claude Code.
Проверка соединения
С переменными, экспортированными в вашей оболочке, отправьте однотокенный запрос на шлюз напрямую. Это подтверждает, что URL и учетные данные работают, прежде чем вы откроете Claude Code, поэтому сбой указывает на шлюз, а не на вашу конфигурацию. Команды ниже читают переменные оболочки, поэтому им нужны экспорты оболочки даже если вы также поместили значения в файл параметров.- Bash или Zsh
- PowerShell
x-api-key, замените заголовок Authorization на x-api-key: $ANTHROPIC_API_KEY в команде Bash или запись таблицы хеша "Authorization" на "x-api-key" = "$env:ANTHROPIC_API_KEY" в команде PowerShell.
Ответ JSON, начинающийся с {"id":"msg_ и включающий поле "content":[...], означает, что шлюз доступен и учетные данные работают. Ошибка, называющая неизвестную модель, все еще доказывает, что URL и учетные данные работают, так как шлюз аутентифицировал запрос перед отклонением имени модели; вам не нужно находить модель, которую обслуживает ваш шлюз, для этого теста. 401 означает, что учетные данные были отклонены: если вы угадали переменную, переключитесь на другую и переэкспортируйте.
Подтверждение в Claude Code
Запуститеclaude из той же оболочки, чтобы он унаследовал экспорты, отправьте сообщение и запустите /status.
На вкладке Status строка Anthropic base URL должна показывать адрес вашего шлюза, что подтверждает маршрутизацию запросов туда; если строки нет, переменная не достигла сеанса. Строка Auth token или API key, называющая переменную, которую вы установили, подтверждает, что учетные данные шлюза активны, а не сохраненный вход claude.ai.
Если сообщение не проходит или /status не показывает URL шлюза, см. таблицу устранения неполадок ниже.
Как переменная учетных данных отображается на заголовок
Каждая переменная отправляет учетные данные в другом HTTP-заголовке:ANTHROPIC_AUTH_TOKEN в Authorization: Bearer, ANTHROPIC_API_KEY в x-api-key и apiKeyHelper в обоих. Учетные данные в неправильной переменной достигают шлюза в заголовке, который он не читает, и запрос не проходит с 401. Если запрос проверки вернул 401, переключитесь на другую переменную и попробуйте снова.
Конфликты с существующим входом
Переменная учетных данных шлюза имеет приоритет над сохраненным входом claude.ai или ключом Console. Ваш вход claude.ai остается сохраненным и неиспользуемым, пока переменная установлена; отмените установку переменной, и Claude Code вернется к нему. СANTHROPIC_AUTH_TOKEN переменная имеет приоритет немедленно. С ANTHROPIC_API_KEY вам предлагается один раз в интерактивном режиме одобрить ключ перед тем, как он возьмет верх.
Запустите /status, чтобы подтвердить, какой источник учетных данных активен. Если при запуске показывается предупреждение о конфликте аутентификации, называющее два источника, см. первую строку таблицы устранения неполадок, чтобы узнать, какой из них отбросить. Чтобы очистить сохраненный вход, чтобы остались только учетные данные шлюза, запустите /logout.
Настройка каждой поверхности
CLI читает переменные окружения и файлы параметров выше. Другие поверхности — это расширение VS Code, настольное приложение, GitHub Actions, Agent SDK и облачные поверхности, такие как Slack и веб; разделы ниже охватывают, достигают ли эти параметры каждую.Расширение VS Code
Установите переменные шлюза для расширения VS Code вclaudeCode.environmentVariables в собственных параметрах пользователя VS Code, открытых командой Preferences: Open User Settings (JSON). Расширение проверяет учетные данные из этого параметра перед запуском, поэтому это надежное место для учетных данных шлюза; значения в ~/.claude/settings.json достигают порожденного процесса, но не проверку входа самого расширения.
Настольное приложение
Настольное приложение читает маршрутизацию шлюза из конфигурации сторонних поставщиков, а не изANTHROPIC_BASE_URL или settings.json. Эта конфигурация может поступить от вашей организации или из формы в самом приложении:
- Распределено администратором: если ваша организация развернула конфигурацию, настольное приложение маршрутизирует через шлюз без каких-либо действий с вашей стороны
- Настроено локально: для устройств без распределенной администратором конфигурации откройте Help → Troubleshooting → Включить режим разработчика, который перезагружает приложение с меню Developer. Затем откройте Developer → Configure Third-Party Inference и введите базовый URL вашего шлюза. Распределенная администратором конфигурация имеет приоритет и делает эту форму доступной только для чтения
ANTHROPIC_BASE_URL и учетными данными шлюза.
Если настольное приложение показывает Gateway was unreachable, приложение не смогло достичь настроенный базовый URL при запуске; проверьте URL и сетевой путь с помощью теста curl выше.
GitHub Actions
Claude Code GitHub Actions читаетANTHROPIC_BASE_URL и ANTHROPIC_CUSTOM_HEADERS из блока env рабочего процесса. Передайте учетные данные как вход anthropic_api_key действия; действие устанавливает его как ANTHROPIC_API_KEY, поэтому он достигает шлюза в заголовке x-api-key.
Для шлюза x-api-key установите базовый URL в env и передайте ключ шлюза как вход:
anthropic_api_key и ANTHROPIC_AUTH_TOKEN в блоке env рабочего процесса. Действие требует anthropic_api_key, CLAUDE_CODE_OAUTH_TOKEN или федерацию рабочей нагрузки перед запуском Claude Code, и оно не читает ANTHROPIC_AUTH_TOKEN, поэтому вход удовлетворяет эту проверку запуска. Переменная окружения помещает ключ в заголовок Authorization, который читает шлюз; копия в x-api-key игнорируется:
CLAUDE_CODE_OAUTH_TOKEN и федерацию рабочей нагрузки, см. Claude Code GitHub Actions и README действия.
Agent SDK
Agent SDK не имеет опций, специфичных для шлюза; он передает переменные окружения процессу Claude Code, который он порождает. Каждый SDK принимает опциюenv, которая устанавливает окружение порожденного процесса, и SDK TypeScript и Python обрабатывают это по-разному:
- TypeScript: порожденный процесс по умолчанию наследует родительское окружение, но установка
options.envполностью заменяет окружение. Распределитеprocess.envв него, чтобы сохранить переменные шлюза. - Python:
ClaudeAgentOptions(env=...)объединяется поверх унаследованного окружения, поэтому переменные шлюза, установленные в родительском процессе, проходят без распределения.
Slack, облачные сеансы и Remote Control
Claude Code в Slack и облачные сеансы всегда используют API Anthropic; они не являются частью развертывания шлюза. Переменные шлюза, установленные в конфигурации окружения облачного сеанса, не применяются. Если ваш трафик должен оставаться на шлюзе, не включайте эти поверхности для этих пользователей. Remote Control и голосовая диктовка оба полагаются на идентичность claude.ai: Remote Control для связи живого сеанса с вашей учетной записью, и голосовая диктовка для достижения конечной точки транскрипции claude.ai. Они недоступны, пока активныANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN или apiKeyHelper. Remote Control также отключен, пока ANTHROPIC_BASE_URL указывает на хост, не принадлежащий Anthropic, поэтому входа с claude.ai недостаточно само по себе. До версии 2.1.196 не-Anthropic базовый URL не блокировал Remote Control.
Чтобы восстановить любую из этих функций, войдите с claude.ai и отмените установку переменных шлюза, которые проверяет эта функция. Раздел Remote Control в claude doctor называет то, что в настоящее время блокирует Remote Control.
- Голосовая диктовка: отмените установку учетных данных шлюза
- Remote Control: отмените установку учетных данных шлюза и
ANTHROPIC_BASE_URL
Дополнительная конфигурация
Эти параметры охватывают случаи, выходящие за рамки базового URL и учетных данных. Устанавливайте их только если инструкции администратора, правила исходящего трафика вашей сети или таблица устранения неполадок требуют одного.Отправка дополнительных заголовков
Некоторые шлюзы маршрутизируют или помечают запросы, используя пользовательский заголовок в дополнение к учетным данным, например идентификатор клиента или ключ маршрутизации. Чтобы отправить один, установитеANTHROPIC_CUSTOM_HEADERS с одной парой Name: Value на строку. Пример ниже добавляет заголовок маршрутизации с именем X-Org-Route:
- Bash или Zsh
- PowerShell
ANTHROPIC_CUSTOM_HEADERS в блоке env файла параметров. Используйте \n между парами там, так как строки JSON не могут охватывать несколько строк:
env.
Добавление моделей шлюза в средство выбора модели
При включенном обнаружении модели Claude Code запрашивает шлюз для его списка моделей при запуске и добавляет эти имена в средство выбора/model наряду со встроенными записями. Если вы или администратор установили replaceBuiltInOptions в линейке modelPicker, Claude Code также скрывает обнаруженные имена. Он сохраняет строку для модели, которую сеанс уже использует.
Включите его, если ваш шлюз обслуживает имена моделей, которых нет во встроенном списке Claude Code, и вы хотите выбрать их из средства выбора. Если встроенные модели — это то, что вы используете, вам не нужно обнаружение; администратор также мог уже включить его через управляемые параметры.
Чтобы включить его, установите CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 в вашей оболочке или в блоке env ~/.claude/settings.json.
Обнаруженные модели появляются как дополнительные записи /model. Каждая запись показывает описание, которое предоставляет ваш шлюз для модели, или From gateway, когда оно не предоставляется.
Чтобы подтвердить, что обнаружение запустилось, запустите claude --debug и ищите строки [gatewayDiscovery] в журнале отладки в ~/.claude/debug/<session-id>.txt. При первом успешном обнаружении Claude Code регистрирует, сколько моделей было кэшировано, и регистрирует снова только при изменении списка шлюза. 404, timeout или перенаправление также отображаются там. Для информации о том, когда запускается обнаружение, что оно фильтрует и формат ответа, который обслуживают шлюзы, см. справочник обнаружения модели.
Ротация учетных данных с apiKeyHelper
apiKeyHelper — это команда, которую Claude Code запускает для получения ваших учетных данных шлюза, вместо чтения их из статической переменной окружения.
Используйте помощника, когда учетные данные истекают по расписанию, поступают из хранилища или команды SSO, или администратор сказал вам настроить один. Если ваши учетные данные — это фиксированная строка, которую вы устанавливаете один раз, переменная учетных данных — это все, что вам нужно, и вы можете пропустить этот раздел.
Помощник — это любая команда оболочки, которая выводит текущие учетные данные на stdout. Claude Code запускает ее через вашу системную оболочку, поэтому на Windows это может быть исполняемый файл или вызов PowerShell. Сделайте так, чтобы команда не выводила ничего, кроме учетных данных. На Claude Code v2.1.227 или позже баннер или строка журнала, выведенные вместе с ключом, приводят к отказу помощника. Напишите скрипт, сделайте его исполняемым и ссылайтесь на него из apiKeyHelper в вашем файле параметров:
- Bash или Zsh
- PowerShell
Например, скрипт, который читает из хранилища:Ссылайтесь на его путь в
~/.claude/settings.json:CLAUDE_CODE_API_KEY_HELPER_TTL_MS в миллисекундах, например CLAUDE_CODE_API_KEY_HELPER_TTL_MS=900000 на 15 минут.
См. apiKeyHelper для других случаев, в которых Claude Code переустанавливает помощника.
Значение помощника отправляется в оба заголовка Authorization и x-api-key, поэтому оно работает, какой бы заголовок ни читал ваш шлюз.
Отключение трафика вне пути шлюза
Шлюз переносит запросы модели, но Claude Code также отправляет несущественный фоновый трафик вне пути шлюза в Anthropic и в сторонние сервисы, такие как GitHub: проверки версий, телеметрия, примечания к выпуску и аналогичные запросы. В сети, которая разрешает исходящий трафик только на шлюз, эти запросы не выполняются и могут отображаться как заблокированные соединения в вашем мониторинге исходящего трафика. Claude Code прикрепляет учетные данные к запросу телеметрии или метрик использования только когда запрос идет на хост, к которому принадлежат учетные данные. ПокаANTHROPIC_BASE_URL указывает на шлюз, Claude Code отправляет свои события телеметрии в Anthropic без учетных данных вашего шлюза. С активной переменной учетных данных или apiKeyHelper, Claude Code не сообщает метрики использования на панель аналитики Console. До v2.1.246 Claude Code мог прикреплять учетные данные шлюза к запросам телеметрии и метрик использования, предназначенным для хостов Anthropic; запросы модели всегда шли на шлюз с учетными данными, которые ожидает шлюз.
Чтобы отключить этот трафик, установите CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 наряду с переменными шлюза, в том же блоке экспорта оболочки или блоке env файла параметров:
- Bash или Zsh
- PowerShell
- Она отключает автоматические обновления, поэтому планируйте другой путь обновления, такой как ваш менеджер пакетов или управляемое распределение.
- Она подавляет проверку доступности быстрого режима. Если предыдущая проверка уже не включила быстрый режим на машине,
/fastсообщает, что быстрый режим недоступен. - Она не влияет на обнаружение модели шлюза, которое запрашивает только ваш шлюз. До v2.1.257 переменная также останавливала обновление обнаружения, поэтому средство выбора сохраняло ранее кэшированный список.
- Проверка безопасности домена инструмента WebFetch не затрагивается и по-прежнему вызывает
api.anthropic.com. Отключите ее отдельно с помощьюskipWebFetchPreflight: trueв параметрах, если ваша сеть блокирует этот хост. - Для каждого потока телеметрии и переменной, которая его контролирует, см. сервисы телеметрии.
Маршрутизация к облачному поставщику через шлюз
Эти конфигурации направляют Claude Code на шлюз через переменную базового URL, специфичную для поставщика, вместоANTHROPIC_BASE_URL. Шлюзы Amazon Bedrock и Google Cloud’s Agent Platform принимают собственные форматы запросов этих поставщиков; шлюзы Microsoft Foundry и Claude Platform на AWS принимают формат Anthropic Messages. На маршрутах Amazon Bedrock и Google Cloud’s Agent Platform Claude Code также ограничивает бета-заголовки и поля запроса, которые он отправляет, набором, который принимает поставщик. Для информации о том, что получает ваш шлюз на каждом маршруте, см. руководство совместимости шлюза.
Используйте один только если команда шлюза специально назвала Amazon Bedrock, Google Cloud’s Agent Platform, Microsoft Foundry или Claude Platform на AWS. Если запрос проверки выше вернул JSON, вы можете пропустить этот раздел.
Установите блок для поставщика, которого назвала команда шлюза. Переменные skip-auth в блоках Amazon Bedrock, Google Cloud’s Agent Platform и Claude Platform на AWS говорят Claude Code не подписывать запросы с учетными данными поставщика облака, так как шлюз их держит. Если шлюзу также нужен свой собственный токен, где вы его размещаете, зависит от поставщика:
- Amazon Bedrock, Google Cloud’s Agent Platform или Claude Platform на AWS: добавьте
ANTHROPIC_AUTH_TOKENпосле блока. Claude Code отправляет его на шлюз как заголовокAuthorization: Bearer. Для учетных данных в другой схеме или заголовке используйтеANTHROPIC_CUSTOM_HEADERSвместо этого. Сохраняйте переменную skip-auth установленной в любом случае, так как без нее Claude Code удаляет любой заголовокAuthorization, который добавили быANTHROPIC_AUTH_TOKEN,apiKeyHelperилиANTHROPIC_CUSTOM_HEADERS. - Microsoft Foundry: используйте
ANTHROPIC_FOUNDRY_API_KEY, как показано в его блоке
Amazon Bedrock
ОставьтеAWS_BEARER_TOKEN_BEDROCK неустановленным, когда шлюз выдает свои собственные учетные данные. Если вы установите его, Claude Code отправляет этот ключ API Amazon Bedrock как заголовок Authorization вместо токена вашего шлюза, даже с установленным CLAUDE_CODE_SKIP_BEDROCK_AUTH.
- Bash или Zsh
- PowerShell
Google Cloud’s Agent Platform
Замените ID проекта и регион на свои собственные значения. Claude Code включает оба в путь каждого запроса, который он отправляет на шлюз:- Bash или Zsh
- PowerShell
- Регионы для каждой модели: если ваш шлюз обслуживает некоторые модели из региона, отличного от
CLOUD_ML_REGION, установите соответствующую переменнуюVERTEX_REGION_CLAUDE_*для каждой, напримерVERTEX_REGION_CLAUDE_4_6_SONNET=europe-west1. Справочник переменных окружения перечисляет точные имена. - Версии моделей: закрепите
ANTHROPIC_DEFAULT_OPUS_MODEL,ANTHROPIC_DEFAULT_SONNET_MODELиANTHROPIC_DEFAULT_HAIKU_MODEL, как в Закрепление версий моделей. УстановкаANTHROPIC_DEFAULT_HAIKU_MODELтакже перемещает фоновые задачи, такие как заголовки сеансов, на эту модель, и этот раздел объясняет, какая модель их запускает в противном случае. - Возможности модели: если вы закрепляете ID модели, который ваша версия Claude Code не распознает, функции, такие как уровни усилий или расширенное мышление, могут оставаться отключенными на нем. Объявите, что поддерживает модель, с помощью
ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIESи его аналогов для Sonnet и Haiku.
Microsoft Foundry
Поместите учетные данные шлюза вANTHROPIC_FOUNDRY_API_KEY; они отправляются на шлюз как заголовок x-api-key. Шлюз, который ожидает токен-носитель, может принять ANTHROPIC_FOUNDRY_AUTH_TOKEN вместо этого. Claude Code отправляет это значение как заголовок Authorization: Bearer, и оно имеет приоритет над ANTHROPIC_FOUNDRY_API_KEY, когда оба установлены. Требует Claude Code v2.1.203 или позже.
Для шлюза, который внедряет свой собственный заголовок Authorization, установите CLAUDE_CODE_SKIP_FOUNDRY_AUTH=1 и оставьте обе переменные учетных данных неустановленными. Claude Code затем отправляет запросы без учетных данных Azure и сохраняет заголовок Authorization, который вы предоставляете, например через ANTHROPIC_CUSTOM_HEADERS. До v2.1.203 CLAUDE_CODE_SKIP_FOUNDRY_AUTH без ключа API оставлял клиент Microsoft Foundry неспособным отправлять запросы.
- Bash или Zsh
- PowerShell
Claude Platform на AWS
См. Claude Platform на AWS для ID рабочего пространства.- Bash или Zsh
- PowerShell
Подтверждение маршрута поставщика
Запуститеclaude из оболочки, где вы установили блок, и запустите /status. С блоком Amazon Bedrock вкладка Status показывает строки, подобные этим:
Vertex base URL и GCP auth skipped для Google Cloud’s Agent Platform; блок Microsoft Foundry показывает строку пропуска аутентификации только если вы установили CLAUDE_CODE_SKIP_FOUNDRY_AUTH. Если вы также маршрутизируете через корпоративный прокси, строка Proxy показывает URL прокси. Если строка базового URL отсутствует, переменная не достигла сеанса.
Устранение неполадок с ошибками шлюза
Это наиболее распространенные ошибки при запуске Claude Code через шлюз, с причиной на стороне шлюза и исправлением:
Если Claude Code повторно просит вас войти после удаления конфигурации шлюза, причина обычно в хранилище учетных данных, а не в шлюзе; см. ошибки аутентификации.
Связанные ресурсы
- Обзор шлюзов LLM: что такое шлюз и как он взаимодействует с подписками claude.ai
- Развертывание шлюза LLM для вашей организации: контрольный список, обращенный к администратору, для развертывания и распределения конфигурации шлюза
- Справочник протокола шлюза: что Claude Code отправляет на шлюз, включая заголовки и поля, которые шлюз должен пересылать
- Параметры: где находятся файлы параметров и как читается блок
env - Аутентификация: как переменные учетных данных,
apiKeyHelperи вход OAuth взаимодействуют