Claude Platform Docs
Управляемые агентыКорпоративная конфигурация

Справочник по конфигурации

Узнайте, где находятся настройки самостоятельно размещённого сервера Claude Managed Agents, и найдите для каждого параметра его ключ, переменную окружения, значение по умолчанию и назначение.

На этой странице показано, где находятся настройки самостоятельно размещённого сервера Claude Managed Agents, и приведён их перечень. Чтобы настроить функцию, см. разделы Единый вход, Идентификация агентов и учётные данные и Провайдер инференса.

Где находятся настройки

Сервер считывает свои настройки из одного файла YAML, а свои учётные данные — из своего окружения.

  • Docker Compose: Файл — это compose.config.yaml, расположенный рядом с docker-compose.yml в распакованном архиве. Отредактируйте его, затем выполните docker compose restart cma-server из этого каталога.
  • Kubernetes: Файл — это значение server.config Helm-чарта сервера. Отредактируйте его в своём файле значений, выполните helm upgrade, а затем перезапустите серверы командой kubectl -n cma-server rollout restart deployment -l anthropic.com/role=server. См. раздел Развёртывание в Kubernetes.

Если сервер отклоняет параметр, показанный на страницах о самостоятельном размещении, обновите сервер. Файл cma-server.example.yaml в корне архива снабжает общие ключи пояснениями.

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

Передача учётных данных в стек Compose

В стеке Compose контейнер сервера получает только переменные из списка environment: службы cma-server в docker-compose.yml. Чтобы передать ещё одну:

  1. Добавьте её имя в этот список и задайте её значение в .env.
  2. Если учётные данные представляют собой файл, поместите файл рядом с docker-compose.yml и добавьте строку, например - ./gcp-key.json:/etc/cma-server/gcp-key.json:ro, в список x-server-mounts в docker-compose.yml. Путь после первого двоеточия — это путь к файлу внутри контейнера. Используйте этот путь как значение переменной в .env или как значение параметра, указывающего этот файл.
  3. Выполните docker compose up -d. Перезапуск не перечитывает .env.

Обновление заменяет docker-compose.yml, поэтому повторите эти изменения в файле нового выпуска, прежде чем запускать его стек.

Как читать таблицы

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

  • Ключи: Каждая точка в ключе — это уровень вложенности в файле. Например, server.addr — это ключ addr в разделе server.
  • Переменные: Имя переменной — это CMA_, за которым следует ключ заглавными буквами, где каждая точка заменена двумя символами подчёркивания.
  • Только файл: У параметра нет переменной.
  • Только окружение: Сервер не запускается, если параметр указан в файле.
  • Только bedrock и аналогичные метки: Параметр работает только с этим провайдером, хранилищем или менеджером секретов. Если вы задаёте его, используя другой, сервер не запускается.
  • Списки: Список — это список YAML в файле и строка с разделителями-запятыми в переменной.
  • Длительности: Длительность — это число с единицей измерения, например 30s, 5m или 1h.
  • Целые числа: Целое число состоит только из цифр, без знака, ведущего нуля или символа подчёркивания.

При запуске сервер записывает в журнал заданные вами параметры и большинство значений по умолчанию, указывая для каждого, откуда взято его значение, например server.addr=0.0.0.0:8400 (file). Вместо секрета он записывает ***, за исключением серверного ключа API, который он сгенерировал сам.

Сервер и журналирование

Параметр
Переменная окружения
По умолчаниюОписание
server.addr
CMA_SERVER__ADDR
127.0.0.1:8400Адрес, который прослушивает сервер.
server.api_key
CMA_SERVER__API_KEY
НетСерверный ключ API. Обязателен при store.backend: postgres, если только auth.refuse_server_api_key не равен true. При memory сервер генерирует ключ, если вы его не задали, и записывает его в журнал при запуске.
server.id_marker
CMA_SERVER__ID_MARKER
localТо, что следует за префиксом в каждом ID, создаваемом сервером. local даёт sesn_local_01…, а none даёт sesn_01…, как в размещённом сервисе.
server.shutdown_delay
CMA_SERVER__SHUTDOWN_DELAY
0sКак долго сервер продолжает обслуживать запросы после сигнала остановки, пока его проверка готовности отвечает not_ready. Максимум — 5m.
server.max_connections
CMA_SERVER__MAX_CONNECTIONS
0Максимальное число подключений, которые сервер одновременно держит открытыми на server.addr. 0 означает отсутствие ограничения. При достижении ограничения новое подключение ожидает, пока другое не закроется или его клиент не прекратит попытку. Учитываются потоки событий, опросы воркеров и проверки работоспособности. В Kubernetes kubelet перезапускает под, проверки которого ждут слишком долго.
logging.format
CMA_LOGGING__FORMAT
textФормат журнала, text или json.
logging.level
CMA_LOGGING__LEVEL
infoСамый низкий уровень, который записывает сервер. Значения: debug, info, warn и error.
logging.errors
CMA_LOGGING__ERRORS
falseВключает ли журнал сообщения об ошибках ответов 4xx и 5xx. Сообщение может цитировать значение, отправленное клиентом.
health.check_interval
CMA_HEALTH__CHECK_INTERVAL
60sКак часто сервер проверяет свои учётные данные для инференса для проверки готовности. Минимум — 5s.
health.upstream_affects_readiness
CMA_HEALTH__UPSTREAM_AFFECTS_READINESS
trueОтвечает ли проверка готовности 503, пока провайдер инференса отклоняет учётные данные сервера.

