Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
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.
Comment thread
oocheol marked this conversation as resolved.
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 @@ -222,6 +226,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
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
12 changes: 9 additions & 3 deletions docs-site/src/content/docs/ru/guides/sidecars.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,13 @@ SSE-событие `response.failed`.
`modelInputModalities` явно указана только текстовая модальность — и запрос содержит изображение,
opencodex описывает каждое изображение **до** основного вызова и заменяет его текстом, если доступен
план vision-сайдкара. Без доступного плана исходное изображение удаляется, а не передаётся текстовому
бэкенду. Каталог моделей объявляет вход изображений для каждой модели, покрытой сайдкаром. Комбо
объявляют вход изображений только если каждый участник принимает изображения нативно или через
сайдкар и параметр комбо `imageInput` не отключён; поэтому такие клиенты, как приложение Codex,
бэкенду. При `visionSidecar.enabled: false` каталог моделей не добавляет поддержку ввода изображений
через сайдкар текстовым моделям, включая пользовательские записи и участников комбо. Нативная
поддержка изображений и явно настроенные модальности изображений сохраняются. Если `enabled`
не указан, объявление поддержки через сайдкар остаётся включённым; наличие в каталоге не подтверждает
доступность учётных данных или ресурсов сайдкара. Комбо объявляют вход изображений только если
каждый участник принимает изображения нативно или через включённый сайдкар и параметр комбо
`imageInput` не отключён; поэтому такие клиенты, как приложение Codex,
разрешают вложения вместо их блокировки до запуска сайдкара. Если `visionSidecar.model` отсутствует или пуст, путь выполнения OpenAI, дашборд и API управления
используют фолбэк `gpt-5.6-luna`. При запуске явно сохранённое устаревшее значение
`gpt-5.4-mini` по-прежнему мигрирует на `gpt-5.6-luna`; миграция применяется только к сохранённому
Expand Down Expand Up @@ -155,6 +159,8 @@ opencodex описывает каждое изображение **до** осн
`PUT /api/sidecar-settings` принимает те же поля. Частичное обновление оставляет непереданные ключи
без изменений. `timeoutMs` использует целочисленные границы рантайма (1–2147483647 мс).

Если через `PUT /api/sidecar-settings` меняется действующее состояние переключателя Vision, после сохранения обновляются управляемые каталог и кэш; `catalogRefreshPending=true` сообщает, что обновление не завершилось, и не служит подтверждением от клиента.

Карточка сайдкара web-search устроена так же: первая строка выбора модели — **Выкл. (Off)**.
Выключение останавливает перехват `web_search` со стороны OpenCodex, а интеграция Codex
записывает `web_search = "disabled"` в `~/.codex/config.toml`: до этого Codex
Expand Down
12 changes: 9 additions & 3 deletions docs-site/src/content/docs/tr/guides/sidecars.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,9 +107,13 @@ Yönlendirilen model sağlayıcısının `noVisionModels` listesinde yer aldığ
bu model için `modelInputModalities` ile salt metin olarak bildirildiğinde ve bir
istek görsel taşıdığında, opencodex kullanılabilir bir vision sidecar planı varsa
ana çağrıdan **önce** her görseli açıklar ve onu metinle değiştirir. Kullanılabilir
bir plan yoksa ham görsel salt metin arka ucuna iletilmek yerine kaldırılır. Model
kataloğu sidecar kapsamında olan her model için görsel girdisini bildirir. Kombolar,
her üye görselleri yerel olarak veya bir sidecar üzerinden kabul ettiğinde ve kombonun
bir plan yoksa ham görsel salt metin arka ucuna iletilmek yerine kaldırılır.
`visionSidecar.enabled: false` olduğunda model kataloğu, özel kayıtlar ve kombo üyeleri
dahil salt metin modellere sidecar destekli görsel girdisi eklemez. Yerel görsel desteği
ve açıkça yapılandırılmış görsel modaliteleri korunur. `enabled` belirtilmezse sidecar
destekli görsel girdisinin bildirilmesi açık kalır; katalogda görünmesi, sidecar kimlik
bilgilerinin veya kapasitesinin kullanılabilir olduğunu doğrulamaz. Kombolar,
her üye görselleri yerel olarak veya etkinleştirilmiş bir sidecar üzerinden kabul ettiğinde ve kombonun
`imageInput` ayarı devre dışı olmadığında görsel girdisini bildirir; böylece Codex
uygulaması gibi istemciler, sidecar çalışmadan önce ekleri engellemek yerine kabul eder.
`visionSidecar.model` olmadığında veya boş
Expand Down Expand Up @@ -196,6 +200,8 @@ akıl yürütmeyi, zaman aşımını ve sınırı korur.
atlanan anahtarları değiştirmeden bırakır. `timeoutMs` çalışma zamanı tamsayı
sınırlarını kullanır (1–2147483647 ms).

