Skip to content

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

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

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

ПараметрТипПо умолчаниюОписание
hoststring""Адрес привязки; "" прослушивает все IPv4/IPv6; используйте 127.0.0.1 для ограничения доступа только локальным хостом.
portinteger8317Порт сервера.
tls.enablebooleanfalseВключить HTTPS.
tls.certstring""Путь к сертификату TLS.
tls.keystring""Путь к приватному ключу TLS.
auth-dirstring"~/.cli-proxy-api"Директория хранения учетных данных; поддерживается ~.
api-keysstring[][]Встроенные API-ключи.
debugbooleanfalseПодробное логирование.
commercial-modebooleanfalseОтключить ресурсоемкое промежуточное ПО (middleware) для снижения потребления памяти.
logging-to-filebooleanfalseЗаписывать ротируемые файлы логов вместо stdout.
logs-max-total-size-mbinteger0Ограничение размера директории логов; 0 отключает ограничение.
usage-statistics-enabledbooleanfalseВключить агрегацию статистики использования в памяти.
proxy-urlstring""Глобальный прокси (socks5/http/https).
force-model-prefixbooleanfalseЗапросы к моделям без префикса используют только учетные данные без префикса.
request-retryinteger3Количество повторных попыток при ошибках 403/408/500/502/503/504.
max-retry-intervalinteger30Максимальное время ожидания (в секундах) восстановления учетных данных перед повторной попыткой.
routing.strategystring"round-robin"Стратегия выбора учетных данных при наличии нескольких совпадений: round-robin или fill-first.
ws-authbooleanfalseТребовать аутентификацию для /v1/ws.
nonstream-keepalive-intervalinteger0Интервал пустых строк для соединений без SSE (в секундах) для предотвращения таймаута простоя; 0 отключает функцию.
codex-instructions-enabledbooleanfalseВключить внедрение официальных инструкций Codex для запросов к Codex API.
streaming.keepalive-secondsinteger0Интервал keep-alive для SSE; ≤0 отключает функцию.
streaming.bootstrap-retriesinteger0Безопасные повторные попытки до получения первого байта.

Management API

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

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

ПараметрТипПо умолчаниюОписание
quota-exceeded.switch-projectbooleantrueАвтоматическое переключение проекта при исчерпании квоты.
quota-exceeded.switch-preview-modelbooleantrueАвтоматическое переключение на preview-модель при исчерпании квоты.

Учетные данные провайдеров (массивы; по умолчанию [])

Gemini

ПараметрТипПо умолчаниюОписание
gemini-api-key.*.api-keystring""API-ключ.
gemini-api-key.*.prefixstring""Необязательный префикс; вызов как prefix/model.
gemini-api-key.*.base-urlstring"https://generativelanguage.googleapis.com"Пользовательский endpoint.
gemini-api-key.*.headersobject{}Дополнительные заголовки для этого endpoint.
gemini-api-key.*.proxy-urlstring""Переопределение прокси для конкретного ключа.
gemini-api-key.*.models.*.namestring""Имя исходной модели (upstream).
gemini-api-key.*.models.*.aliasstring""Псевдоним клиента.
gemini-api-key.*.excluded-modelsstring[][]Модели для исключения (поддерживаются wildcards).

Codex

ПараметрТипПо умолчаниюОписание
codex-api-key.*.api-keyстрока""API-ключ.
codex-api-key.*.prefixстрока""Необязательный префикс.
codex-api-key.*.base-urlстрока""Пользовательский эндпоинт Codex.
codex-api-key.*.headersобъект{}Дополнительные заголовки.
codex-api-key.*.proxy-urlстрока""Переопределение прокси для конкретного ключа.
codex-api-key.*.models.*.nameстрока""Имя исходной модели.
codex-api-key.*.models.*.aliasстрока""Псевдоним для клиента.
codex-api-key.*.excluded-modelsстрока[][]Модели для исключения (подстановочные знаки).

Claude

ПараметрТипПо умолчаниюОписание
claude-api-key.*.api-keyстрока""API-ключ.
claude-api-key.*.prefixстрока""Необязательный префикс.
claude-api-key.*.base-urlстрока""Пользовательский эндпоинт Claude.
claude-api-key.*.headersобъект{}Дополнительные заголовки.
claude-api-key.*.proxy-urlстрока""Переопределение прокси для конкретного ключа.
claude-api-key.*.models.*.namestring""Имя модели апстрима.
claude-api-key.*.models.*.aliasstring""Псевдоним клиента.
claude-api-key.*.excluded-modelsstring[][]Модели для исключения (подстановочные знаки).
claude-api-key.*.cloak.modestring"auto"Режим маскировки: auto (только для приложений, отличных от Claude Code), always, never.
claude-api-key.*.cloak.strict-modebooleanfalsetrue удаляет системные сообщения пользователя, оставляя только промпт Claude Code.
claude-api-key.*.cloak.sensitive-wordsstring[][]Слова для обфускации с помощью символов нулевой ширины.

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

