Skip to content
Merged
11 changes: 8 additions & 3 deletions docs-site/src/content/docs/fr/guides/sidecars.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,12 @@ les échecs de génération postérieurs à l'envoi des en-têtes sont transmis
Lorsqu'un modèle routé figure dans le `noVisionModels` de son fournisseur — ou est déclaré texte seul pour ce modèle
via `modelInputModalities` — et qu'une requête porte une image, opencodex décrit chaque image **avant** l'appel principal
et la remplace par du texte, à condition qu'un plan de sidecar vision soit disponible. Sans plan disponible, l'image brute
est supprimée au lieu d'être transmise à un backend texte seul. Le catalogue de modèles annonce l'entrée image pour chaque
modèle couvert par le sidecar. Les combos annoncent l'entrée image seulement lorsque chaque membre accepte les images,
nativement ou via un sidecar, et que le paramètre `imageInput` du combo n'est pas désactivé, afin que des clients comme
est supprimée au lieu d'être transmise à un backend texte seul. Avec `visionSidecar.enabled: false`, le catalogue de modèles
n'ajoute pas d'entrée image fournie par le sidecar aux modèles texte seuls, y compris les entrées personnalisées et les
membres des combos. La prise en charge native des images et les modalités image explicitement configurées sont conservées.
Si `enabled` est omis, l'annonce des capacités du sidecar reste activée ; la présence dans le catalogue ne garantit pas
que les identifiants ou la capacité du sidecar sont disponibles. Les combos annoncent l'entrée image seulement lorsque
chaque membre accepte les images, nativement ou via un sidecar activé, et que le paramètre `imageInput` du combo n'est pas désactivé, afin que des clients comme
l'application Codex autorisent les pièces jointes au lieu de les bloquer avant l'exécution du sidecar. Lorsque
`visionSidecar.model` est absent ou vide, le chemin d'exécution OpenAI, le tableau de bord et l'API de gestion
utilisent le modèle de repli `gpt-5.6-luna`. Au démarrage, une ancienne valeur `gpt-5.6-luna` explicitement enregistrée
Expand Down Expand Up @@ -164,6 +167,8 @@ le délai d'attente et la limite précédemment choisis.
les clés omises inchangées. `timeoutMs` utilise les limites entières de l'environnement d'exécution
(1–2147483647 ms).

Un changement de l'état d'activation effectif de Vision via `PUT /api/sidecar-settings` actualise le catalogue et le cache gérés après l'enregistrement ; `catalogRefreshPending=true` signale que cette actualisation n'a pas abouti et ne constitue pas un accusé de réception du client.

La carte du service auxiliaire de recherche web reprend la même forme de contrôle : la première
ligne du sélecteur de modèle est **Désactivé (Off)**. La désactivation arrête l'interception de
`web_search` par OpenCodex et l'intégration Codex écrit `web_search = "disabled"` dans
Expand Down
16 changes: 12 additions & 4 deletions docs-site/src/content/docs/guides/codex-app-models.md
Original file line number Diff line number Diff line change
Expand Up @@ -341,10 +341,18 @@ Desktop if it still has the old list, select the routed model, then choose **Ult
in its speed menu. Standard remains the default.

Only an eligible `service-tier` wire with an explicit `ultrafast → ultrafast` mapping adds
this choice. Ordinary Fast support, a GPT-like name, native/account rows and combo aliases
do not enable it. Removing the mapping or disabling that model's service-tier support
removes the generated choice from both the catalog and cache on the next successful sync.
The separate `ultraFastTier` setting still only retains hand-supplied catalog tiers.
this choice to routed rows; ordinary Fast support or a GPT-like name is insufficient.
That routed mapping does not apply to native/account rows or combo aliases. Removing the
mapping or disabling that model's service-tier support removes the generated routed choice
from both the catalog and cache on the next successful sync.
The active declaration also controls the Ultra Fast choice when Codex loads its model list over HTTP.