База данных

Каждый параметр в этой таблице, кроме store.backend, применяется только при store.backend: postgres.

Параметр
Переменная окружения
По умолчаниюОписание
store.backend
CMA_STORE__BACKEND
memoryГде сервер хранит свои данные. Значения: memory, которое стирается при перезапуске, и postgres.
store.database_url
CMA_STORE__DATABASE_URL
НетСтрока подключения PostgreSQL. Обязательна при postgres.
store.control_database_url
CMA_STORE__CONTROL_DATABASE_URL
Значение store.database_urlСтрока подключения для служебных подключений самого сервера, например для его сигнала активности.
store.listen_database_url
CMA_STORE__LISTEN_DATABASE_URL
Значение store.database_urlСтрока подключения для единственного подключения, на котором сервер прослушивает уведомления. Пул подключений в режиме транзакций не может обслуживать это подключение.
store.migrate_database_url
CMA_STORE__MIGRATE_DATABASE_URL
Значение store.database_urlСтрока подключения, которую использует команда сервера migrate. Пул подключений в режиме транзакций не может обслуживать это подключение.
store.pool_max_conns
CMA_STORE__POOL_MAX_CONNS
24Максимальное число подключений к базе данных, которое открывает пул одного сервера. Минимум — 4.
store.event_poll_interval
CMA_STORE__EVENT_POLL_INTERVAL
25msКак часто каждый сервер запрашивает у базы данных последние события в сеансах, которые его клиенты получают в режиме «streaming» (потоковой передачи). Событие, записанное другим сервером, ожидает не дольше примерно этого времени, прежде чем попасть в поток.
store.credentials_encryption_key
CMA_STORE__CREDENTIALS_ENCRYPTION_KEY
Только окружение
НетКлюч, которым шифруются хранимые учётные данные в базе данных, в виде 32 случайных байтов в base64. Установки Docker Compose и Kubernetes задают его. Без него сервер не запускается, если только store.allow_unencrypted_credentials не равен true.
store.allow_unencrypted_credentials
CMA_STORE__ALLOW_UNENCRYPTED_CREDENTIALS
falseМожет ли сервер запускаться без store.credentials_encryption_key. Без ключа он хранит учётные данные в базе данных в открытом виде. true не действует, если git.allowed_hostnames содержит хост или если вы выполняете установку с помощью Docker Compose или Helm-чарта сервера.
store.credentials_encryption_keys_retiring
CMA_STORE__CREDENTIALS_ENCRYPTION_KEYS_RETIRING
Только окружение
НетПрежние ключи шифрования, которыми сервер ещё может расшифровывать данные во время ротации ключей. Этому параметру нужен store.credentials_encryption_key.

Провайдер инференса

Чтобы настроить провайдера, см. раздел Провайдер инференса.

Параметр
Переменная окружения
По умолчаниюОписание
inference.provider
CMA_INFERENCE__PROVIDER
anthropicКуда сервер отправляет вызовы модели. Значения: anthropic, bedrock, vertex, foundry и gateway.
inference.headers
Только файл
НетЗаголовки запроса, которые сервер добавляет к каждому вызову модели, в виде сопоставления имени заголовка со значением. Заключайте каждое значение в кавычки. Сервер отказывается запускаться при значении без кавычек, которое YAML не читает как текст, например true или 0042. При gateway значением также может быть { from: request_id } или { from: session_id }.
inference.model_fallback
CMA_INFERENCE__MODEL_FALLBACK
trueТолько anthropic. Запрашивают ли вызовы модели резервный вариант на стороне сервера. Такие вызовы содержат поле fallbacks и заголовок anthropic-beta: server-side-fallback-2026-07-01. Прокси, указанный вами в ANTHROPIC_BASE_URL, может отклонить это поле или заголовок. Если он отвечает кодом 400 или 422, сервер повторно отправляет вызов без них.
inference.metadata.user_id
CMA_INFERENCE__METADATA__USER_ID
НетТолько anthropic и foundry или gateway с format: anthropic-messages. Единый идентификатор, который сервер отправляет как metadata.user_id с каждым вызовом модели. Журнал запуска выводит его. Без этого параметра сервер отправляет метку cma-server. Отключить metadata.user_id нельзя. Если провайдер или прокси отклоняет его, каждый вызов модели завершается ошибкой. См. раздел Что покидает вашу сеть.

