Skip to content
Merged
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
19 changes: 14 additions & 5 deletions docs-site/src/content/docs/guides/sidecars.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,10 +150,19 @@ A model is marked text-only per provider:

## Dashboard controls and disabling

<!-- TODO(WP5 GUI): Add the sidecar settings-screen walkthrough after the GUI controls ship. -->

The config-file keys are available now. Set `enabled: false` on either sidecar in `config.json` to
disable it. Anthropic-OAuth search and image description reuse the existing Claude Code OAuth
fingerprint precedent, but should be soak-tested with the intended account and workload.
The Dashboard Vision sidecar card can enable or disable the sidecar, set
`maxDescriptionsPerTurn`, and set `timeoutMs`, along with the existing model,
backend, and reasoning controls. Disabling the sidecar does not delete those
settings; turning it back on keeps the previous model, backend, reasoning,
timeout, and limit.

`PUT /api/sidecar-settings` accepts the same fields. Partial updates leave
omitted keys unchanged. `timeoutMs` uses the runtime integer bounds
(1–2147483647 ms).

You can still set `enabled: false` in `config.json` if you prefer to edit the
file directly. Anthropic-OAuth search and image description reuse the existing
Claude Code OAuth fingerprint precedent, but should be soak-tested with the
intended account and workload.