Vizyon'un geçerli açma/kapatma durumunu `PUT /api/sidecar-settings` üzerinden değiştirmek, kayıttan sonra yönetilen kataloğu ve önbelleği yeniler; `catalogRefreshPending=true`, yenilemenin tamamlanmadığını bildirir ve istemci onayı anlamına gelmez.

Web arama sidecar kartı aynı denetim yapısını taşır: model seçicisinin ilk satırı **Kapalı (Off)**'dır.
Kapatmak OpenCodex'in `web_search` yakalamasını durdurur ve Codex entegrasyonu
`~/.codex/config.toml` dosyasına `web_search = "disabled"` yazar; çünkü Codex kendi
Expand Down
10 changes: 8 additions & 2 deletions docs-site/src/content/docs/zh-cn/guides/sidecars.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,10 @@ OAuth 账户时使用 `anthropic`,否则使用 `openai`。显式选择 `anthro

当路由模型列在其 provider 的 `noVisionModels` 中,或该模型在 `modelInputModalities` 中被声明为仅文本,
并且请求包含图像时,只要有可用的 vision sidecar plan,opencodex 就会在主调用**之前**描述每张图像并用文字替换图像。
如果没有可用 plan,原始图像会被移除,而不会继续转发给纯文本后端。模型目录会为每个由 sidecar 覆盖的模型声明图像输入。
只有当每个 combo 成员都能原生或通过 sidecar 接受图像、且 combo 的 `imageInput` 设置未禁用时,combo 才会声明图像输入;
如果没有可用 plan,原始图像会被移除,而不会继续转发给纯文本后端。当 `visionSidecar.enabled: false` 时,
模型目录不会为纯文本模型添加由 sidecar 提供的图像输入,包括自定义模型和 combo 成员。原生图像支持和显式配置的
图像输入会保留。省略 `enabled` 时,默认仍会声明 sidecar 图像支持;目录中的声明不保证 sidecar 凭据或容量可用。
只有当每个 combo 成员都能原生或通过已启用的 sidecar 接受图像、且 combo 的 `imageInput` 设置未禁用时,combo 才会声明图像输入;
这样 Codex 应用等客户端会允许附件,而不会在 sidecar 运行前阻止它们。当 `visionSidecar.model` 缺失或为空时,OpenAI 执行路径、
Dashboard 和管理 API 都使用 `gpt-5.6-luna` 作为回退。启动时仍会把明确保存的旧
`gpt-5.4-mini` 值迁移到 `gpt-5.6-luna`;该迁移只作用于已保存值,不适用于缺失的 model 字段。
Expand Down Expand Up @@ -126,6 +128,10 @@ Dashboard 和管理 API 都使用 `gpt-5.6-luna` 作为回退。启动时仍会

`PUT /api/sidecar-settings` 接受相同字段。部分更新会保留未提交的键。`timeoutMs` 使用运行时整数边界(1–2147483647 毫秒)。

Vision 的实际启用状态改变时,保存后也会刷新受管理的 Codex 目录和模型缓存。
若刷新未完成,响应会返回 `catalogRefreshPending: true`,已保存的开关设置仍然保留。
目录发布成功并不表示运行中的客户端已重新加载目录。

Web 搜索 sidecar 卡片采用相同的控件形态:模型选择器的第一行是 **关闭 (Off)**。关闭会停止
OpenCodex 对 `web_search` 的拦截,同时 Codex 集成会把 `web_search = "disabled"`
写入 `~/.codex/config.toml`;因为 Codex 在自身模式如此声明前会一直声明其原生托管的
Expand Down
Loading
Loading