Облачные провайдеры

Параметр
Переменная окружения
По умолчаниюОписание
inference.region
CMA_INFERENCE__REGION
НетТолько bedrock и vertex. Регион AWS или расположение в Google Cloud’s Agent Platform. Обязателен при vertex. Без него bedrock использует регион, который находит цепочка по умолчанию AWS SDK.
inference.project_id
CMA_INFERENCE__PROJECT_ID
НетТолько vertex. Проект Google Cloud, в котором выполняются вызовы. Обязателен, если в учётных данных Google не указан проект.
inference.api
CMA_INFERENCE__API
invoke_modelТолько bedrock. API Amazon Bedrock, через который идут вызовы, invoke_model или messages. messages — это конечная точка, которую описывает Claude in Amazon Bedrock (bedrock-mantle). При нём роли AWS сервера нужно bedrock-mantle:CreateInference вместо bedrock:InvokeModel и bedrock:InvokeModelWithResponseStream.
inference.list_models
CMA_INFERENCE__LIST_MODELS
trueТолько bedrock. Считывает ли сервер списки моделей Claude в Amazon Bedrock. Благодаря этим спискам агенты могут использовать модель, вышедшую после выпуска вашего сервера.
inference.model_id_prefix
CMA_INFERENCE__MODEL_ID_PREFIX
us.anthropic.Только bedrock. Текст, который сервер ставит перед каждым ID модели. При inference.api: messages значение по умолчанию — anthropic..
inference.model_id_overrides
Только файл
НетТолько bedrock, vertex и foundry. Сопоставление ID модели с точным ID, который ожидает провайдер. При foundry этот ID является именем развёртывания.
inference.foundry.resource
CMA_INFERENCE__FOUNDRY__RESOURCE
НетТолько foundry. Имя ресурса Foundry. Задайте этот параметр или inference.foundry.base_url, но не оба.
inference.foundry.base_url
CMA_INFERENCE__FOUNDRY__BASE_URL
НетТолько foundry. По умолчанию вызовы отправляются на https://<resource>.services.ai.azure.com/anthropic. Чтобы обращаться к ресурсу по другому адресу, например через прокси, укажите здесь этот URL. Он оканчивается на /anthropic.

Шлюз моделей

Эти параметры применяются только при inference.provider: gateway. См. раздел Шлюз моделей.

Параметр
Переменная окружения
По умолчаниюОписание
inference.gateway.url
CMA_INFERENCE__GATEWAY__URL
НетОбязателен. URL, который принимает вызовы модели. При bedrock-invoke и vertex-raw-predict {model} отмечает место, куда подставляется ID модели. При vertex-raw-predict URL должен оканчиваться на /{model}:rawPredict.
inference.gateway.format
CMA_INFERENCE__GATEWAY__FORMAT
НетОбязателен. Формат запроса, который принимает шлюз: bedrock-invoke, anthropic-messages или vertex-raw-predict.
inference.gateway.model_map
Только файл
НетОбязателен. Сопоставление каждого ID модели, который могут указывать агенты, с ID, который ожидает шлюз. Заключайте каждое значение в кавычки, как для inference.headers.
inference.gateway.streaming
CMA_INFERENCE__GATEWAY__STREAMING
falseОтправляет ли сервер потоковый вызов этого формата, чтобы ответы приходили по мере их генерации моделью. При bedrock-invoke этот вызов отправляется на тот же URL с добавленным -with-response-stream. При vertex-raw-predict этот вызов отправляется на тот же URL, в котором :streamRawPredict стоит вместо :rawPredict. Оставьте :rawPredict в inference.gateway.url.
inference.credentials.supplier
CMA_INFERENCE__CREDENTIALS__SUPPLIER
НетОбязателен. Откуда берутся учётные данные шлюза. env означает один долгоживущий ключ, oauth_exchange — краткосрочные токены, а azure — токены Microsoft Entra ID, выдаваемые собственному удостоверению Azure сервера.
inference.credentials.env.var
CMA_INFERENCE__CREDENTIALS__ENV__VAR
НетОбязателен при env. Имя переменной окружения, которая содержит ключ.
inference.credentials.azure.scope
CMA_INFERENCE__CREDENTIALS__AZURE__SCOPE
НетОбязателен при azure. Область, для которой сервер запрашивает токены: URI ID приложения или ID приложения из регистрации приложения вашего шлюза, за которым следует /.default.
inference.credentials.send_as.header
CMA_INFERENCE__CREDENTIALS__SEND_AS__HEADER
AuthorizationЗаголовок запроса, который передаёт учётные данные.
inference.credentials.send_as.scheme
CMA_INFERENCE__CREDENTIALS__SEND_AS__SCHEME
BearerСлово, которое предшествует учётным данным в заголовке. Для любого заголовка, кроме Authorization, по умолчанию схема отсутствует.
inference.credentials.renew_before
CMA_INFERENCE__CREDENTIALS__RENEW_BEFORE
90sПри oauth_exchange — насколько заранее сервер заменяет токен. Он перестаёт использовать кэшированный токен за это время до истечения срока действия токена и получает новый для следующего вызова модели. Держите значение меньше срока жизни ваших токенов. Сервер отклоняет любой токен, который действителен меньше этого значения.