See the [Configuration reference](/reference/configuration/#sidecars) for every field.
8 changes: 4 additions & 4 deletions docs-site/src/content/docs/ja/guides/sidecars.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,9 +128,9 @@ OpenAI 実行経路、ダッシュボード、管理 API は `gpt-5.4-mini` を

## ダッシュボード設定とオフ

<!-- TODO(WP5 GUI): GUI コントロールが完成したらサイドカー設定画面の案内を追加してください。 -->
ダッシュボードのビジョンサイドカーカードでは、既存のモデル・バックエンド・推論コントロールに加えて、サイドカーのオン/オフ、`maxDescriptionsPerTurn`、`timeoutMs` を設定できます。オフにしても他の設定は削除されず、再びオンにすると以前のモデル、バックエンド、推論、タイムアウト、上限が残ります。

設定ファイルキーは今すぐ使えます。機能をオフにするには `config.json` で該当サイドカーの
`enabled` を `false` に設定してください。Anthropic OAuth 検索と画像説明は既存の Claude Code OAuth
fingerprint 先例に従いますが、実際のアカウントと作業量で十分 soak test するのが無難です。全
`PUT /api/sidecar-settings` は同じフィールドを受け付けます。部分更新では省略したキーをそのまま残します。`timeoutMs` はランタイムの整数範囲(1–2147483647 ms)を使います。

ファイルを直接編集したい場合は、これまでどおり `config.json` で `enabled` を `false` にできます。Anthropic OAuth 検索と画像説明は既存の Claude Code OAuth fingerprint 先例に従いますが、実際のアカウントと作業量で十分 soak test するのが無難です。全
フィールドは[設定リファレンス](/ja/reference/configuration/#sidecars)を参照してください。
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ OpenAI バックエンドには、ChatGPT ログインと有効な ChatGPT `forw
| `model?` | `string` |バックエンド依存 | OpenAI の場合は `gpt-5.4-mini`、Anthropic の場合は `claude-sonnet-5`。 |
| `reasoning?` | `"low" \| "medium" \| "high" \| "xhigh" \| "max"` | `"low"` | OpenAI Responses の推論負荷。Anthropic は無視します。 |
| `maxDescriptionsPerTurn?` | `number` | `8` |新しい説明のキャッシュミスはメインターンごとに許可されます。 `0` は通話を無効にします。無効な値にはデフォルトが使用されます。 |
| `timeoutMs?` | `number` | `45000` |サイドカーのフェッチタイムアウト。 |
| `timeoutMs?` | `number` | `45000` |サイドカーのフェッチタイムアウト。整数 1–2147483647。 |

対応するレベルは、上流プロバイダーの能力と選択したモデルが公表する推論ラダーによって制限されます。 Vision は、プロバイダーの `noVisionModels` のモデルに送信された画像に対してのみアクティブになります。 OpenAI には、検索と同じログイン/転送要件があります。明示的に選択された Anthropic は、使用可能な認証情報がないと失敗します。成功した `data:` 記述では、バックエンド、モデル、詳細、画像バイト、および正規化されたメッセージ コンテキストをキーとした境界付きキャッシュが使用されます。OpenAI のキーには推論負荷も含まれます(Anthropic のキーには含まれません)。ヒットと同じターンの重複は制限を消費しません。リモート `https:` イメージと失敗した説明、または空の説明はキャッシュされません。

Expand Down
7 changes: 4 additions & 3 deletions docs-site/src/content/docs/ko/guides/sidecars.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,9 +129,10 @@ OpenAI 실행 경로, Dashboard, 관리 API는 `gpt-5.4-mini`를 폴백으로

## 대시보드 설정과 끄기

<!-- TODO(WP5 GUI): GUI 컨트롤이 완성되면 사이드카 설정 화면 안내를 추가하세요. -->
대시보드 비전 사이드카 카드에서는 기존 모델·백엔드·추론 컨트롤과 함께 사이드카를 켜거나 끄고, `maxDescriptionsPerTurn`과 `timeoutMs`를 설정할 수 있습니다. 꺼도 다른 설정은 삭제되지 않으며, 다시 켜면 이전 모델, 백엔드, 추론, 제한 시간, 한도가 그대로 남습니다.

설정 파일 키는 지금 바로 사용할 수 있습니다. 기능을 끄려면 `config.json`에서 해당 사이드카의
`enabled`를 `false`로 설정하세요. Anthropic OAuth 검색과 이미지 설명은 기존 Claude Code OAuth
`PUT /api/sidecar-settings`는 같은 필드를 받습니다. 부분 업데이트는 보내지 않은 키를 유지합니다. `timeoutMs`는 런타임 정수 범위(1–2147483647 ms)를 사용합니다.

파일을 직접 고치고 싶다면 이전처럼 `config.json`에서 `enabled`를 `false`로 두면 됩니다. Anthropic OAuth 검색과 이미지 설명은 기존 Claude Code OAuth
fingerprint 선례를 따르지만, 실제 계정과 작업량으로 충분히 soak test하는 편이 좋습니다. 전체
필드는 [설정 레퍼런스](/ko/reference/configuration/#sidecars)를 참고하세요.
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ OpenAI 백엔드는 ChatGPT 로그인과 활성화된 ChatGPT `forward` provider
| `model?` | `string` | backend-dependent | OpenAI는 `gpt-5.4-mini`, Anthropic은 `claude-sonnet-5`입니다. |
| `reasoning?` | `"low" \| "medium" \| "high" \| "xhigh" \| "max"` | `"low"` | OpenAI Responses 추론 강도입니다. Anthropic은 무시합니다. |
| `maxDescriptionsPerTurn?` | `number` | `8` | 메인 턴당 허용되는 새 설명 캐시 미스 수입니다. `0`이면 호출이 비활성화되며, 잘못된 값은 기본값을 사용합니다. |
| `timeoutMs?` | `number` | `45000` | 사이드카 fetch 제한 시간입니다. |
| `timeoutMs?` | `number` | `45000` | 사이드카 fetch 제한 시간입니다. 정수 1–2147483647. |

지원되는 수준은 업스트림 제공자의 역량과 선택한 모델이 공개한 추론 사다리에 따라 제한됩니다. Vision은 provider의 `noVisionModels`에 속한 모델로 보낸 이미지에만 활성화됩니다. OpenAI는 검색과 같은 로그인/forward 요건을 갖고 있으며, 명시적으로 선택한 Anthropic은 사용할 수 있는 자격 증명이 없으면 닫힌 상태로 실패합니다. 성공한 `data:` 설명은 backend, model, detail, image bytes, 그리고 정규화된 메시지 컨텍스트를 키로 하는 bounded cache를 사용합니다. OpenAI 키에는 reasoning effort도 포함됩니다(Anthropic 키에는 없습니다). 히트와 같은 턴의 중복은 한도를 소모하지 않습니다. 원격 `https:` 이미지와 실패했거나 비어 있는 설명은 캐시하지 않습니다.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ an inactivity guard, not a total generation deadline.
| `backend?` | `"openai" \| "anthropic"` | auto | Same explicit-first, Anthropic-credential-aware selection as web search. |
| `model?` | `string` | backend-dependent | `gpt-5.4-mini` for OpenAI or `claude-sonnet-5` for Anthropic. |
| `maxDescriptionsPerTurn?` | `number` | `8` | New description cache misses admitted per main turn. `0` disables calls; invalid values use default. |
| `timeoutMs?` | `number` | `45000` | Sidecar fetch timeout. |
| `timeoutMs?` | `number` | `45000` | Sidecar fetch timeout. Integer 1–2147483647. |

Vision activates only for images sent to a model in its provider's `noVisionModels`. OpenAI has the
same login/forward requirements as search; explicitly selected Anthropic fails closed without a usable
Expand Down
11 changes: 8 additions & 3 deletions docs-site/src/content/docs/ru/guides/sidecars.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,10 +141,15 @@ SSE-событие `response.failed`.

## Управление из дашборда и отключение

<!-- TODO(WP5 GUI): Add the sidecar settings-screen walkthrough after the GUI controls ship. -->
Карточка Vision sidecar на дашборде позволяет включать и выключать сайдкар, задавать
`maxDescriptionsPerTurn` и `timeoutMs`, не убирая уже существующие элементы модели, бэкенда и
рассуждения. Выключение не удаляет эти настройки; повторное включение сохраняет прежние
значения модели, бэкенда, reasoning, таймаута и лимита.

Ключи в файле конфигурации доступны уже сейчас. Чтобы отключить любой из сайдкаров, установите ему
`enabled: false` в `config.json`. Поиск и описание изображений через Anthropic OAuth переиспользуют
`PUT /api/sidecar-settings` принимает те же поля. Частичное обновление оставляет непереданные ключи
без изменений. `timeoutMs` использует целочисленные границы рантайма (1–2147483647 мс).

Если удобнее править файл, по-прежнему можно поставить `enabled: false` в `config.json`. Поиск и описание изображений через Anthropic OAuth переиспользуют
существующий прецедент OAuth-отпечатка Claude Code, но их стоит обкатать с целевым аккаунтом и
нагрузкой.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ routed-model и hosted-search timeout. Эффективный watchdog мост
| `model?` | `string` | backend-dependent | `gpt-5.4-mini` для OpenAI или `claude-sonnet-5` для Anthropic. |
| `reasoning?` | `"low" \| "medium" \| "high" \| "xhigh" \| "max"` | `"low"` | Уровень рассуждений OpenAI Responses. Anthropic его игнорирует. |
| `maxDescriptionsPerTurn?` | `number` | `8` | Максимум новых промахов description-cache за один main turn. `0` отключает вызовы; некорректные значения возвращают дефолт. |
| `timeoutMs?` | `number` | `45000` | Таймаут запроса sidecar'а. |
| `timeoutMs?` | `number` | `45000` | Таймаут запроса sidecar'а. Целое число 1–2147483647. |

Поддерживаемые уровни зависят от возможностей вышестоящего провайдера и заявленной лестницы
рассуждений выбранной модели. Vision включается только для изображений, отправленных в модель, входящую в `noVisionModels` её
Expand Down
9 changes: 5 additions & 4 deletions docs-site/src/content/docs/zh-cn/guides/sidecars.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,9 +118,10 @@ Dashboard 和管理 API 都使用 `gpt-5.4-mini` 作为回退。启动时仍会

## 仪表盘设置与禁用

<!-- TODO(WP5 GUI): GUI 控件完成后补充 sidecar 设置页面操作说明。 -->
仪表盘的视觉附属服务卡片可以启用或停用 sidecar,并设置 `maxDescriptionsPerTurn` 和
`timeoutMs`,同时保留已有的模型、后端和推理强度控件。停用不会删除这些设置;重新启用后仍会保留原来的模型、后端、推理强度、超时和次数上限。

配置文件字段现在即可使用。如需禁用某个 sidecar,请在 `config.json` 中把对应的 `enabled` 设为
`false`。Anthropic OAuth 搜索和图像描述沿用现有 Claude Code OAuth fingerprint 先例,但仍应使用
目标账户和实际负载充分 soak test。所有字段见
`PUT /api/sidecar-settings` 接受相同字段。部分更新会保留未提交的键。`timeoutMs` 使用运行时整数边界(1–2147483647 毫秒)。

如果更想直接改文件,仍可在 `config.json` 中把 `enabled` 设为 `false`。Anthropic OAuth 搜索和图像描述沿用现有 Claude Code OAuth fingerprint 先例,但仍应使用目标账户和实际负载充分 soak test。所有字段见
[配置参考](/zh-cn/reference/configuration/#sidecars)。
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ routed 重放会把主 ChatGPT 认证注入内部请求。Anthropic 后端使用
| `model?` | `string` | 依后端而定 | OpenAI 使用 `gpt-5.4-mini`,Anthropic 使用 `claude-sonnet-5`。 |
| `reasoning?` | `"low" \| "medium" \| "high" \| "xhigh" \| "max"` | `"low"` | OpenAI Responses 推理强度;Anthropic 会忽略该项。 |
| `maxDescriptionsPerTurn?` | `number` | `8` | 每个主轮次允许的新增描述缓存未命中次数。`0` 会禁用调用;无效值会使用默认值。 |
| `timeoutMs?` | `number` | `45000` | 侧车获取超时。 |
| `timeoutMs?` | `number` | `45000` | 侧车获取超时。整数 1–2147483647。 |

支持的等级受上游提供方能力与所选模型公布的推理阶梯限制。Vision 只会对发送给其提供方 `noVisionModels` 中模型的图像生效。OpenAI 具有与 search 相同的登录/forward 要求;显式选择的 Anthropic 在没有可用凭据时会失败并关闭。成功的 `data:` 描述会使用一个受限缓存,其键由后端、模型、detail、图像字节以及规范化消息上下文组成;OpenAI 的键还会额外包含推理强度(Anthropic 键不含)。命中和同轮重复不会消耗限额。远程 `https:` 图像以及失败或空的描述不会被缓存。

Expand Down
9 changes: 5 additions & 4 deletions docs-site/src/content/docs/zh-tw/guides/sidecars.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,9 +113,10 @@ Anthropic OAuth provider。Sidecar 錯誤會轉換成長度受限的工具結果

## 儀表板設定與停用

<!-- TODO(WP5 GUI): GUI 控制元件完成後補充 sidecar 設定頁面操作說明。 -->
儀表板的視覺附屬服務卡片可以啟用或停用 sidecar,並設定 `maxDescriptionsPerTurn` 和
`timeoutMs`,同時保留既有的模型、後端和推理強度控制。停用不會刪除這些設定;重新啟用後仍會保留原來的模型、後端、推理強度、逾時和次數上限。

設定檔欄位現在即可使用。如需停用某個 sidecar,請在 `config.json` 中把對應的 `enabled` 設為
`false`。Anthropic OAuth 搜尋和圖像描述沿用現有 Claude Code OAuth fingerprint 先例,但仍應使用
目標帳號和實際負載充分 soak test。所有欄位見
`PUT /api/sidecar-settings` 接受相同欄位。部分更新會保留未提交的鍵。`timeoutMs` 使用執行時整數邊界(1–2147483647 毫秒)。

如果更想直接改檔案,仍可在 `config.json` 中把 `enabled` 設為 `false`。Anthropic OAuth 搜尋和圖像描述沿用現有 Claude Code OAuth fingerprint 先例,但仍應使用目標帳號和實際負載充分 soak test。所有欄位見
[設定參考](/zh-tw/reference/configuration/#sidecars)。
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ OpenAI backend 需要 ChatGPT 登入與啟用的 ChatGPT `forward` 供應商。C
| `backend?` | `"openai" \| "anthropic"` | 自動 | 與網頁搜尋相同的明確優先、Anthropic 憑證感知選擇。 |
| `model?` | `string` | 視 backend 而定 | OpenAI 為 `gpt-5.4-mini` 或 Anthropic 為 `claude-sonnet-5`。 |
| `maxDescriptionsPerTurn?` | `number` | `8` | 每個主回合允許的新描述快取未命中。`0` 停用呼叫;無效值使用預設。 |
| `timeoutMs?` | `number` | `45000` | Sidecar 擷取逾時。 |
| `timeoutMs?` | `number` | `45000` | Sidecar 擷取逾時。整數 1–2147483647。 |

視覺僅對發送到其供應商 `noVisionModels` 中模型的圖片啟用。OpenAI 的登入/forward 需求與搜尋相同;明確選擇的 Anthropic 在無可用憑證時 fail closed。成功的 `data:` 描述使用以 backend、模型、細節、圖片位元組與正規化訊息 context 為 key 的有界快取。命中與同回合重複不消耗限制。遠端 `https:` 圖片與失敗或空的描述不被快取。

Expand Down
Binary file added docs/pr-assets/1201-vision-1280.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/pr-assets/1201-vision-1440.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/pr-assets/1201-vision-420.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/pr-assets/1201-vision-768.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 7 additions & 0 deletions gui/src/i18n/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,7 @@ export const de: Record<TKey, string> = {
"dash.webSearchStreamHint": "Führenden Text und Reasoning live streamen, bis das Modell über einen Tool-Aufruf entscheidet; der Rest bleibt für das Abfangen der Suche gepuffert. Text vor einer Suche kann sich teilweise wiederholen.",
"dash.visionSidecar": "Vision-Sidecar",
"dash.visionSidecarHint": "Backend und Modell zur Bildbeschreibung für reine Textmodelle auswählen.",
"dash.visionOff": "Aus",
"dash.shadowCallIntercept": "Shadow-Call-Abfangen",
"dash.shadowCallInterceptHint": "Fängt die Hintergrund-Hilfsaufrufe der Codex-App ({models}) ab und leitet sie an das gewählte Modell um. Effort wird auf low fixiert.",
"dash.shadowCallWarning": "⚠ Bei Aktivierung werden ALLE Anfragen an {models} durch das gewählte Modell ersetzt.",
Expand Down Expand Up @@ -2006,4 +2007,10 @@ export const de: Record<TKey, string> = {
"lab.layer.protocol_conformance": "Protokollkonformität",
"lab.layer.live_route_compatibility": "Live-Route-Kompatibilität",
"lab.layer.task_effectiveness": "Aufgabenwirksamkeit",
"dash.visionAdvanced": "Erweiterte Einstellungen",
"dash.visionMaxDescriptions": "Maximale Beschreibungen pro Turn",
"dash.visionMaxDescriptionsInvalid": "Geben Sie eine positive ganze Zahl ein.",
"dash.visionTimeout": "Timeout",
"dash.visionTimeoutInvalid": "Geben Sie eine ganze Zahl von {min} bis {max} Millisekunden ein.",
"dash.visionAdvancedPopover": "Erweiterte Vision-Einstellungen",
};
7 changes: 7 additions & 0 deletions gui/src/i18n/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,13 @@ export const en = {
"dash.webSearchStreamHint": "Stream the model’s leading text and reasoning live until it decides on a tool call; the rest of the turn stays buffered for search interception. Text written before a search may partially repeat.",
"dash.visionSidecar": "Vision sidecar",
"dash.visionSidecarHint": "Choose the backend and model used to describe images for text-only routed models.",
"dash.visionOff": "Off",
"dash.visionAdvanced": "Advanced settings",
"dash.visionMaxDescriptions": "Maximum descriptions per turn",
"dash.visionMaxDescriptionsInvalid": "Enter a positive integer.",
"dash.visionTimeout": "Timeout",
"dash.visionTimeoutInvalid": "Enter an integer from {min} to {max} milliseconds.",
"dash.visionAdvancedPopover": "Advanced vision settings",
"dash.shadowCallIntercept": "Shadow Call Intercept",
"dash.shadowCallInterceptHint": "Intercepts Codex App's background helper calls ({models}) for title generation and commit messages and redirects them to your chosen model. Effort is fixed to low.",
"dash.shadowCallWarning": "⚠ When enabled, ALL requests for {models} will be replaced with the selected model.",
Expand Down
Loading
Loading