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-3Lines changed: 6 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -53,7 +53,7 @@ namespaced selected id를 bare id로 바꿉니다.
53
53
|`syncResumeHistory?`|`boolean`|`true`| 되돌릴 수 있는 Codex App 기록 호환 모드. opencodex가 원래 Codex thread metadata를 백업하고, 예전 OpenAI interactive row를 `opencodex`로 재매핑하며, opencodex가 만든 `exec` row를 App에 보이는 source로 잠시 승격합니다. `ocx stop` / `ocx restore`는 백업한 OpenAI row를 복원하고 남은 opencodex user thread를 OpenAI로 돌려 네이티브 Codex가 `config.toml`에서 프록시를 제거한 뒤에도 이어서 열 수 있게 합니다. 끄려면 `false`로 설정합니다. |
54
54
|`codexAccounts?`|`CodexAccount[]`|`[]`| Codex Auth 대시보드에서 관리하는 ChatGPT/Codex pool 계정 metadata. secret은 `codex-accounts.json`에 따로 둡니다. |
55
55
|`pausedCodexAccountIds?`|`string[]`|`[]`| Codex Auth에서 재개할 때까지 이후의 모든 Pool 선택에서 제외할 계정 ID. 메인 계정을 일시 중지하면 `__main__`도 포함됩니다. |
56
-
|`codexAccountNamespaces?`|`Record<string,string>`| — | 공개 model selector namespace에서 저장된 Codex 계정 target으로 연결하는 선택적 map입니다. 이 foundation layer는 map을 검증하고 저장하지만 picker row를 추가하거나 routing을 변경하지 않습니다. |
56
+
|`codexAccountNamespaces?`|`Record<string,string>`| — | 공개 model selector namespace에서 저장된 Codex 계정 target으로 연결하는 선택적 map입니다. `<selector>/<native OpenAI model>`은 매핑된 계정으로만 routing되며, 이 설정 자체는 model picker row를 추가하지 않습니다. |
57
57
|`activeCodexAccountId?`|`string`| — | 수동으로 선택한 pool 계정. 선택 시 기존 thread affinity를 지우고 다음 요청부터 적용하며, 진행 중인 요청은 기존 계정을 유지합니다. |
58
58
|`autoSwitchThreshold?`|`number`|`80`| 새 세션 자동 전환용 사용량 백분율 threshold. 알려진 5시간, 주간, 30일 quota window 중 가장 높은 점수를 씁니다. `0`이면 quota 자동 전환을 끕니다. `quota` 전략과 `fill-first` drain threshold에도 사용됩니다. |
59
59
|`accountPoolStrategy?`|`"quota" \| "round-robin" \| "fill-first"`|`"quota"`| Codex pool의 새 세션 rotation 전략. **새 세션에만** 적용되며 기존 thread id는 affinity를 유지합니다. `quota`(기본) — 활성 계정이 `autoSwitchThreshold`를 넘으면 알려진 usage가 가장 낮은 계정 선택. `round-robin` — 적격 계정 간 smooth weighted 균등 분배. `fill-first` — cooldown, 사용 불가 또는(설정 시) `autoSwitchThreshold`까지 활성 계정을 소진(알 수 없는 usage는 강제 전환하지 않음)한 뒤 안정 정렬 순으로 다음 계정. |
@@ -72,8 +72,11 @@ namespaced selected id를 bare id로 바꿉니다.
72
72
provider 및 예약된 `openai` / `combo` 충돌은 대소문자를 구분하지 않고 검사하며, namespace가 있는
73
73
combo alias는 selector를 namespace prefix로 재사용할 수 없습니다. 설정된 pool id와 다른 selector
74
74
target도 selector로 재사용할 수 없습니다. raw account id와 email은 비공개로
75
-
유지하고 selector를 공개 이름으로 사용하세요. 이 foundation layer에서 map은 inert하며 model picker
76
-
entry 생성, session 고정, Pool / Direct routing 변경을 수행하지 않습니다.
75
+
유지하고 selector를 공개 이름으로 사용하세요. `side/gpt-5.6-sol` 같은 요청은 `openai`가 Direct
76
+
mode여도 `side`에 매핑된 계정만 사용하고 업스트림에는 `gpt-5.6-sol`을 보냅니다. target을 사용할 수
77
+
없으면 다른 계정으로 전환하지 않고 fail closed하며 active Pool account도 변경하지 않습니다. bare
78
+
native model은 기존 Pool / Direct routing을 유지합니다. 이 map 자체는 model picker entry를 만들지
79
+
않습니다.
77
80
78
81
`maxConcurrentThreadsPerSession`은 `config.json` 키가 아니라 `PUT /api/v2`에서 쓰는 camel-case
79
82
필드입니다. `ocx v2 threads <n>`은 대응하는 `max_concurrent_threads_per_session` 값을 Codex의
Copy file name to clipboardExpand all lines: docs-site/src/content/docs/reference/configuration.md
+6-3Lines changed: 6 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -58,7 +58,7 @@ differing backup and rewrites known legacy namespaced selected ids to bare ids.
58
58
|`syncResumeHistory?`|`boolean`|`true`| Reversible Codex App history compatibility mode. opencodex backs up original Codex thread metadata, remaps old OpenAI interactive rows to `opencodex`, and temporarily promotes opencodex-created `exec` rows to an app-visible source. `ocx stop` / `ocx restore` restore backed-up OpenAI rows and eject remaining opencodex user threads to OpenAI so native Codex can resume them after the proxy is removed from `config.toml`. Set `false` to opt out. |
59
59
|`codexAccounts?`|`CodexAccount[]`|`[]`| ChatGPT/Codex pool account metadata managed by the Codex Auth dashboard. Secrets live separately in `codex-accounts.json`. |
60
60
|`pausedCodexAccountIds?`|`string[]`|`[]`| Accounts excluded from every future Pool selection until resumed in Codex Auth. Includes the main `__main__` account when paused. |
61
-
|`codexAccountNamespaces?`|`Record<string,string>`| — | Optional public model-selector namespace → stored Codex account target map. This foundation layer validates and persists the map but does not add picker rows or change routing. |
61
+
|`codexAccountNamespaces?`|`Record<string,string>`| — | Optional public model-selector namespace → stored Codex account target map. `<selector>/<native-openai-model>` routes using exactly the mapped account; this setting does not add model-picker rows. |
62
62
|`activeCodexAccountId?`|`string`| — | Manually selected Pool account. Selection clears existing thread affinity and applies to the next request; in-flight requests keep their captured account. |
63
63
|`autoSwitchThreshold?`|`number`|`80`| Usage percent threshold for new-session auto-switching. The score uses the hottest known 5h, weekly, or 30d quota window. Set `0` to disable quota auto-switching. Used by the `quota` strategy and as the drain threshold for `fill-first`. |
64
64
|`accountPoolStrategy?`|`"quota" \| "round-robin" \| "fill-first"`|`"quota"`| New-session rotation strategy for the Codex pool. Applies to **new sessions only**; existing thread ids keep affinity. `quota` — today's default: pick the lowest known usage when the active account crosses `autoSwitchThreshold`. `round-robin` — even spread across eligible accounts via smooth weighted selection. `fill-first` — keep the active account until it cools down, becomes unusable, or crosses `autoSwitchThreshold` when set (unknown usage does not force a switch), then advance to the next eligible account in stable sorted order. |
@@ -78,8 +78,11 @@ names are rejected. Each value is either a valid pool-account id (never the inte
78
78
`"@main"` for the Codex Desktop account. Provider and reserved `openai` / `combo` collisions are
79
79
checked case-insensitively; a namespaced combo alias cannot reuse a selector as its namespace prefix,
80
80
and configured pool ids or selector targets also cannot reuse a selector. Keep raw
81
-
account ids and emails private—the selector is the public name. In this foundation layer the map is
82
-
inert: it does not create model-picker entries, pin sessions, or alter Pool or Direct routing.
81
+
account ids and emails private—the selector is the public name. A request such as
82
+
`side/gpt-5.6-sol` uses only the account mapped by `side`, even when `openai` is in Direct mode, and
83
+
sends `gpt-5.6-sol` upstream. It fails closed instead of switching accounts and does not change the
84
+
active Pool account. Bare native models retain normal Pool/Direct routing. The map itself does not
85
+
create model-picker entries.
83
86
84
87
`maxConcurrentThreadsPerSession` is the camel-case field used by `PUT /api/v2`, not a
85
88
`config.json` key. `ocx v2 threads <n>` persists the corresponding
Copy file name to clipboardExpand all lines: docs-site/src/content/docs/ru/reference/configuration.md
+6-4Lines changed: 6 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -57,7 +57,7 @@ opencodex настраивается файлом `~/.opencodex/config.json`. Е
57
57
|`syncResumeHistory?`|`boolean`|`true`| Обратимый режим совместимости истории Codex App. opencodex резервирует исходные метаданные потоков Codex, переназначает старые интерактивные строки OpenAI на `opencodex` и временно повышает созданные opencodex строки `exec` до видимого в приложении источника. `ocx stop` / `ocx restore` восстанавливают зарезервированные строки OpenAI и возвращают оставшиеся пользовательские потоки opencodex обратно к OpenAI, чтобы нативный Codex мог возобновлять их после удаления прокси из `config.toml`. Установите `false`, чтобы отказаться. |
58
58
|`codexAccounts?`|`CodexAccount[]`|`[]`| Метаданные аккаунтов пула ChatGPT/Codex, управляемые дашбордом Codex Auth. Секреты хранятся отдельно в `codex-accounts.json`. |
59
59
|`pausedCodexAccountIds?`|`string[]`|`[]`| ID аккаунтов, исключённых из всех будущих выборов Pool до возобновления в Codex Auth. При паузе основного аккаунта включает `__main__`. |
60
-
|`codexAccountNamespaces?`|`Record<string,string>`| — |Необязательная map публичного namespace селектора модели на сохранённую цель аккаунта Codex. Этот foundation layer проверяет и сохраняет map, но не добавляет строки picker и не меняет routing. |
60
+
|`codexAccountNamespaces?`|`Record<string,string>`| — |Необязательное сопоставление публичного namespace селектора модели с сохранённым аккаунтом Codex. `<selector>/<native OpenAI model>` направляется только в сопоставленный аккаунт; сама настройка не добавляет строки в model picker. |
61
61
|`activeCodexAccountId?`|`string`| — | Вручную выбранный аккаунт пула. Выбор очищает существующие привязки потоков и действует со следующего запроса; выполняющиеся запросы сохраняют захваченный аккаунт. |
62
62
|`autoSwitchThreshold?`|`number`|`80`| Порог процента использования для автопереключения новых сессий. Оценка использует самое «горячее» из известных окон квоты — 5-часовое, недельное или 30-дневное. Установите `0`, чтобы отключить автопереключение по квоте. Используется стратегией `quota` и как порог исчерпания для `fill-first`. |
63
63
| `accountPoolStrategy?` | `"quota" \| "round-robin" \| "fill-first"` | `"quota"` | Стратегия ротации новых сессий для пула Codex. Применяется **только к новым сессиям**; существующие id потоков сохраняют affinity. `quota` (по умолчанию) — выбор наименьшего известного usage, когда активный аккаунт превышает `autoSwitchThreshold`. `round-robin` — равномерное распределение между подходящими аккаунтами через smooth weighted selection. `fill-first` — использовать активный аккаунт до cooldown, недоступности или (если задано) `autoSwitchThreshold` (неизвестный usage не принуждает к переключению), затем переход к следующему подходящему аккаунту в стабильном отсортированном порядке. |
@@ -76,9 +76,11 @@ opencodex настраивается файлом `~/.opencodex/config.json`. Е
76
76
либо `"@main"` для аккаунта Codex Desktop. Коллизии с provider и зарезервированными `openai` / `combo`
77
77
проверяются без учёта регистра; namespace-префикс namespaced combo alias не может повторять селектор.
78
78
Настроенные id пула и цели других селекторов также нельзя повторно использовать как селектор. Сохраняйте
79
-
raw id аккаунтов и email приватными, а селектор используйте как публичное имя.
80
-
В этом foundation layer map инертна: она не создаёт записи model picker, не закрепляет сессии и не меняет
81
-
маршрутизацию Pool / Direct.
79
+
raw id аккаунтов и email приватными, а селектор используйте как публичное имя. Запрос вроде
80
+
`side/gpt-5.6-sol` использует только аккаунт, сопоставленный с `side`, даже когда `openai` работает в режиме
81
+
Direct, и отправляет вышестоящей стороне `gpt-5.6-sol`. Если целевой аккаунт недоступен, запрос завершается
82
+
ошибкой без переключения на другой аккаунт и без изменения active Pool account. Голые нативные модели
83
+
сохраняют обычную маршрутизацию Pool / Direct. Само сопоставление не создаёт записи model picker.
82
84
83
85
`maxConcurrentThreadsPerSession` — это camelCase-поле, используемое `PUT /api/v2`, а не ключ
84
86
`config.json`. `ocx v2 threads <n>` сохраняет соответствующее значение
0 commit comments