Краткосрочные токены шлюза

Эти параметры применяются только при inference.credentials.supplier: oauth_exchange. См. раздел Краткосрочные токены. Параметры exchange как группа необязательны. Без них сервер отправляет шлюзу то, что возвращает обратный вызов.

Параметр
Переменная окружения
По умолчаниюОписание
inference.credentials.assertion.url
CMA_INFERENCE__CREDENTIALS__ASSERTION__URL
НетОбязателен. URL HTTP-обратного вызова, который возвращает подписанное утверждение.
inference.credentials.assertion.auth.type
CMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__TYPE
НетОбязателен. Как сервер проходит аутентификацию в обратном вызове, mtls или bearer_file.
inference.credentials.assertion.auth.cert_file
CMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__CERT_FILE
НетОбязателен при mtls. Путь к клиентскому сертификату сервера.
inference.credentials.assertion.auth.key_file
CMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__KEY_FILE
НетОбязателен при mtls. Путь к закрытому ключу клиентского сертификата.
inference.credentials.assertion.auth.token_file
CMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__TOKEN_FILE
НетОбязателен при bearer_file. Путь к файлу, содержащему токен bearer.
inference.credentials.assertion.auth.ca_file
CMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__CA_FILE
НетПуть к файлу PEM с центрами сертификации, которым сервер доверяет для обратного вызова.
inference.credentials.assertion.forward_metadata
CMA_INFERENCE__CREDENTIALS__ASSERTION__FORWARD_METADATA
НетКлючи метаданных сеанса, значения которых сервер отправляет в обратный вызов. Они поступают как session.metadata в теле запроса. Значения — это то, что записала вызывающая сторона API, поэтому сверяйте их с собственными записями.
inference.credentials.exchange.token_url
CMA_INFERENCE__CREDENTIALS__EXCHANGE__TOKEN_URL
НетОбязателен для обмена. Конечная точка токенов OAuth, в которой сервер обменивает утверждение на токен.
inference.credentials.exchange.grant_type
CMA_INFERENCE__CREDENTIALS__EXCHANGE__GRANT_TYPE
НетОбязателен для обмена. grant_type, который отправляет сервер, например urn:ietf:params:oauth:grant-type:jwt-bearer.
inference.credentials.exchange.encoding
CMA_INFERENCE__CREDENTIALS__EXCHANGE__ENCODING
formКак сервер кодирует запрос обмена, form или multipart.
inference.credentials.exchange.expiry
CMA_INFERENCE__CREDENTIALS__EXCHANGE__EXPIRY
expires_inОткуда сервер считывает срок жизни токена. expires_in означает более раннее из значений expires_in в ответе и утверждения exp токена. jwt_exp означает только утверждение exp.
inference.credentials.exchange.headers
Только файл
НетДополнительные заголовки запроса для конечной точки токенов в виде сопоставления имени заголовка со значением. Заключайте каждое значение в кавычки, как для inference.headers.
inference.credentials.exchange.ca_file
CMA_INFERENCE__CREDENTIALS__EXCHANGE__CA_FILE
НетПуть к файлу PEM с центрами сертификации, которым сервер доверяет для конечной точки токенов.

Единый вход

Чтобы настроить вход, см. раздел Единый вход.

Параметр
Переменная окружения
По умолчаниюОписание
auth.issuers
Только файл
НетИздатели OpenID Connect, токены которых принимает сервер. См. раздел Записи издателей.
auth.refuse_server_api_key
Только файл
falseОтклоняет ли сервер серверный ключ API на каждом маршруте. Для true нужен хотя бы один издатель. После этого каждая команда административного CLI, принимающая ключ, завершается ошибкой.

Записи издателей

Каждая запись auth.issuers принимает следующие поля:

