-
Notifications
You must be signed in to change notification settings - Fork 796
feat(vision): make sidecar reasoning model-aware #1238
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 19 commits
Commits
Show all changes
63 commits
Select commit
Hold shift + click to select a range
c396212
test(vision): pin model-aware reasoning contracts
Wibias 0296bde
feat(vision): add sidecar reasoning ladder
Wibias ae07613
feat(vision): normalize reasoning by model capability
Wibias dfb0129
feat(models): expose native reasoning ladders
Wibias 27dd486
feat(vision): send configured reasoning effort
Wibias c48be17
feat(vision): apply reasoning at runtime without losing raw-body sync
Wibias d8c5fea
refactor(management): preserve current config route base for takeover
Wibias 2c7c6c9
feat(management): normalize vision reasoning at write boundary
Wibias 910a621
feat(gui): add model-aware vision reasoning helpers
Wibias 9707448
feat(gui): add vision reasoning selector
Wibias 5a5e7f3
fix(gui): use shared clamp and existing localized reasoning label
Wibias ef15ee8
test(gui): cover vision reasoning ladder clamp
Wibias b5f334a
docs(vision): document model-aware reasoning
Wibias e758a0f
docs(vision): add Japanese reasoning guide
Wibias f3afa56
docs(vision): add Korean reasoning guide
Wibias 7b9641a
docs(vision): add Russian reasoning guide
Wibias 0296e98
docs(vision): add Chinese reasoning guide
Wibias 5d81bbf
chore(vision): preserve existing describe comments
Wibias 57763e8
fix(vision): avoid catalog facade on reasoning path
Wibias da70891
fix(vision): enforce reasoning in canonical sidecar route
Wibias 96a6937
refactor(vision): remove duplicated config route base
Wibias 185df75
chore: add one-shot maintainer fix runner
Wibias bb617c9
fix(vision): filter native sidecar effort metadata
Wibias 1b55584
chore: make one-shot vision fix runner robust
Wibias a17b0c6
test(vision): cover management reasoning edge cases
Wibias 31294f0
docs(vision): normalize OpenCodex product casing
Wibias b309855
fix(gui): align vision effort clamp with server
Wibias 9d3efaa
test(gui): cover gapped vision effort ladders
Wibias fd800af
fix(gui): label vision reasoning control correctly
Wibias b7f605d
chore(vision): remove maintainer self-mutating workflow
Wibias 1335296
fix(config): reject invalid vision reasoning in CLI writes
Wibias d0fb604
fix(config): normalize native vision effort pairs before CLI save
Wibias a572b04
fix(gui): hide stale unsupported vision efforts
Wibias b191e0f
fix(gui): persist effective vision model and effort
Wibias 5136acd
test(gui): hide stale unsupported vision effort options
Wibias 56a3fdb
docs(vision): update canonical sidecar reasoning references
Wibias b048406
test(vision): cover unset model reasoning fallback
Wibias e8e705f
fix(vision): align management fallback with runtime
Wibias 8ab06f1
fix(management): restore tray validation message
Wibias 2bc646a
fix(vision): normalize CLI reasoning against runtime default
Wibias 0f29bf1
test(vision): cover CLI default-model normalization
Wibias b93b030
fix(gui): keep vision effort edits reasoning-only
Wibias f4736af
test(gui): preserve sidecar identity on effort edits
Wibias 736f68e
fix(gui): preserve vision backend on effort changes
Wibias f583765
chore(gui): restore final newline
Wibias 44745e8
chore(gui): restore overview final newline
Wibias cb6de74
fix(vision): report effective reasoning for default model
Wibias bcb6743
fix(vision): treat blank sidecar models as unset
Wibias 9c82061
fix(vision): normalize blank CLI model as default
Wibias bdc6a9d
test(vision): cover blank and stale default-model configs
Wibias 4fb06e0
docs(sidecars): clarify vision defaults and capability clamps
Wibias caaedb4
docs(ja): align vision defaults and clamp semantics
Wibias 4fbd649
docs(ko): align vision defaults and clamp semantics
Wibias a1cd5fa
docs(ru): align vision defaults and clamp semantics
Wibias 4ca1fd1
docs(zh-cn): align vision defaults and clamp semantics
Wibias 6b1811a
feat(i18n): localize vision reasoning levels
Wibias 621e616
fix(gui): localize vision reasoning labels
Wibias 2a34906
test(gui): cover vision metadata and locale fallbacks
Wibias 6300d0d
test(vision): use valid config fixture for CLI import
Wibias 71978d0
test(vision): align Anthropic management DTO expectations
Wibias 3d38a34
merge(dev): sync vision reasoning takeover with latest dev
Wibias dcad8bd
fix(codex): handle zero-byte first-use coordinator race
Wibias 3069468
test(codex): pin first-use zero-byte coordinator race
Wibias File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
22 changes: 22 additions & 0 deletions
22
docs-site/src/content/docs/guides/vision-sidecar-reasoning.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| --- | ||
| title: "Vision Sidecar Reasoning" | ||
| description: Configure OpenAI vision-sidecar reasoning effort safely by model capability. | ||
| --- | ||
|
|
||
| The OpenAI vision sidecar can use a configurable reasoning effort when it describes images for a text-only routed model. | ||
|
|
||
| Set `visionSidecar.reasoning` to `low`, `medium`, `high`, `xhigh`, or `max`. The default remains `low`. | ||
|
|
||
| ```json | ||
| { | ||
| "visionSidecar": { | ||
| "backend": "openai", | ||
| "model": "gpt-5.6-luna", | ||
| "reasoning": "medium" | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| Supported levels depend on the selected model. The Dashboard reads each native model's advertised reasoning ladder and clamps an unavailable saved value to the highest supported rung. The management API and runtime apply the same model-aware normalization, so a direct API call or stale config cannot send a known-unsupported native effort upstream. Unknown/custom models remain permissive when opencodex has no reliable capability metadata. | ||
|
|
||
| Changing the OpenAI reasoning effort creates a distinct image-description cache identity. Anthropic vision ignores this OpenAI-specific setting, so its cache identity does not change. |
12 changes: 12 additions & 0 deletions
12
docs-site/src/content/docs/ja/guides/vision-sidecar-reasoning.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| --- | ||
| title: "Vision サイドカーの推論負荷" | ||
| description: OpenAI Vision サイドカーの推論負荷をモデル能力に合わせて安全に設定します。 | ||
| --- | ||
|
|
||
| OpenAI の Vision サイドカーは、テキスト専用のルーティングモデル向けに画像を説明するときの推論負荷を設定できます。 | ||
|
|
||
| `visionSidecar.reasoning` には `low`、`medium`、`high`、`xhigh`、`max` を指定できます。既定値は `low` のままです。 | ||
|
|
||
| 対応レベルは選択したモデルに依存します。ダッシュボードはネイティブモデルが公開する推論ラダーを使用し、未対応の保存値をそのモデルの最高対応ラングへ切り詰めます。管理 API と実行時にも同じ正規化を行うため、直接の API 呼び出しや古い設定から既知の未対応値が上流へ送られることはありません。信頼できる能力メタデータがないカスタムモデルは制限しません。 | ||
|
|
||
| OpenAI では推論負荷が画像説明キャッシュの識別子に含まれます。Anthropic はこの OpenAI 固有設定を無視するため、Anthropic のキャッシュ識別子には含まれません。 |
12 changes: 12 additions & 0 deletions
12
docs-site/src/content/docs/ko/guides/vision-sidecar-reasoning.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| --- | ||
| title: "Vision 사이드카 추론 강도" | ||
| description: OpenAI Vision 사이드카의 추론 강도를 모델 기능에 맞게 안전하게 설정합니다. | ||
| --- | ||
|
|
||
| OpenAI Vision 사이드카는 텍스트 전용 라우팅 모델을 위해 이미지를 설명할 때 사용할 추론 강도를 설정할 수 있습니다. | ||
|
|
||
| `visionSidecar.reasoning`은 `low`, `medium`, `high`, `xhigh`, `max`를 지원하며 기본값은 계속 `low`입니다. | ||
|
|
||
| 지원 수준은 선택한 모델에 따라 달라집니다. 대시보드는 네이티브 모델이 공개한 추론 사다리를 읽고 지원되지 않는 저장값을 해당 모델의 최고 지원 단계로 제한합니다. 관리 API와 런타임도 같은 모델 인식 정규화를 적용하므로 직접 API 호출이나 오래된 설정이 알려진 비지원 값을 업스트림으로 보내지 않습니다. 신뢰할 수 있는 기능 메타데이터가 없는 사용자 지정 모델은 제한하지 않습니다. | ||
|
|
||
| OpenAI에서는 추론 강도가 이미지 설명 캐시 식별자에 포함됩니다. Anthropic은 이 OpenAI 전용 설정을 무시하므로 Anthropic 캐시 식별자에는 포함되지 않습니다. |
12 changes: 12 additions & 0 deletions
12
docs-site/src/content/docs/ru/guides/vision-sidecar-reasoning.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| --- | ||
| title: "Уровень рассуждений Vision-сайдкара" | ||
| description: Безопасная настройка уровня рассуждений OpenAI Vision-сайдкара с учётом возможностей модели. | ||
| --- | ||
|
|
||
| Для OpenAI Vision-сайдкара можно настроить уровень рассуждений, используемый при описании изображений для текстовой routed-модели. | ||
|
|
||
| `visionSidecar.reasoning` принимает `low`, `medium`, `high`, `xhigh` или `max`. Значение по умолчанию остаётся `low`. | ||
|
|
||
| Поддерживаемые уровни зависят от выбранной модели. Дашборд читает заявленную лестницу рассуждений нативной модели и ограничивает недоступное сохранённое значение наивысшим поддерживаемым уровнем. Management API и runtime применяют ту же нормализацию, поэтому прямой API-вызов или устаревший конфиг не отправит известный неподдерживаемый уровень upstream. Пользовательские модели без надёжных метаданных возможностей остаются без искусственных ограничений. | ||
|
|
||
| Для OpenAI уровень рассуждений входит в идентификатор кэша описания изображения. Anthropic игнорирует эту специфичную для OpenAI настройку, поэтому его кэш от неё не зависит. |
12 changes: 12 additions & 0 deletions
12
docs-site/src/content/docs/zh-cn/guides/vision-sidecar-reasoning.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| --- | ||
| title: "Vision 侧车推理强度" | ||
| description: 按模型能力安全配置 OpenAI Vision 侧车的推理强度。 | ||
| --- | ||
|
|
||
| OpenAI Vision 侧车在为纯文本路由模型描述图像时,可以配置所使用的推理强度。 | ||
|
|
||
| `visionSidecar.reasoning` 支持 `low`、`medium`、`high`、`xhigh` 和 `max`,默认值仍为 `low`。 | ||
|
|
||
| 支持的等级取决于所选模型。控制台会读取原生模型公布的推理阶梯,并把不受支持的已保存值限制到该模型支持的最高档位。管理 API 和运行时也使用同一套按模型能力归一化逻辑,因此直接 API 调用或旧配置不会把已知不受支持的原生档位发送到上游。对于没有可靠能力元数据的自定义模型,opencodex 保持宽松处理。 | ||
|
|
||
| 在 OpenAI 路径中,推理强度会进入图像描述缓存标识。Anthropic 会忽略这个 OpenAI 专用设置,因此 Anthropic 的缓存标识不会因它变化。 | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.