ПараметрТипПо умолчаниюОписание
openai-compatibility.*.namestring""Имя провайдера (используется в UA и т. д.).
openai-compatibility.*.prefixstring""Необязательный префикс.
openai-compatibility.*.base-urlstring""Базовый URL провайдера.
openai-compatibility.*.headersobject{}Дополнительные заголовки.
openai-compatibility.*.api-key-entries.*.api-keystring""API-ключ.
openai-compatibility.*.api-key-entries.*.proxy-urlstring""Переопределение прокси для конкретного ключа.
openai-compatibility.*.models.*.namestring""Имя вышестоящей модели.
openai-compatibility.*.models.*.aliasstring""Псевдоним клиента.

Vertex

ПараметрТипПо умолчаниюОписание
vertex-api-key.*.api-keystring""Значение x-goog-api-key.
vertex-api-key.*.prefixstring""Необязательный префикс.
vertex-api-key.*.base-urlstring""Vertex-совместимая конечная точка.
vertex-api-key.*.proxy-urlstring""Переопределение прокси для конкретного ключа.
vertex-api-key.*.headersobject{}Дополнительные заголовки.
vertex-api-key.*.models.*.namestring""Имя вышестоящей модели.
vertex-api-key.*.models.*.aliasstring""Псевдоним клиента.

Интеграция с Amp (ampcode)

ПараметрТипПо умолчаниюОписание
ampcode.upstream-urlstring""Upstream URL для OAuth/управления Amp CLI.
ampcode.upstream-api-keystring""Переопределение API-ключа для upstream Amp.
ampcode.upstream-api-keys[].upstream-api-keystring""Upstream-ключ для сопоставленных клиентов.
ampcode.upstream-api-keys[].api-keysstring[][]Ключи клиентов, направляемые на этот upstream-ключ.
ampcode.restrict-management-to-localhostbooleanfalseОграничить маршруты управления Amp только для localhost.
ampcode.force-model-mappingsbooleanfalseПринудительное сопоставление моделей перед проверкой локальных API-ключей.
ampcode.model-mappings[].fromstring""Модель, запрошенная Amp.
ampcode.model-mappings[].tostring""Локальная доступная модель для маршрутизации.

Управление моделями OAuth

ПараметрТипПо умолчаниюОписание
oauth-model-aliasobject{}Переименование моделей для каждого канала (gemini-cli, vertex, aistudio, antigravity, claude, codex, qwen, iflow).
oauth-model-alias.*.*.forkbooleanfalseЕсли true, сохраняет оригинал и добавляет псевдоним как дополнительную модель.
oauth-excluded-modelsobject{}Исключение моделей для каждого канала; поддерживаются wildcards.

Правила Payload

ПараметрТипПо умолчаниюОписание
payload.default[].models[].namestring""Соответствующее имя модели (поддерживаются wildcards).
payload.default[].models[].protocolstring""Ограничение по протоколу: openai/gemini/claude/codex/antigravity.
payload.default[].paramsobject{}JSON path → значение, применяемое при отсутствии.
payload.default-raw[].models[].namestring""Соответствующее имя модели (wildcards).
payload.default-raw[].models[].protocolstring""Ограничение по protocol.
payload.default-raw[].paramsobject{}JSON path → необработанное JSON-значение, применяемое при отсутствии (должно быть валидным JSON).
payload.override[].models[].namestring""Соответствующее имя модели (wildcards).
payload.override[].models[].protocolstring""Ограничение по protocol.
payload.override[].paramsobject{}JSON path → значение всегда перезаписывается.
payload.override-raw[].models[].namestring""Соответствующее имя модели (wildcards).
payload.override-raw[].models[].protocolstring""Ограничение по protocol.
payload.override-raw[].paramsobject{}JSON path → необработанное JSON-значение, которое всегда перезаписывается (должно быть валидным JSON).
payload.filter[].models[].namestring""Соответствующее имя модели (wildcards).
payload.filter[].models[].protocolstring""Ограничение по protocol.
payload.filter[].paramsstring[][]JSON-пути для удаления из payload.

Лицензия MIT.