ПолеПо умолчаниюОписание
nameНетОбязательно. Метка издателя в строках журнала. Сервер также записывает её как часть создателя каждого ресурса.
issuer_urlНетОбязательно. URL издателя, в точности как в утверждении iss его токенов. Сервер загружает ключи подписи с этого хоста и с хоста jwks_uri, который указывает документ обнаружения издателя. Если ваша сеть ограничивает исходящие подключения, разрешите оба хоста.
audiencesНетОбязательно. Значения, которые может содержать утверждение aud токена. Если приложения пересылают токены, которые у них уже есть, укажите ID клиента каждого приложения.
rolesНетСписок пар group и role. Группа сопоставляется точно или как шаблон, в котором * обозначает любую последовательность символов, а ? — один символ. Роль — это admin, developer или user. Побеждает самая высокая совпавшая роль. Задайте roles, default_role или оба.
default_roleНетРоль вызывающей стороны, группы которой не соответствуют ни одной записи roles. Задавайте её, только если доступ должен быть у всех, кто может получить токен для этой аудитории.
subject_claimsubУтверждение, которое идентифицирует вызывающую сторону. Имя, начинающееся с /, является указателем JSON Pointer во вложенные утверждения.
stable_subjectfalseПрименяется, только если subject_claim указывает утверждение, отличное от sub или oid. Задайте true, чтобы подтвердить, что ваш провайдер никогда не изменяет значение этого утверждения для человека и никогда не передаёт его кому-либо другому. Сервер это не проверяет. При false токены агентов не содержат утверждений actor_sub и actor_iss.
groups_claimgroupsУтверждение, в котором перечислены группы вызывающей стороны. Имя, начинающееся с /, является указателем JSON Pointer во вложенные утверждения.
jwks_fileНетПуть к файлу JSON Web Key Set. Сервер считывает из него ключи подписи и никогда не обращается к издателю.
login_client_idНетID клиента приложения, которое использует вход из терминала. Его может задать только один издатель.
login_scopes[openid]Области, которые запрашивает вход. Этому полю нужен login_client_id.

Менеджер секретов

Чтобы настроить хранилище, см. раздел Менеджер секретов.

Параметр
Переменная окружения
По умолчаниюОписание
secret_store.type
CMA_SECRET_STORE__TYPE
НетМенеджер секретов, в котором хранятся учётные данные хранилища. Значения: aws_secrets_manager, gcp_secret_manager, azure_key_vault и hashicorp_vault. Без него учётные данные хранилища остаются в базе данных.
secret_store.prefix
CMA_SECRET_STORE__PREFIX
НетОбязателен при secret_store.type. Начало имени каждого секрета, создаваемого сервером. Он должен оканчиваться на / для aws_secrets_manager и hashicorp_vault, на - или _ для gcp_secret_manager и на - для azure_key_vault.
secret_store.region
CMA_SECRET_STORE__REGION
НетТолько aws_secrets_manager, и там обязателен. Регион AWS, в котором хранятся секреты.
secret_store.project
CMA_SECRET_STORE__PROJECT
НетТолько gcp_secret_manager, и там обязателен. ID проекта Google Cloud, в котором хранятся секреты.
secret_store.vault_url
CMA_SECRET_STORE__VAULT_URL
НетТолько azure_key_vault, и там обязателен. URL хранилища ключей, например https://my-vault.vault.azure.net.

HashiCorp Vault

Эти параметры применяются только при secret_store.type: hashicorp_vault. Задайте ровно один метод входа: token_file, kubernetes или approle.

Параметр
Переменная окружения
По умолчаниюОписание
secret_store.address
CMA_SECRET_STORE__ADDRESS
НетОбязателен. URL https:// сервера Vault.
secret_store.namespace
CMA_SECRET_STORE__NAMESPACE
НетПространство имён Vault Enterprise, содержащее точку монтирования и метод входа.
secret_store.mount
CMA_SECRET_STORE__MOUNT
secretПуть к механизму секретов KV версии 2.
secret_store.ca_cert_file
CMA_SECRET_STORE__CA_CERT_FILE
НетПуть к файлу PEM с центром сертификации, подписавшим сертификат Vault.
secret_store.token_file
CMA_SECRET_STORE__TOKEN_FILE
НетПуть к файлу с токеном Vault, который поддерживает в актуальном состоянии другой процесс, например Vault Agent.
secret_store.kubernetes.role
CMA_SECRET_STORE__KUBERNETES__ROLE
НетОбязателен при kubernetes. Роль Vault, под которой входит сервер. Привяжите её к учётной записи службы сервера.
secret_store.kubernetes.mount_path
CMA_SECRET_STORE__KUBERNETES__MOUNT_PATH
kubernetesГде Vault монтирует метод входа Kubernetes.
secret_store.kubernetes.service_account_token_file
CMA_SECRET_STORE__KUBERNETES__SERVICE_ACCOUNT_TOKEN_FILE
/var/run/secrets/kubernetes.io/serviceaccount/tokenПуть к токену учётной записи службы, который сервер предъявляет при каждом входе.
secret_store.approle.role_id
CMA_SECRET_STORE__APPROLE__ROLE_ID
НетОбязателен при approle. ID роли AppRole, под которой входит сервер.
secret_store.approle.secret_id_file
CMA_SECRET_STORE__APPROLE__SECRET_ID_FILE
НетОбязателен при approle. Путь к файлу с secret_id роли.
secret_store.approle.mount_path
CMA_SECRET_STORE__APPROLE__MOUNT_PATH
approleГде Vault монтирует метод входа AppRole.