For routed rows, `ultraFastTier` retains independently supplied Ultra Fast tiers from the
same exact persisted row; generated routed tiers are not treated as operator-supplied.
For bare native `gpt-6-astra` / `gpt-6.1-sol` rows and their trusted account-bound clones,
enabling `ultraFastTier` also generates a missing Ultrafast choice without changing the
native default tier. Disabling it withdraws only native tier metadata tracked as generated;
independently supplied or edited native tier descriptors are preserved.

[OpenAI's API guide](https://developers.openai.com/api/docs/guides/ultrafast-mode) documents
Ultrafast for GPT-6 Astra and GPT-6.1 Sol. API access and
Expand Down
20 changes: 15 additions & 5 deletions docs-site/src/content/docs/guides/providers.md
Original file line number Diff line number Diff line change
Expand Up @@ -1532,8 +1532,17 @@ dashboard or `custom` in `ocx init` and enter the base URL. See the

Codex asks a second model to review approval requests, and takes that reviewer from
`auto_review_model_override` on the catalog row of the current turn's model. The root
`auto_review_model` in `$CODEX_HOME/config.toml` applies one reviewer to every row. To give a
routed provider its own — usually cheaper — reviewer, set the selector on that provider row in
`auto_review_model` in `$CODEX_HOME/config.toml` is Codex's fallback. The dashboard's global
**Auto-review override** in Model settings applies one reviewer to all catalog rows that do not
have a provider-scoped reviewer. It stores `autoReviewOverride` in `~/.opencodex/config.json`; the
setting must be enabled and name a model. An enabled setting with no model stays unapplied and
leaves the Codex fallback in effect. A catalog refresh is a separate state: after a save it can
stay pending, and the Models page reports it so you can retry with `ocx sync`. From the CLI, read
the setting with `ocx models auto-review status` or
change it with `ocx models auto-review set <model|-> [--enabled <on|off>]`; use `-` to clear the
model. CLI output recommends `ocx sync` when a refresh can be retried. If a refresh fails, the
setting remains saved and the command exits 1. Resolve the failure before syncing. To give a routed
provider its own — usually cheaper — reviewer, set the selector on that provider row in
`~/.opencodex/config.json`:

```json
Expand Down Expand Up @@ -1565,9 +1574,10 @@ no per-model override, leaving a valid provider-wide target as fallback. Whateve
keep the root selector, or upstream behavior when that is unset. Removing the root selector leaves
provider stamps alone, and removing a provider selector clears only that provider's stamps.

These fields are available through configuration, `PATCH /api/providers?name=<provider>`, and
the dashboard raw JSON provider editor; dedicated form controls are not present. The canonical `openai` provider
rejects them. Field-by-field rules live in the
Provider fields are available through configuration, `PATCH /api/providers?name=<provider>`, and
the dashboard raw JSON provider editor; dedicated provider form controls are not present. The
global override is available in Model settings. The canonical `openai` provider rejects provider
reviewer fields. Field-by-field rules live in the
[provider configuration reference](/reference/configuration/providers/#auto-review-approval-model-selection).

## Rate limits in the providers overview
Expand Down
10 changes: 9 additions & 1 deletion docs-site/src/content/docs/guides/sidecars.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,11 @@ failures after response headers have started are delivered as `response.failed`
Image routing is capability-aware. Before an image-bearing upstream send, opencodex resolves the selected model's effective input modalities from runtime provider evidence, explicit operator declarations, backend/registry metadata, and generated vendor metadata. A target positively known to be text-only goes through the Vision Sidecar first; the image is described **before** the main call and replaced inline with text. A target positively known to support images receives the image directly. Unknown custom models keep the existing compatibility behavior rather than being guessed text-only.

For the canonical ChatGPT Codex route, opencodex uses the `openai-codex` metadata bundle rather than public OpenAI API metadata, so backend-specific modality differences are respected. The native Chat fast path uses the same gate and cannot bypass a known text-only verdict. Without an available sidecar plan, raw images are stripped before a proven text-only backend.
Combos advertise image input only when every member accepts images, either natively or through a
With `visionSidecar.enabled: false`, the model catalog does not add sidecar-backed image input to
text-only models, including custom rows and combo members. Native image support and explicitly
configured image modalities are preserved. Omitting `enabled` keeps sidecar advertisement on;
catalog visibility does not establish that sidecar credentials or capacity are available.
Combos advertise image input only when every member accepts images, either natively or through an enabled
sidecar, and the combo's `imageInput` setting is not disabled, so clients such as the Codex app
allow attachments instead of blocking them before the sidecar runs. When
`visionSidecar.model` is absent or blank, the OpenAI execution path, Dashboard, and management API
Expand Down Expand Up @@ -228,6 +232,10 @@ timeout, and limit.
omitted keys unchanged. `timeoutMs` uses the runtime integer bounds
(1–2147483647 ms).

When the effective Vision switch changes, saving also refreshes the managed Codex catalog and
model cache. The response reports `catalogRefreshPending: true` if that refresh did not complete;
the saved switch is retained, and catalog publication does not confirm that a running client has reloaded it.

The web-search sidecar card carries the same control shape: the model picker's first row is
**Off**. Off does two things, and the second one is the reason the row exists. OpenCodex stops
intercepting `web_search`, and the Codex integration writes Codex's own
Expand Down
9 changes: 7 additions & 2 deletions docs-site/src/content/docs/ja/guides/sidecars.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,11 @@ stall は全体生成 timeout ではありません。SSE 開始前の失敗は
ルーティングモデルが該当プロバイダーの `noVisionModels` にある、またはそのモデルが
`modelInputModalities` でテキスト専用と宣言され、リクエストに画像が来る場合、opencodex は利用可能な
ビジョンサイドカー計画があるときに限り、メイン呼び出し**前に**各画像を説明したテキストに差し替えます。
計画が利用できない場合は、生の画像をテキスト専用バックエンドへ転送せず削除します。モデルカタログは
サイドカー対象の各モデルに画像入力を広告します。コンボは、すべてのメンバーがネイティブまたはサイドカーを
計画が利用できない場合は、生の画像をテキスト専用バックエンドへ転送せず削除します。`visionSidecar.enabled: false` の場合、
モデルカタログはカスタムの項目やコンボのメンバーを含むテキスト専用モデルに、サイドカーによる画像入力を追加しません。
ネイティブの画像対応と明示的に設定された画像モダリティは維持されます。`enabled` を省略した場合、サイドカーによる
画像入力の広告は引き続き有効です。カタログに表示されることは、サイドカーの認証情報や処理容量が利用可能であることを
保証しません。コンボは、すべてのメンバーがネイティブまたは有効化されたサイドカーを
通じて画像を受け入れ、かつコンボの `imageInput` 設定が無効でない場合にのみ画像入力を広告します。これにより
Codex アプリなどのクライアントは、サイドカー実行前に添付をブロックせず許可できます。`visionSidecar.model` が未設定または空の場合、
OpenAI 実行経路、ダッシュボード、管理 API は `gpt-5.6-luna` をフォールバックとして使います。起動時には
Expand Down Expand Up @@ -137,6 +140,8 @@ OpenAI 実行経路、ダッシュボード、管理 API は `gpt-5.6-luna` を

`PUT /api/sidecar-settings` は同じフィールドを受け付けます。部分更新では省略したキーをそのまま残します。`timeoutMs` はランタイムの整数範囲(1–2147483647 ms)を使います。

`PUT /api/sidecar-settings` によりビジョンの実効的なオン/オフ状態が変わると、保存後に管理対象のカタログとキャッシュが更新されますが、`catalogRefreshPending=true` は更新が完了しなかったことを示し、クライアントによる受領確認を意味しません。

Web 検索サイドカーのカードも同じ構成です。モデルピッカーの先頭行が **オフ (Off)** です。オフにすると
OpenCodex は `web_search` への介入をやめ、Codex 統合は `~/.codex/config.toml` に
`web_search = "disabled"` を書き込みます。Codex は自身のモードがそうなるまでネイティブの
Expand Down
18 changes: 13 additions & 5 deletions docs-site/src/content/docs/ko/guides/codex-app-models.md
Original file line number Diff line number Diff line change
Expand Up @@ -198,11 +198,19 @@ opencodex의 Fast 모드를 **Auto**로 유지하세요(`fastMode` 생략). Fast
목록이 남아 있다면 Codex 데스크톱을 다시 시작한 뒤 라우팅 모델의 속도 메뉴에서 **Ultra Fast**를
선택하세요. 기본 속도는 Standard로 유지됩니다.

사용 가능한 `service-tier` 전송 경로와 명시적인 `ultrafast → ultrafast` 매핑이 있어야 합니다.
일반 Fast 지원, GPT와 비슷한 이름, 네이티브·계정별 항목, combo 별칭만으로는 추가되지 않습니다.
매핑을 제거하거나 모델의 service-tier 지원을 끄면 다음 동기화 성공 시 카탈로그와 캐시에서
자동 생성된 선택지도 제거됩니다. 별도의 `ultraFastTier` 설정은 기존처럼 사용자가 직접 넣은
카탈로그 tier를 보존하는 용도입니다.
이 선택지를 라우팅 항목에 자동 생성하려면 사용 가능한 `service-tier` 전송 경로와 명시적인
`ultrafast → ultrafast` 매핑이 있어야 합니다. 일반 Fast 지원이나 GPT와 비슷한 이름만으로는
추가되지 않습니다. 이 라우팅 매핑은 네이티브·계정별 네이티브 항목이나 combo 별칭에는
적용되지 않습니다. 매핑을 제거하거나 모델의 service-tier 지원을 끄면 다음 동기화 성공 시
카탈로그와 캐시에서 자동 생성된 라우팅 선택지도 제거됩니다.
Codex가 HTTP로 모델 목록을 불러올 때도 현재 적용 중인 설정의 동일한 선언이 Ultra Fast 선택지를 결정합니다.

라우팅 항목에서는 `ultraFastTier`가 `provider/model` 식별자가 정확히 일치하는 저장된 항목에 사용자가
별도로 넣은 Ultra Fast tier를 보존합니다. 자동 생성된 라우팅 tier는 사용자 제공 tier로
취급하지 않습니다. bare native `gpt-6-astra` / `gpt-6.1-sol` 항목과 신뢰된 계정별 복제
항목에서는 `ultraFastTier`를 켜면 네이티브 기본 tier를 바꾸지 않고 누락된 Ultrafast 선택지도
생성합니다. 끄면 자동 생성한 것으로 추적되는 네이티브 tier 메타데이터만 제거하며,
사용자가 별도로 넣거나 수정한 네이티브 tier 항목은 보존합니다.

[OpenAI API 문서](https://developers.openai.com/api/docs/guides/ultrafast-mode)는 GPT-6 Astra와
GPT-6.1 Sol의 Ultrafast 지원을 안내합니다. API 사용 권한과
Expand Down
11 changes: 9 additions & 2 deletions docs-site/src/content/docs/ko/guides/sidecars.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,11 @@ stall은 전체 생성 timeout이 아닙니다. SSE가 시작되기 전 실패
라우팅 모델이 해당 프로바이더의 `noVisionModels`에 있거나 해당 모델이 `modelInputModalities`에서
텍스트 전용으로 선언되어 있고 요청에 이미지가 들어오면, opencodex는 사용 가능한 비전 사이드카 계획이 있을 때에만
메인 호출 **전에** 각 이미지를 설명한 텍스트로 바꿉니다. 사용 가능한 계획이 없으면 원본 이미지는 텍스트 전용
백엔드로 전달되지 않고 제거됩니다. 모델 카탈로그는 사이드카로 처리되는 모든 모델에 image input을 알립니다.
콤보는 모든 멤버가 네이티브로 또는 사이드카를 통해 이미지를 수용하고 콤보의 `imageInput` 설정이 비활성화되지 않은
백엔드로 전달되지 않고 제거됩니다. `visionSidecar.enabled: false`이면 모델 카탈로그는 사용자 정의 모델과
콤보 멤버를 포함한 텍스트 전용 모델에 사이드카 기반 이미지 입력을 추가하지 않습니다. 네이티브 이미지 지원과
명시적으로 설정한 이미지 입력은 유지됩니다. `enabled`를 생략하면 사이드카 기반 표시는 켜진 상태이며,
카탈로그 표시는 사이드카의 인증 정보나 사용 가능 용량을 보장하지 않습니다.
콤보는 모든 멤버가 네이티브로 또는 활성화된 사이드카를 통해 이미지를 수용하고 콤보의 `imageInput` 설정이 비활성화되지 않은
경우에만 image input을 알립니다. 따라서 Codex 앱 같은 클라이언트는 사이드카가 실행되기 전에 첨부를 차단하지 않고 허용합니다.
`visionSidecar.model`이 없거나 빈 값이면
OpenAI 실행 경로, Dashboard, 관리 API는 `gpt-5.6-luna`를 폴백으로 사용합니다. 시작 시 명시적으로
Expand Down Expand Up @@ -139,6 +142,10 @@ OpenAI 실행 경로, Dashboard, 관리 API는 `gpt-5.6-luna`를 폴백으로

`PUT /api/sidecar-settings`는 같은 필드를 받습니다. 부분 업데이트는 보내지 않은 키를 유지합니다. `timeoutMs`는 런타임 정수 범위(1–2147483647 ms)를 사용합니다.

비전의 실제 활성화 상태가 바뀌면 저장 후 관리되는 Codex 카탈로그와 모델 캐시도 갱신합니다.
갱신을 완료하지 못하면 응답의 `catalogRefreshPending`이 `true`가 되며 저장된 설정은 유지됩니다.
카탈로그 갱신 완료가 실행 중인 클라이언트의 다시 읽기를 확인하는 것은 아닙니다.

웹 검색 사이드카 카드도 같은 구성입니다. 모델 선택기의 첫 행은 **끔 (Off)** 행입니다. 끄면
OpenCodex가 `web_search` 가로채기를 멈추고 Codex 통합이 `~/.codex/config.toml`에
`web_search = "disabled"`를 씁니다. Codex는 자체 모드가 그렇게 될 때까지 네이티브 호스팅
Expand Down
14 changes: 11 additions & 3 deletions docs-site/src/content/docs/reference/configuration/providers.md
Original file line number Diff line number Diff line change
Expand Up @@ -558,9 +558,17 @@ optional pin in a hand-edited file is ignored on load without discarding the res

Codex reads `auto_review_model_override` from the catalog row of the current turn's model to
choose the model that reviews approval requests. The root `auto_review_model` setting in
`$CODEX_HOME/config.toml` applies one reviewer to task catalog rows; the provider-scoped fields
below override it per provider. The [provider guide](/guides/providers/#approval-reviewer-per-provider)
has the operator workflow and a worked example.
`$CODEX_HOME/config.toml` supplies Codex's fallback. The dashboard's global **Auto-review override**
in Model settings stores `autoReviewOverride` in `~/.opencodex/config.json` and takes precedence
over that fallback; the provider-scoped fields below still win on their own rows. The global setting
must be enabled and name a model. An enabled setting with no model stays unapplied and leaves the
Codex fallback in effect. A catalog refresh is a separate state: after a save it can stay pending,
and the Models page reports it so you can retry with `ocx sync`. CLI users can read the setting with
`ocx models auto-review status` or change it with
`ocx models auto-review set <model|-> [--enabled <on|off>]`; use `-` to clear the model. CLI output
recommends `ocx sync` when a refresh can be retried. If a refresh fails, the setting remains saved
and the command exits 1. Resolve the failure before syncing. The [provider
guide](/guides/providers/#approval-reviewer-per-provider) has the operator workflow and a worked example.

When native OpenAI rows are included and the final catalog has an ordinary bare native row
other than Reserve (hidden rows count), OpenCodex keeps the hidden `codex-auto-review` row so
Expand Down
Loading
Loading