You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs-site/src/content/docs/ko/reference/configuration.md
+6-1Lines changed: 6 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -151,7 +151,7 @@ token 대신 쓸 수 있습니다. 모든 후보는 timing side channel을 막
151
151
|`apiKeyPool?`|`ApiKeyPoolEntry[]`| 여러 키를 담는 pool. `apiKey`는 활성 항목을 반영합니다. 각 항목에는 `id`, `key`, 선택 `label`, 선택 숫자 `addedAt`이 있습니다. |
152
152
|`defaultModel?`|`string`| 명시적인 모델 없이 이 프로바이더를 선택했을 때 쓸 모델. |
153
153
|`models?`|`string[]`| seed/fallback 모델 목록. `liveModels`가 `false`이면 여기 있는 모델만 발견됩니다. |
154
-
|`liveModels?`|`boolean`| 시작/동기화 시 프로바이더의 실시간 `/models` 카탈로그를 가져옵니다(기본 `true`). `false`이면 설정된 `models`만 사용합니다. |
154
+
|`liveModels?`|`boolean`| 시작/동기화 시 프로바이더의 실시간 모델 카탈로그를 가져옵니다(기본 `true`). 기본 제공 preset은 registry의 신뢰된 URL·쿼리·필터를 사용할 수 있고, 사용자 지정 provider는 `${baseUrl}/models`가 기본입니다. `false`이면 설정된 `models`만 사용합니다. |
155
155
|`selectedModels?`|`string[]`| 모델 발견 뒤 적용할 카탈로그 allowlist. 비어 있지 않으면 해당 id만 Codex에 노출하고, 비어 있거나 생략하면 발견한 모델을 모두 노출합니다. |
156
156
|`contextWindow?`|`number`| 라우팅 카탈로그 항목에 표시할 프로바이더 단위 context-window cap. 실시간 metadata가 더 작으면 그대로 둡니다. |
157
157
|`modelContextWindows?`|`Record<string,number>`| 모델별 context-window cap. 일치하는 모델에서는 `contextWindow`보다 우선하며 더 작은 실시간 metadata를 올리지 않습니다. |
@@ -259,6 +259,11 @@ OpenRouter에서 같은 모델을 제공하는 endpoint마다 prompt cache 지
259
259
일부 프로바이더는 실시간 모델 카탈로그가 매우 크거나 느립니다. Codex에 `models`로 고정한 모델만
260
260
보이게 하려면 `liveModels`를 `false`로 설정하세요.
261
261
262
+
실시간 discovery 응답이 4 MiB 또는 원시 모델 행 2,000개를 넘으면 캐시 전에 거부됩니다. 기본 제공
263
+
preset은 이 한도를 더 낮추고 혼합 카탈로그를 채팅 가능 행으로 필터링할 수 있습니다. 한도 초과 또는
Copy file name to clipboardExpand all lines: docs-site/src/content/docs/reference/configuration.md
+12-3Lines changed: 12 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -252,15 +252,15 @@ or bind the forward explicitly to loopback (`ssh -L 127.0.0.1:20100:localhost:10
252
252
| Field | Type | Meaning |
253
253
| --- | --- | --- |
254
254
|`adapter`|`string`| One of `openai-chat`, `openai-responses`, `anthropic`, `google`, `kiro`, `cursor`, `azure-openai` (or alias `azure`). |
255
-
|`baseUrl`|`string`| Upstream API base URL. Built-in providers with a fixed endpoint ignore it — see[Fixed provider endpoints](#fixed-provider-endpoints). |
255
+
|`baseUrl`|`string`| Upstream API base URL. Most built-in fixed endpoints ignore a mismatch; newly promoted collision-safe key presets preserve an older same-named custom destination. See[Fixed provider endpoints](#fixed-provider-endpoints). |
256
256
|`responsesPath?`|`string`| Optional relative resource path for key-auth `openai-responses` requests. It must start with `/` and contain no URL scheme, query, or fragment. When omitted, the adapter keeps its legacy `/v1/responses` URL construction. |
257
257
|`disabled?`|`boolean`| Keep the provider on disk but exclude it from routing and model/catalog listings. |
258
258
|`apiKey?`|`string`| API key, or an `${ENV_VAR}` / `$ENV_VAR` reference resolved at request time. |
259
259
|`apiKeyTransport?`|`"x-api-key" \| "bearer"`| Anthropic API-key header style. Defaults to native `x-api-key`; set `"bearer"` for compatible gateways that require `Authorization: Bearer <key>`. Valid only for key-auth `anthropic` providers. |
260
260
|`apiKeyPool?`|`ApiKeyPoolEntry[]`| Multi-key pool. `apiKey` mirrors the active entry; each item has `id`, `key`, optional `label`, and optional numeric `addedAt`. |
261
261
|`defaultModel?`|`string`| Model used when this provider is selected without an explicit model. |
262
262
|`models?`|`string[]`| Seed/fallback model list. When `liveModels` is `false`, these are the only discovered models. |
263
-
|`liveModels?`|`boolean`| Fetch the provider's live `/models` catalog on start/sync (default `true`). Set `false` to use only configured `models`. |
263
+
|`liveModels?`|`boolean`| Fetch the provider's live model catalog on start/sync (default `true`). Built-in presets may use a trusted registry URL/query/filter; custom providers default to `${baseUrl}/models`. Set `false` to use only configured `models`. |
264
264
|`selectedModels?`|`string[]`| Catalog allowlist applied after discovery. A non-empty list exposes only those ids to Codex; empty/omitted exposes all discovered models. |
265
265
|`contextWindow?`|`number`| Provider-wide Codex-visible context-window cap for routed catalog entries. Live metadata below this value is kept. |
266
266
|`modelContextWindows?`|`Record<string,number>`| Model-specific context-window caps. These override `contextWindow` for matching model ids and never raise smaller live metadata. |
@@ -304,13 +304,16 @@ or bind the forward explicitly to loopback (`ssh -L 127.0.0.1:20100:localhost:10
304
304
### Fixed provider endpoints
305
305
306
306
Routing resolves a provider's endpoint before any adapter sees it, and for most built-in
307
-
providers the registry's own endpoint wins over a `baseUrl` in your config. Three kinds of entry
307
+
providers the registry's own endpoint wins over a `baseUrl` in your config. Four kinds of entry
308
308
keep the configured URL at this stage:
309
309
310
310
- providers that opt into an override — `ollama`, `vllm`, `lm-studio`, `litellm`, `qwen-cloud`
311
311
and `alibaba-token-plan-intl`;
312
312
- providers whose registry endpoint is a template you fill in, such as `azure-openai` and
313
313
`cloudflare-ai-gateway`;
314
+
- newly promoted fixed API-key presets that protect name collisions: if an older same-named
315
+
custom provider points somewhere else, it remains custom instead of sending that key to the new
316
+
registry host;
314
317
- providers you define yourself, which are not in the registry at all.
315
318
316
319
Adapters may adjust the resolved URL afterward. The `kiro` adapter, for example, follows the API
@@ -471,6 +474,12 @@ example above, select `openrouter/anthropic-claude-sonnet-5` in Codex; OpenCodex
471
474
Some providers expose very large or slow live model catalogs. Set `liveModels` to `false` when you
472
475
want Codex to see only the models pinned in `models`:
473
476
477
+
Live discovery rejects a response before caching when it exceeds 4 MiB or 2,000 raw model rows.
478
+
Built-in presets may lower either limit and filter mixed catalogs to chat-eligible rows. An
479
+
oversized or malformed response follows the normal stale/configured fallback path, while
480
+
ineligible rows are excluded. A valid result with zero eligible rows remains an authoritative
481
+
empty catalog; OpenCodex never silently truncates an over-limit response.
482
+
474
483
When `liveModels` is `false` and `models` is empty or omitted, opencodex exposes no routed models
|`apiKeyPool?`|`ApiKeyPoolEntry[]`| Пул из нескольких ключей. `apiKey` отражает активную запись; каждый элемент содержит `id`, `key`, необязательный `label` и необязательное числовое `addedAt`. |
172
172
|`defaultModel?`|`string`| Модель, используемая при выборе этого провайдера без явной модели. |
173
173
|`models?`|`string[]`| Список seed/fallback-моделей. Когда `liveModels` равен `false`, обнаруживаются только эти модели. |
174
-
|`liveModels?`|`boolean`| Получать живой каталог `/models` провайдера при старте/синхронизации (по умолчанию `true`). Установите `false`, чтобы использовать только настроенные `models`. |
174
+
|`liveModels?`|`boolean`| Получать живой каталог моделей при старте/синхронизации (по умолчанию `true`). Встроенные preset могут использовать доверенные URL, query и фильтры из registry; пользовательские provider по умолчанию запрашивают `${baseUrl}/models`. Установите `false`, чтобы использовать только настроенные `models`. |
175
175
|`selectedModels?`|`string[]`| Allowlist каталога, применяемый после обнаружения. Непустой список открывает Codex только эти id; пустой или опущенный открывает все обнаруженные модели. |
176
176
|`contextWindow?`|`number`| Видимый Codex лимит контекстного окна на уровне провайдера для маршрутизируемых записей каталога. Живые метаданные ниже этого значения сохраняются. |
177
177
|`modelContextWindows?`|`Record<string,number>`| Лимиты контекстного окна для конкретных моделей. Они перекрывают `contextWindow` для совпадающих id моделей и никогда не повышают меньшие живые метаданные. |
@@ -281,6 +281,12 @@ HTTP). Stdio-записи также принимают `args?: string[]`, `env?
281
281
Некоторые провайдеры отдают очень большие или медленные живые каталоги моделей. Установите
282
282
`liveModels` в `false`, когда хотите, чтобы Codex видел только модели, закреплённые в `models`:
283
283
284
+
Живой discovery отклоняет ответ до кэширования, если он превышает 4 MiB или 2 000 исходных строк
285
+
моделей. Встроенный preset может снизить эти лимиты и отфильтровать смешанный каталог до chat-моделей.
286
+
Слишком большой или повреждённый ответ использует обычный stale/static fallback, а неподходящие
287
+
строки исключаются. Корректный ответ без подходящих строк остаётся авторитетным пустым каталогом;
288
+
ответ сверх лимита никогда не обрезается молча.
289
+
284
290
Когда `liveModels` равен `false`, а `models` пуст или опущен, opencodex не открывает для этого
0 commit comments