Идентификация агентов

Чтобы настроить токены агентов, см. раздел Идентификация агентов. Любой параметр в этой таблице включает эту функцию. После этого серверу нужны agent_identity.issuer и ровно одно место для ключа подписи: key_file, key_secret или kms_key.

Параметр
Переменная окружения
По умолчаниюОписание
agent_identity.issuer
CMA_AGENT_IDENTITY__ISSUER
НетURL https://, который токены агентов содержат в качестве утверждения iss.
agent_identity.key_file
CMA_AGENT_IDENTITY__KEY_FILE
НетПуть к закрытому ключу PEM, которым подписываются токены.
agent_identity.key_secret
CMA_AGENT_IDENTITY__KEY_SECRET
НетИмя секрета, содержащего закрытый ключ PEM в вашем менеджере секретов, без secret_store.prefix.
agent_identity.kms_key.provider
CMA_AGENT_IDENTITY__KMS_KEY__PROVIDER
НетСлужба управления ключами, в которой хранится ключ подписи, aws_kms или gcp_kms.
agent_identity.kms_key.key
CMA_AGENT_IDENTITY__KMS_KEY__KEY
НетОбязателен при kms_key.provider. ARN ключа для aws_kms или имя ресурса одной версии ключа для gcp_kms.
agent_identity.published_key_files
CMA_AGENT_IDENTITY__PUBLISHED_KEY_FILES
НетПути к дополнительным открытым ключам PEM для набора ключей. Сервер публикует эти ключи, но никогда не подписывает ими. Используйте этот параметр при ротации ключа подписи.
agent_identity.token_lifetime
CMA_AGENT_IDENTITY__TOKEN_LIFETIME
5mВремя от утверждения iat токена до его утверждения exp. Уже отправленный токен остаётся действительным до своего exp. Минимум — limits.mcp_call_timeout плюс 1m, максимум — 15m.
agent_identity.jwks_uri
CMA_AGENT_IDENTITY__JWKS_URI
<issuer>/.well-known/jwks.jsonURL, который документ обнаружения издателя указывает для набора ключей. Задавайте его, только если вы размещаете набор ключей в другом месте, а не под URL издателя.
agent_identity.direct.audiences
Только файл
НетПолучатели, которые могут получить токен. Каждая запись содержит URL audience и urls — префиксы URL серверов MCP этого получателя.
agent_identity.actor.enabled
CMA_AGENT_IDENTITY__ACTOR__ENABLED
trueДобавляет ли сервер утверждения actor_sub и actor_iss в токен вызова инструмента. actor_sub — это субъект вызывающей стороны, создавшей сеанс. actor_iss — это issuer_url записи auth.issuers, через которую вошла вызывающая сторона. Ни одно из этих утверждений не означает, что вызывающая сторона одобрила вызов.

Шлюз исходящего трафика

Чтобы настроить шлюз, см. раздел Учётные данные в переменных окружения. Задавайте остальные параметры в этой таблице только при egress.gateway_enabled: true. Без этого сервер не запускается, если задан любой из них.

Параметр
Переменная окружения
По умолчаниюОписание
egress.gateway_enabled
CMA_EGRESS__GATEWAY_ENABLED
falseРаботает ли сервер со шлюзом исходящего трафика и принимает ли учётные данные хранилища environment_variable.
egress.allowed_hostnames
CMA_EGRESS__ALLOWED_HOSTNAMES
НетТочные публичные имена хостов, к которым песочницы могут обращаться через шлюз. Запись без порта, например api.example.com, разрешает порт 443 для URL https и порт 80 для URL http. Запись с портом, например api.example.com:8443, разрешает только этот порт.
egress.swap_header_names
CMA_EGRESS__SWAP_HEADER_NAMES
AuthorizationЗаголовки запроса, в которые шлюз может поместить значение учётных данных. Ваш собственный список заменяет значение по умолчанию, поэтому включите в него Authorization.
egress.gateway_listen
CMA_EGRESS__GATEWAY_LISTEN
:8410Адрес второго прослушивателя сервера, который обслуживает только шлюз. Значение по умолчанию прослушивает все интерфейсы.
egress.gateway_key_file
CMA_EGRESS__GATEWAY_KEY_FILE
НетОбязателен. Путь к файлу с ключом, который шлюз предъявляет серверу.
egress.ca_cert_file
CMA_EGRESS__CA_CERT_FILE
НетОбязателен. Путь к сертификату PEM центра сертификации шлюза.
egress.gateway_proxy_address
CMA_EGRESS__GATEWAY_PROXY_ADDRESS
НетОбязателен. host:port, по которому песочницы обращаются к порту прокси шлюза.

