Skip to content

Опции конфигурации

Значения по умолчанию и доступные поля синхронизированы с config.example.yaml.

Основные настройки

ПараметрТипПо умолчаниюОписание
hoststring""Адрес привязки; "" прослушивает все интерфейсы IPv4/IPv6. Используйте 127.0.0.1 или localhost только для локального доступа.
portinteger8317Порт сервера.
tls.enablebooleanfalseВключить HTTPS.
tls.cert / tls.keystring""Пути к сертификату TLS и закрытому ключу.
auth-dirstring"~/.cli-proxy-api"Директория учетных данных; поддерживается ~.
api-keysstring[][]API-ключи, принимаемые этим прокси.
debugbooleanfalseВключить отладочное логирование.
request-logbooleanfalseВключить подробное логирование запросов и ответов.
pprof.enablebooleanfalseВключить HTTP-сервер отладки pprof.
pprof.addrstring"127.0.0.1:8316"Адрес привязки pprof; оставляйте его локальным.
commercial-modebooleanfalseОтключить ресурсоемкое логирование запросов и middleware для снижения потребления памяти.
logging-to-filebooleanfalseЗаписывать ротируемые логи приложения вместо stdout.
logs-max-total-size-mbinteger0Ограничение общего размера каталога логов в MB; 0 отключает ограничение.
error-logs-max-filesinteger10Максимум файлов логов ошибок при отключенном логировании запросов; 0 отключает очистку.
usage-statistics-enabledbooleanfalseВключить агрегацию статистики использования в памяти.
redis-usage-queue-retention-secondsinteger60Сколько секунд хранить в памяти элементы очереди использования для Management API; максимум 3600.
proxy-urlstring""Глобальный исходящий прокси (socks5, http или https). proxy-url учетных данных может иметь значение direct или none, чтобы обойти его и прокси окружения.
force-model-prefixbooleanfalseПри true запросы моделей без префикса используют только учетные данные без префикса (кроме случая, когда префикс равен имени модели).
passthrough-headersbooleanfalseПередавать клиентам отфильтрованные заголовки ответа upstream.
request-retryinteger3Количество повторов для ответов 403/408/500/502/503/504.
max-retry-credentialsinteger0Максимум учетных данных для одной неудавшейся попытки; 0 сохраняет прежнее поведение «попробовать все».
max-retry-intervalinteger30Максимальное ожидание (секунды) охлаждаемой учетной записи перед повтором.
disable-coolingbooleanfalseГлобально отключить планирование cooldown для учетных данных/моделей.
save-cooldown-statusbooleanfalseСохранять состояние cooldown в файлах .cds рядом с auth-файлами.
transient-error-cooldown-secondsinteger0Cooldown для временных ошибок 408/500/502/503/504; 0 использует прежние 60 секунд, -1 отключает его.
disable-claude-cloak-modebooleanfalseГлобально отключить маскировку запросов Claude; отдельная учетная запись может переопределить это.
disable-image-generationboolean | "chat" | "passthrough"falsetrue отключает генерацию изображений везде и возвращает 404 для /v1/images/*; "chat" отключает внедрение только вне image endpoints; "passthrough" не меняет клиентский payload вне image endpoints и ведет себя как "chat" для image endpoints.
gpt-image-2-base-modelstring"gpt-5.4-mini"Базовая модель для устаревшего hosted image-generation пути; должна начинаться с gpt-.
video-result-auth-cache-ttlstring"3h"Время привязки ID видео к учетной записи, создавшей его.
auth-auto-refresh-workersinteger16Число workers автообновления OAuth/file auth; значение больше 0 заменяет значение по умолчанию.
ws-authbooleantrueТребовать аутентификацию для /v1/ws.
nonstream-keepalive-intervalinteger0Выводить пустые строки каждые N секунд для нестриминговых ответов; 0 отключает.
streaming.keepalive-secondsinteger0Интервал SSE keep-alive; ≤ 0 отключает.
streaming.bootstrap-retriesinteger0Безопасные повторы стриминга до отправки первого байта.
antigravity-signature-cache-enabledbooleantrueПредпочитать и проверять кешированные подписи thinking blocks; устанавливайте false только для bypass mode.
antigravity-signature-bypass-strictbooleanfalseВ bypass mode проверять полную protobuf-структуру подписи Claude, а не только базовый формат.

Management API

ПараметрТипПо умолчаниюОписание
remote-management.allow-remotebooleanfalseРазрешить управление не только с localhost.
remote-management.secret-keystring""Ключ управления; открытый текст хешируется при запуске. Пустое значение отключает все маршруты /v0/management (404).
remote-management.disable-control-panelbooleanfalseОтключить встроенные ресурсы и маршруты панели управления.
remote-management.disable-auto-update-panelbooleanfalseОтключить периодические фоновые обновления панели; при отсутствии она все равно будет загружена при первом доступе.
remote-management.panel-github-repositorystring"https://github.com/router-for-me/Cli-Proxy-API-Management-Center"Репозиторий или URL releases API пакета панели управления.

Плагины

ПараметрТипПо умолчаниюОписание
plugins.enabledbooleanfalseВключить доверенные динамические плагины в процессе.
plugins.dirstring"plugins"Каталог обнаружения плагинов.
plugins.store-sourcesstring[][]Дополнительные URL реестров plugin store; официальный реестр включен всегда.
plugins.store-auth[].matchstring""URL-префикс для правила аутентификации plugin store; для HTTP требуется allow-insecure: true.
plugins.store-auth[].apply-tostring[][]Типы аутентифицируемых запросов: registry, metadata, artifact.
plugins.store-auth[].typestring""Тип аутентификации: none, bearer, basic, header или github-token.
plugins.store-auth[].token-envstring""Переменная окружения с bearer, GitHub или другим токеном.
plugins.store-auth[].username-env / password-envstring""Переменные окружения имени пользователя и пароля для basic auth.
plugins.store-auth[].header-name / header-value-envstring""Имя заголовка и переменная окружения с его значением для header auth.
plugins.store-auth[].allow-insecurebooleanfalseРазрешить небезопасную конфигурацию аутентификации, если она поддерживается.
plugins.configs.<plugin-id>.enabledbooleanfalseВключить экземпляр плагина; это не меняет plugins.enabled.
plugins.configs.<plugin-id>.priorityinteger0Приоритет запуска и маршрутизации плагина.

Квоты, маршрутизация и Codex

ПараметрТипПо умолчаниюОписание
quota-exceeded.switch-projectbooleantrueАвтоматически переключать проект при исчерпании квоты.
quota-exceeded.switch-preview-modelbooleantrueАвтоматически переключаться на preview-модель при исчерпании.
quota-exceeded.antigravity-creditsbooleantrueПоследний fallback Claude: после исчерпания всех free-tier auth (429/503) использовать auth с Google One AI credits.
routing.strategystring"round-robin"Стратегия выбора учетных данных: round-robin или fill-first.
routing.session-affinitybooleanfalseПривязать сессии к учетным данным. ID берется из metadata.user_id, X-Session-ID, Session_id, X-Client-Request-Id, conversation_id или хэша сообщений; failover остается включенным.
routing.session-affinity-ttlstring"1h"TTL привязки сессии к учетным данным.
codex.identity-confusebooleanfalseПри fill-first или session affinity переназначать Codex cache и installation IDs для выбранной auth.

Учетные данные провайдеров

Все списки провайдеров по умолчанию []. priority по умолчанию 0; большее значение предпочтительнее. models.*.display-name — название в каталоге моделей, а models.*.force-mapping переписывает поле модели в upstream-ответе на псевдоним клиента.

Gemini и Native Interactions

gemini-api-key[] и interactions-api-key[] имеют одинаковые поля; второй используется только для прямого выполнения /v1beta/interactions.

ПараметрТипПо умолчаниюОписание
<provider>.*.api-keystring""API-ключ.
<provider>.*.priorityinteger0Приоритет выбора учетной записи.
<provider>.*.prefixstring""Необязательный префикс; вызов как prefix/model.
<provider>.*.disable-coolingbooleanfalseОтключить cooldown для этой учетной записи.
<provider>.*.base-urlstring"https://generativelanguage.googleapis.com"Пользовательский endpoint.
<provider>.*.headersobject{}Дополнительные заголовки запросов.
<provider>.*.proxy-urlstring""Переопределение прокси для ключа.
<provider>.*.models.*.name / aliasstring""Имя upstream-модели и псевдоним клиента.
<provider>.*.models.*.display-namestring""Человекочитаемая метка каталога моделей.
<provider>.*.models.*.force-mappingbooleanfalseВозвращать псевдоним в поле модели upstream-ответа.
<provider>.*.excluded-modelsstring[][]Исключаемые модели; поддерживаются wildcards.

Codex и xAI

codex-api-key[] и xai-api-key[] используют следующие поля; xAI использует native xAI executor.

ПараметрТипПо умолчаниюОписание
<provider>.*.api-key, priority, prefix, disable-cooling, headers, proxy-url, excluded-modelsmixedТе же значения, что и у полей учетных данных Gemini.
<provider>.*.base-urlstringОбязательный пользовательский endpoint; записи с пустым значением отбрасываются.
<provider>.*.websocketsbooleanfalseИспользовать upstream WebSocket transport Responses API.
<provider>.*.models.*.name / alias / display-name / force-mappingmixedТе же поля сопоставления моделей, что выше.

Claude

ПараметрТипПо умолчаниюОписание
claude-api-key.*.api-key, priority, prefix, disable-cooling, base-url, headers, proxy-url, excluded-modelsmixedТе же значения, что и у полей учетных данных Gemini.
claude-api-key.*.models.*.name / alias / display-name / force-mappingmixedСопоставление upstream и управление переписыванием модели ответа.
claude-api-key.*.rebuild-mid-system-messagebooleanfalseПеремещать сообщения с ролью system в top-level поле Claude system.
claude-api-key.*.cloak.modestring"auto"Режим маскировки: auto (не Claude Code клиенты), always или never.
claude-api-key.*.cloak.strict-modebooleanfalseУдалять system-сообщения пользователя, оставляя только промпт Claude Code.
claude-api-key.*.cloak.sensitive-wordsstring[][]Слова для обфускации символами нулевой ширины.
claude-api-key.*.cloak.cache-user-idbooleanfalseПовторно использовать кешированный user_id для ключа API.
claude-api-key.*.experimental-cch-signingbooleanfalseПодписывать финальное замаскированное тело /v1/messages текущим алгоритмом Claude Code CCH.

Совместимость с OpenAI

ПараметрТипПо умолчаниюОписание
openai-compatibility.*.name, priority, prefix, base-url, headersmixedИдентификатор провайдера, приоритет, необязательный префикс, endpoint и заголовки.
openai-compatibility.*.disabled / disable-coolingbooleanfalseОтключить провайдера или его cooldown scheduling.
openai-compatibility.*.api-key-entries.*.api-key / proxy-urlstring""API-ключ провайдера и необязательный прокси для ключа.
openai-compatibility.*.models.*.name / alias / display-name / force-mappingmixedСопоставление upstream и переписывание модели ответа.
openai-compatibility.*.models.*.imagebooleanfalseРазрешить модель для /v1/images/generations и /v1/images/edits.
openai-compatibility.*.models.*.input-modalities / output-modalitiesstring[][]Заявленные возможности ввода/вывода, например text и image.
openai-compatibility.*.models.*.thinking.levelsstring[]["low", "medium", "high"]Поддерживаемые уровни reasoning effort.

Vertex-совместимые API-ключи

ПараметрТипПо умолчаниюОписание
vertex-api-key.*.api-key, priority, prefix, base-url, headers, proxy-url, excluded-modelsmixedНастройки Vertex-совместимых учетных данных и маршрутизации.
vertex-api-key.*.models.*.name / alias / display-name / force-mappingmixedСопоставление upstream и переписывание модели ответа.

OAuth Model Controls и заголовки по умолчанию

ПараметрТипПо умолчаниюОписание
oauth-model-aliasobject{}Псевдонимы моделей по OAuth-каналу: vertex, aistudio, antigravity, claude, codex, kimi, xai или ключ OAuth plugin provider.
oauth-model-alias.*.*.name / aliasstring""ID upstream-модели и видимой клиенту модели.
oauth-model-alias.*.*.forkbooleanfalseСохранить upstream-модель и дополнительно показать псевдоним.
oauth-model-alias.*.*.display-namestring""Метка каталога для псевдонима.
oauth-model-alias.*.*.force-mappingbooleanfalseВозвращать клиентский псевдоним в поле модели upstream-ответа.
oauth-excluded-modelsobject{}Исключаемые OAuth-модели по каналу; поддерживаются wildcards.
claude-header-defaults.user-agent, package-version, runtime-version, timeoutstring""Заголовки Claude OAuth по умолчанию, если клиент их не прислал.
claude-header-defaults.os / archstring""По умолчанию определяются средой выполнения; при стабилизации device profile используются как зафиксированная базовая платформа.
claude-header-defaults.stabilize-device-profilebooleanfalseЗафиксировать OS/архитектуру для каждой auth на настроенной базовой линии.
codex-header-defaults.user-agent / beta-featuresstring""Заголовки Codex OAuth по умолчанию; beta-features применяется только к WebSocket-запросам.

Правила Payload

payload.default, default-raw, override, override-raw и filter — массивы правил. default* записывает только отсутствующие значения, override* записывает всегда, filter удаляет пути; значения *-raw должны быть валидным JSON.

ПараметрТипПо умолчаниюОписание
payload.<rule>[].models[].namestring""Подходящее имя модели; поддерживаются wildcards.
payload.<rule>[].models[].protocolstring""Целевой протокол: openai, responses, gemini, claude, codex или antigravity.
payload.<rule>[].models[].from-protocolstring""Ограничить исходный протокол: openai, responses, gemini или claude.
payload.<rule>[].models[].headersobject{}Необходимые паттерны заголовков; значения поддерживают wildcard *.
payload.<rule>[].models[].match / not-matchobject[][]Условия JSON path, которые должны равняться или не равняться настроенным значениям.
payload.<rule>[].models[].exist / not-existstring[][]JSON paths, которые должны существовать и быть не null, либо отсутствовать/null.
payload.default[].params / payload.override[].paramsobject{}JSON path → значение.
payload.default-raw[].params / payload.override-raw[].paramsobject{}JSON path → raw JSON значение.
payload.filter[].paramsstring[][]JSON paths для удаления.

Лицензия MIT.