Серверы MCP

См. раздел Серверам MCP нужна запись в списке разрешённых.

Параметр
Переменная окружения
По умолчаниюОписание
mcp.allowed_hostnames
CMA_MCP__ALLOWED_HOSTNAMES
НетТочные имена хостов серверов MCP, к которым может подключаться сервер. Без него сервер ни к одному не подключается.
mcp.private_hostnames
Только файл
НетИмена хостов из mcp.allowed_hostnames, которые могут разрешаться в частный адрес.
mcp.max_result_bytes
CMA_MCP__MAX_RESULT_BYTES
102400 (100 KiB)Максимальное число байтов одного результата инструмента MCP, которое видит модель. Минимум — 1024.

Репозитории Git

См. раздел Репозиториям Git нужна запись в списке разрешённых.

Параметр
Переменная окружения
По умолчаниюОписание
git.allowed_hostnames
CMA_GIT__ALLOWED_HOSTNAMES
НетХосты Git, на которых могут находиться репозитории сеанса. Имена хостов сопоставляются точно, без подстановочных знаков, и запись не охватывает свои поддомены. Запись разрешает порт 443 или тот единственный порт, который она указывает, как в git.example.com:8443. Без этого параметра сервер не принимает никакие репозитории.
git.private_hostnames
Только файл
НетИмена хостов из git.allowed_hostnames, которые разрешаются в частный адрес, указанные без порта. Для любого другого имени хоста сервер подключается только к его публичным адресам.
git.allowed_push_refs
CMA_GIT__ALLOWED_PUSH_REFS
НетВетки, в которые агенты могут выполнять push, каждая в refs/heads/. Запись, оканчивающаяся на /, разрешает все ветки под ней. Любая другая запись разрешает эту единственную ветку. Без этого параметра агенты не могут выполнять push.
git.commit_author_name
CMA_GIT__COMMIT_AUTHOR_NAME
ClaudeИмя автора в коммитах агента. Задавайте его вместе с git.commit_author_email.
git.commit_author_email
CMA_GIT__COMMIT_AUTHOR_EMAIL
noreply@anthropic.comАдрес электронной почты автора в коммитах агента. Задавайте его вместе с git.commit_author_name.
git.max_concurrent_transfers
CMA_GIT__MAX_CONCURRENT_TRANSFERS
32Максимальное число запросов Git, которые один сервер обрабатывает одновременно. Минимум — 1.
git.max_session_transfer_bytes
CMA_GIT__MAX_SESSION_TRANSFER_BYTES
8589934592 (8 GiB)Максимальный объём трафика Git в байтах, который один сервер передаёт для одного сеанса, включая и отправку, и загрузку. Счётчик обнуляется каждый раз, когда песочница подхватывает сеанс. При достижении ограничения сервер отклоняет следующие запросы Git этого сеанса с кодом 403. 0 означает отсутствие ограничения. В остальных случаях минимум — 1048576.
git.max_push_bytes
CMA_GIT__MAX_PUSH_BYTES
2147483648 (2 GiB)Максимальное число байтов, которое может отправить один push. Минимум — 1048576.

К репозиториям Git применяются следующие ограничения:

  • Протоколы: Сервер не поддерживает SSH и Git LFS и отклоняет перенаправления, например для переименованного репозитория.
  • Токены: Хост Git должен принимать токен как пароль аутентификации HTTP Basic с именем пользователя x-access-token.
  • URL: URL репозитория содержит одного владельца и одно имя репозитория, поэтому нельзя использовать репозиторий в подгруппе GitLab.
  • Хосты: Для URL на хосте, который не указан в git.allowed_hostnames, сервер возвращает 400. В сообщении об ошибке говорится, что URL должен находиться на github.com, даже если вы указали другие хосты.
  • Push: Сервер всегда отклоняет push, который удаляет ветку или изменяет что-либо кроме ветки, например тег.

Веб-инструменты и навыки

См. раздел Веб-инструментам нужен параметр сервера.

Параметр
Переменная окружения
По умолчаниюОписание
web_tools.enabled
CMA_WEB_TOOLS__ENABLED
falseМогут ли агенты использовать инструменты web_search и web_fetch. Если вы задали другой параметр web_tools, значение по умолчанию — true.
web_tools.allowed_domains
CMA_WEB_TOOLS__ALLOWED_DOMAINS
НетЕдинственные домены, которые агенты могут читать через веб-инструменты. Запись охватывает свои поддомены.
web_tools.blocked_domains
CMA_WEB_TOOLS__BLOCKED_DOMAINS
НетДомены, которые ни один агент не может читать через веб-инструменты. Задайте этот параметр или web_tools.allowed_domains, но не оба.
web_tools.max_content_tokens
CMA_WEB_TOOLS__MAX_CONTENT_TOKENS
НетМаксимальное число токенов одной загруженной страницы, которое web_fetch возвращает модели.
skills.max_name_chars
CMA_SKILLS__MAX_NAME_CHARS
64Максимальная длина name, которую может иметь файл SKILL.md. Максимум — 255.
skills.max_description_chars
CMA_SKILLS__MAX_DESCRIPTION_CHARS
1024Максимальная длина description, которую может иметь файл SKILL.md.

Ограничения, тайм-ауты и планирование

Параметр
Переменная окружения
По умолчаниюОписание
limits.max_active_sessions
CMA_LIMITS__MAX_ACTIVE_SESSIONS
64Только store.backend: memory. Максимальное число сеансов, выполняющих ход одновременно. 0 означает отсутствие ограничения.
limits.max_live_subagent_threads
CMA_LIMITS__MAX_LIVE_SUBAGENT_THREADS
25Максимальное число потоков субагентов, которые один сеанс может удерживать одновременно. Поток учитывается, пока он не архивирован или не завершён, поэтому простаивающий поток тоже учитывается. При достижении ограничения агент не может запустить ещё один субагент. Минимум — 1, максимум — 4000.
scheduler.max_concurrent_turns
CMA_SCHEDULER__MAX_CONCURRENT_TURNS
64Только store.backend: postgres. Максимальное число ходов, которые один сервер выполняет одновременно. Минимум — 1. Сервер резервирует дополнительные слоты только для ходов субагентов. Их число составляет четверть от этого значения, но не менее 4. При значении по умолчанию один сервер может выполнять 64 хода плюс 16 ходов субагентов.
scheduler.claim_poll_interval
CMA_SCHEDULER__CLAIM_POLL_INTERVAL
1sТолько store.backend: postgres. Как часто сервер со свободным слотом для хода ищет в базе данных ожидающую работу. Минимум — 50ms.
scheduler.sandbox_claim
CMA_SCHEDULER__SANDBOX_CLAIM
immediateКогда воркер может запустить песочницу сеанса. immediate означает сразу после создания сеанса, поэтому первый вызов инструмента ожидает меньше всего. tool_call означает при первом вызове инструмента в сеансе, которому нужна песочница, поэтому сеанс, не выполняющий таких вызовов, не использует песочницу.
limits.model_call_timeout
CMA_LIMITS__MODEL_CALL_TIMEOUT
20mКак долго может выполняться один вызов модели, включая повторные попытки, прежде чем сервер его отменит.
limits.stream_idle_timeout
CMA_LIMITS__STREAM_IDLE_TIMEOUT
5mКак долго ответ на вызов модели может ничего не передавать, прежде чем сервер прекратит эту попытку.
limits.mcp_call_timeout
CMA_LIMITS__MCP_CALL_TIMEOUT
4mКак долго может выполняться один вызов инструмента MCP, прежде чем сервер его прекратит.

Модели и сжатие

Параметр
Переменная окружения
По умолчаниюОписание
models.settings
Только файл
НетИзменения встроенного каталога моделей сервера с ключами по ID модели. См. раздел Записи моделей.
compaction.triggers
Только файл
Около 90% «context window» (контекстного окна) каждой моделиРазмер контекста в токенах, при котором ход на модели сжимает свою историю, с ключами по ID модели. Минимум — 50000. Каждая модель должна поддерживать сжатие.

Записи моделей

Каждая запись models.settings изменяет модель в каталоге или добавляет новую. Для модели в каталоге поле, которое вы не указали, сохраняет своё встроенное значение.

ПолеОписание
fast_supportedПринимает ли модель speed: "fast". Обязательно для добавляемой вами модели.
inference_geo_supportedПринимает ли модель inference_geo.
forced_tool_choice_supportedПринимает ли модель запрос, который принуждает её вызвать один инструмент. Сервер отправляет такой запрос, только чтобы выполнить одобренный вызов web_search или web_fetch. При false он никогда не принуждает эту модель к вызову инструмента.
effort_supportedПринимает ли модель уровень усилий.
effort_levelsУровни усилий, которые принимает модель, из low, medium, high, xhigh и max. Обязательно при effort_supported: true для модели без встроенных уровней.
effort_defaultУровень усилий сеанса, агент которого его не указывает. Должен быть одним из effort_levels. Обязательно при effort_supported: true для модели без встроенного значения по умолчанию.
thinkingРежим «thinking» (размышлений), который запрашивает сервер, enabled или adaptive.
thinking_budgetБюджет размышлений в токенах, который сервер отправляет при thinking: enabled.
max_tokensЗначение max_tokens для каждого вызова модели.

Консоль на вашем сервере

Параметр
Переменная окружения
По умолчаниюОписание
console.serve
CMA_CONSOLE__SERVE
trueОбслуживать ли консоль на вашем сервере.

Эта страница была полезной?