diff --git a/docs-site/src/content/docs/reference/configuration/server.md b/docs-site/src/content/docs/reference/configuration/server.md index ae044e3faa9..f4b674d8f22 100644 --- a/docs-site/src/content/docs/reference/configuration/server.md +++ b/docs-site/src/content/docs/reference/configuration/server.md @@ -935,6 +935,10 @@ replacement keeps the request's configured reasoning effort. Set `sourceModels` uses different helper ids. A non-empty `sourceModels` replaces the default prefixes instead of extending them, so include `gpt-6-luna` (and `gpt-5.6-luna` for 0.145.0-0.153.x clients) in the list when current clients should still be intercepted. +Memory consolidation is separate: Codex asks for Terra there, and +`memoryModels.consolidation` controls that phase. Terra is also a normal foreground and subagent +model, so it stays out of the default shadow source set; the dashboard shows it as its own +Memory-Routing entry next to the shadow-call sources. Matching bare model ids are eligible for interception, but explicit user turns keep their selected model: `x-codex-turn-metadata` must contain both `request_kind: "turn"` and `thread_source: "user"`. Spawned children also keep their model, identified by the `x-openai-subagent: collab_spawn` connection header (HTTP request or WebSocket diff --git a/gui/src/i18n/de.ts b/gui/src/i18n/de.ts index 6e9bf71f05d..2e3ab9586cd 100644 --- a/gui/src/i18n/de.ts +++ b/gui/src/i18n/de.ts @@ -576,13 +576,14 @@ export const de: Record = { "memoryModels.saved": "Memory-Einstellungen gespeichert.", "memoryModels.saveFailed": "Speichern fehlgeschlagen. Deine Änderungen stehen noch da; versuch es erneut.", "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.", - "dash.shadowCallWarning": "⚠ Bei Aktivierung werden ALLE Anfragen an {models} durch das gewählte Modell ersetzt.", + "shadowCall.memoryLabel": "Memory: Terra", + "dash.shadowCallInterceptHint": "Fängt die Hintergrund-Hilfsaufrufe der Codex-App ({models}) für Titel, Commit-Nachrichten und Skill-Orchestrierung ab. Die Memory-Konsolidierung läuft normalerweise mit Terra und wird separat über Memory-Routing gesteuert.", + "dash.shadowCallWarning": "⚠ Bei Aktivierung werden ALLE Anfragen an {models} durch das gewählte Modell ersetzt. Terra (Memory-Konsolidierung) läuft standardmäßig separat über Memory-Routing.", "dash.shadowCallOriginal": "Original", "dash.shadowCallModel": "Ersatzmodell", - "dash.shadowCallTooltip": "Die Codex-App ruft im Hintergrund ein Hilfsmodell für Titelgenerierung, Commit-Nachrichten und Skill-Orchestrierung auf. Das Modell wechselt zwischen Client-Versionen, daher fängt opencodex diesen Satz ab: {models}.", + "dash.shadowCallTooltip": "Die Codex-App ruft im Hintergrund ein Hilfsmodell für Titelgenerierung, Commit-Nachrichten und Skill-Orchestrierung auf. Das Modell wechselt zwischen Client-Versionen, daher fängt opencodex diesen Satz ab: {models}. Die Memory-Konsolidierung nutzt normalerweise Terra und wird über das separate Memory-Routing gesteuert. Terra gehört nicht zu den Standard-Shadow-Quellen; ein ausdrücklicher sourceModels-Eintrag kann die Konsolidierung jedoch weiterhin über diesen Schalter leiten, solange kein Konsolidierungsmodell konfiguriert ist.", "models.shadowCallIntercept": "Shadow-Call-Abfangen", - "models.shadowCallInterceptHint": "Fängt die Hintergrund-Hilfsaufrufe der Codex-App ({models}) ab und leitet sie an das gewählte Modell um.", + "models.shadowCallInterceptHint": "Fängt die Hintergrund-Hilfsaufrufe der Codex-App ({models}) für Titel, Commit-Nachrichten und Skill-Orchestrierung ab. Die Memory-Konsolidierung (Terra) läuft normalerweise separat über Memory-Routing.", "models.autoReviewOverride": "Auto-Review-Überschreibung", "models.autoReviewOverrideHint": "Legt fest, welches Modell Codex für die automatische Prüfung (Approval-Reviewer) verwendet. Wird beim Katalog-Abgleich auf alle Zeilen angewendet; ein autoReviewModel auf Anbieterebene hat weiterhin Vorrang.", "models.autoReviewPending": "Ausstehend", diff --git a/gui/src/i18n/en.ts b/gui/src/i18n/en.ts index e5aa8db2d1f..9ff2e060a50 100644 --- a/gui/src/i18n/en.ts +++ b/gui/src/i18n/en.ts @@ -594,13 +594,14 @@ export const en = { "memoryModels.saved": "Memory settings saved.", "memoryModels.saveFailed": "Could not save. Your changes are still here; try again.", "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.", - "dash.shadowCallWarning": "⚠ When enabled, ALL requests for {models} will be replaced with the selected model.", + "shadowCall.memoryLabel": "Memory: Terra", + "dash.shadowCallInterceptHint": "Intercepts Codex App's background helper calls ({models}) for titles, commit messages, and skill orchestration. Memory consolidation normally runs on Terra and is routed separately under Memory-Routing.", + "dash.shadowCallWarning": "⚠ When enabled, ALL requests for {models} will be replaced with the selected model. Terra (memory consolidation) is routed separately by default.", "dash.shadowCallOriginal": "Original", "dash.shadowCallModel": "Replacement model", - "dash.shadowCallTooltip": "Codex App makes background helper calls for thread title generation, commit message generation, and skill orchestration. The helper model changed across client versions, so opencodex intercepts every model in this set: {models}. Enable this to redirect those calls to your chosen model.", + "dash.shadowCallTooltip": "Codex App makes background helper calls for thread title generation, commit message generation, and skill orchestration. The helper model changed across client versions, so opencodex intercepts every model in this set: {models}. Enable this to redirect those calls to your chosen model. Memory consolidation normally uses Terra and is controlled by the separate Memory-Routing panel. Terra is not in the default shadow sources, but an explicit sourceModels entry can still send consolidation through this switch when no consolidation model is configured.", "models.shadowCallIntercept": "Shadow Call Intercept", - "models.shadowCallInterceptHint": "Intercepts Codex App's background helper calls ({models}) for titles and commit messages and redirects them to your chosen model.", + "models.shadowCallInterceptHint": "Intercepts Codex App's background helper calls ({models}) for titles, commit messages, and skill orchestration. Memory consolidation (Terra) is normally routed separately under Memory-Routing.", "models.autoReviewOverride": "Auto-review override", "models.autoReviewOverrideHint": "Chooses the model Codex uses for auto-review (the approval reviewer). Applied to every catalog row at sync; a provider-scoped autoReviewModel still takes precedence on its own rows.", "models.autoReviewPending": "Pending", diff --git a/gui/src/i18n/fr.ts b/gui/src/i18n/fr.ts index 06c65d62cd2..f94a017070b 100644 --- a/gui/src/i18n/fr.ts +++ b/gui/src/i18n/fr.ts @@ -584,13 +584,14 @@ export const fr: Record = { "memoryModels.saved": "Réglages de mémoire enregistrés.", "memoryModels.saveFailed": "Échec de l'enregistrement. Vos modifications sont conservées ; réessayez.", "dash.shadowCallIntercept": "Interception des appels fantômes", - "dash.shadowCallInterceptHint": "Intercepte les appels auxiliaires en arrière-plan de l’application Codex ({models}) pour générer les titres et les messages de commit, puis les redirige vers le modèle choisi.", - "dash.shadowCallWarning": "⚠ Lorsque cette option est activée, TOUTES les requêtes destinées à {models} sont remplacées par le modèle sélectionné.", + "shadowCall.memoryLabel": "Mémoire : Terra", + "dash.shadowCallInterceptHint": "Intercepte les appels auxiliaires en arrière-plan de l’application Codex ({models}) pour les titres, les messages de commit et l’orchestration des compétences. La consolidation de la mémoire utilise normalement Terra et passe par le routage de la mémoire séparé.", + "dash.shadowCallWarning": "⚠ Lorsque cette option est activée, TOUTES les requêtes destinées à {models} sont remplacées par le modèle sélectionné. Terra (consolidation de la mémoire) passe par le routage de la mémoire séparé par défaut.", "dash.shadowCallOriginal": "Original", "dash.shadowCallModel": "Modèle de remplacement", - "dash.shadowCallTooltip": "L’application Codex effectue des appels auxiliaires en arrière-plan pour générer les titres de fils, les messages de commit et orchestrer les compétences. Le modèle auxiliaire ayant changé selon les versions du client, opencodex intercepte tous les modèles de cet ensemble : {models}. Activez cette option pour rediriger ces appels vers le modèle choisi.", + "dash.shadowCallTooltip": "L’application Codex effectue des appels auxiliaires en arrière-plan pour générer les titres de fils, les messages de commit et orchestrer les compétences. Le modèle auxiliaire ayant changé selon les versions du client, opencodex intercepte tous les modèles de cet ensemble : {models}. Activez cette option pour rediriger ces appels vers le modèle choisi. La consolidation de la mémoire utilise normalement Terra et dépend du panneau de routage de la mémoire séparé. Terra ne fait pas partie des sources shadow par défaut, mais une entrée explicite dans sourceModels peut tout de même faire passer la consolidation par cette option lorsqu’aucun modèle de consolidation n’est configuré.", "models.shadowCallIntercept": "Interception des appels fantômes", - "models.shadowCallInterceptHint": "Intercepte les appels auxiliaires en arrière-plan de l’application Codex ({models}) pour les titres et les messages de commit, puis les redirige vers le modèle choisi.", + "models.shadowCallInterceptHint": "Intercepte les appels auxiliaires en arrière-plan de l’application Codex ({models}) pour les titres, les messages de commit et l’orchestration des compétences. La consolidation de la mémoire (Terra) passe normalement par le routage de la mémoire séparé.", "models.autoReviewOverride": "Remplacement de la revue automatique", "models.autoReviewOverrideHint": "Choisit le modèle que Codex utilise pour la revue automatique (le modèle de revue des demandes d'approbation). Appliqué à chaque ligne du catalogue à la synchronisation ; un autoReviewModel défini au niveau du fournisseur reste prioritaire sur ses lignes.", "models.autoReviewPending": "En attente", diff --git a/gui/src/i18n/ja.ts b/gui/src/i18n/ja.ts index 751c3053bfa..58882a24bb0 100644 --- a/gui/src/i18n/ja.ts +++ b/gui/src/i18n/ja.ts @@ -585,13 +585,14 @@ export const ja: Record = { "memoryModels.saved": "メモリ設定を保存しました。", "memoryModels.saveFailed": "保存できませんでした。変更は残っています。もう一度お試しください。", "dash.shadowCallIntercept": "シャドウコール傍受", - "dash.shadowCallInterceptHint": "Codex App のバックグラウンドヘルパー呼び出し({models}: タイトル生成、コミットメッセージ)を傍受し、選択したモデルにリダイレクトします。", - "dash.shadowCallWarning": "⚠ オンにすると、{models} へのリクエストがすべて選択したモデルに置き換えられます。", + "shadowCall.memoryLabel": "メモリ: Terra", + "dash.shadowCallInterceptHint": "Codex App のバックグラウンドヘルパー呼び出し({models}: タイトル、コミットメッセージ、スキルオーケストレーション)を傍受し、選択したモデルにリダイレクトします。メモリの統合は通常 Terra で実行され、別のメモリルーティングで制御されます。", + "dash.shadowCallWarning": "⚠ オンにすると、{models} へのリクエストがすべて選択したモデルに置き換えられます。Terra(メモリ統合)は既定では別のメモリルーティングで処理されます。", "dash.shadowCallOriginal": "元のモデル", "dash.shadowCallModel": "差し替えモデル", - "dash.shadowCallTooltip": "Codex App はスレッドタイトル生成、コミットメッセージ生成、スキルオーケストレーションをバックグラウンドで呼び出します。使われるモデルはクライアントのバージョンによって変わるため、opencodex は {models} をまとめて傍受します。これをオンにすると、それらの呼び出しを選択したモデルにリダイレクトします。", + "dash.shadowCallTooltip": "Codex App はスレッドタイトル生成、コミットメッセージ生成、スキルオーケストレーションをバックグラウンドで呼び出します。使われるモデルはクライアントのバージョンによって変わるため、opencodex は {models} をまとめて傍受します。これをオンにすると、それらの呼び出しを選択したモデルにリダイレクトします。メモリの統合は通常 Terra を使用し、別のメモリルーティングパネルで制御されます。Terra は既定のシャドウソースではありませんが、sourceModels に明示的に追加すると、統合モデルが未設定のときにこのスイッチ経由で統合を転送できます。", "models.shadowCallIntercept": "シャドウコール傍受", - "models.shadowCallInterceptHint": "Codex App のバックグラウンドヘルパー呼び出し({models}: タイトル、コミットメッセージ)を傍受し、選択したモデルにリダイレクトします。", + "models.shadowCallInterceptHint": "Codex App のバックグラウンドヘルパー呼び出し({models}: タイトル、コミットメッセージ、スキルオーケストレーション)を傍受し、選択したモデルにリダイレクトします。メモリの統合(Terra)は通常、別のメモリルーティングで処理されます。", "models.autoReviewOverride": "自動レビューの上書き", "models.autoReviewOverrideHint": "Codex の自動レビュー(承認レビュアー)が使うモデルを指定します。カタログ同期時にすべての行へ適用され、プロバイダー固有の autoReviewModel がその行では引き続き優先されます。", "models.autoReviewPending": "保留中", diff --git a/gui/src/i18n/ko.ts b/gui/src/i18n/ko.ts index 4e5f35e6e32..cae674fcbdf 100644 --- a/gui/src/i18n/ko.ts +++ b/gui/src/i18n/ko.ts @@ -580,13 +580,14 @@ export const ko: Record = { "memoryModels.saved": "메모리 설정을 저장했습니다.", "memoryModels.saveFailed": "저장하지 못했습니다. 변경 사항은 그대로 있습니다. 다시 시도하세요.", "dash.shadowCallIntercept": "쉐도우 호출 가로채기", - "dash.shadowCallInterceptHint": "Codex 앱이 제목·커밋 메시지 생성에 쓰는 백그라운드 호출({models})을 가로채 선택한 모델로 바꿉니다.", - "dash.shadowCallWarning": "⚠ 활성화하면 {models} 요청이 모두 선택한 모델로 대체됩니다.", + "shadowCall.memoryLabel": "메모리: Terra", + "dash.shadowCallInterceptHint": "Codex 앱이 제목·커밋 메시지·스킬 오케스트레이션에 쓰는 백그라운드 호출({models})을 가로채 선택한 모델로 바꿉니다. 메모리 통합은 보통 Terra로 실행되며 별도의 메모리 라우팅에서 제어합니다.", + "dash.shadowCallWarning": "⚠ 활성화하면 {models} 요청이 모두 선택한 모델로 대체됩니다. Terra(메모리 통합)는 기본적으로 별도의 메모리 라우팅으로 처리됩니다.", "dash.shadowCallOriginal": "원본", "dash.shadowCallModel": "대체 모델", - "dash.shadowCallTooltip": "Codex 앱은 스레드 제목 자동 생성, 커밋 메시지 생성, 스킬 오케스트레이션 같은 내부 작업을 백그라운드로 호출합니다. 이때 쓰는 모델은 클라이언트 버전마다 달라서 opencodex는 {models}를 모두 가로챕니다. 이 설정을 켜면 해당 호출이 선택한 모델로 넘어갑니다.", + "dash.shadowCallTooltip": "Codex 앱은 스레드 제목 자동 생성, 커밋 메시지 생성, 스킬 오케스트레이션 같은 내부 작업을 백그라운드로 호출합니다. 이때 쓰는 모델은 클라이언트 버전마다 달라서 opencodex는 {models}를 모두 가로챕니다. 이 설정을 켜면 해당 호출이 선택한 모델로 넘어갑니다. 메모리 통합은 보통 Terra를 사용하며 별도의 메모리 라우팅 패널에서 제어합니다. Terra는 기본 섀도 소스가 아니지만, sourceModels에 명시적으로 추가하면 통합 모델이 설정되지 않은 경우 이 스위치를 통해 통합을 전환할 수 있습니다.", "models.shadowCallIntercept": "쉐도우 호출 가로채기", - "models.shadowCallInterceptHint": "Codex 앱의 백그라운드 호출({models}, 제목·커밋 메시지)을 가로채 선택한 모델로 바꿉니다.", + "models.shadowCallInterceptHint": "Codex 앱의 백그라운드 호출({models}, 제목·커밋 메시지·스킬 오케스트레이션)을 가로채 선택한 모델로 바꿉니다. 메모리 통합(Terra)은 보통 별도의 메모리 라우팅으로 처리됩니다.", "models.autoReviewOverride": "자동 검토 재정의", "models.autoReviewOverrideHint": "Codex의 자동 검토(승인 검토자)에 사용할 모델을 지정합니다. 카탈로그 동기화 시 모든 행에 적용되며, 공급자별 autoReviewModel이 해당 행에서 계속 우선합니다.", "models.autoReviewPending": "보류 중", diff --git a/gui/src/i18n/pt.ts b/gui/src/i18n/pt.ts index 86515085682..da59dca74f8 100644 --- a/gui/src/i18n/pt.ts +++ b/gui/src/i18n/pt.ts @@ -598,13 +598,14 @@ export const pt: Record = { "memoryModels.saved": "Configurações de memória salvas.", "memoryModels.saveFailed": "Não foi possível salvar. Suas alterações continuam aqui; tente novamente.", "dash.shadowCallIntercept": "Shadow Call Intercept", - "dash.shadowCallInterceptHint": "Intercepta as chamadas auxiliares em segundo plano do Codex App ({models}) para geração de títulos e mensagens de commit e as redireciona ao modelo escolhido.", - "dash.shadowCallWarning": "⚠ Quando ativado, TODAS as requisições para {models} serão substituídas pelo modelo selecionado.", + "shadowCall.memoryLabel": "Memória: Terra", + "dash.shadowCallInterceptHint": "Intercepta as chamadas auxiliares em segundo plano do Codex App ({models}) para títulos, mensagens de commit e orquestração de skills. A consolidação de memória normalmente usa Terra e é roteada separadamente pelo Roteamento de memória.", + "dash.shadowCallWarning": "⚠ Quando ativado, TODAS as requisições para {models} serão substituídas pelo modelo selecionado. Terra (consolidação de memória) é roteado separadamente por padrão.", "dash.shadowCallOriginal": "Original", "dash.shadowCallModel": "Modelo substituto", - "dash.shadowCallTooltip": "O Codex App faz chamadas auxiliares em segundo plano para geração de título de thread, geração de mensagem de commit e orquestração de skills. O modelo auxiliar mudou entre versões do cliente, então o opencodex intercepta todos os modelos deste conjunto: {models}. Ative para redirecionar essas chamadas ao modelo escolhido.", + "dash.shadowCallTooltip": "O Codex App faz chamadas auxiliares em segundo plano para geração de título de thread, geração de mensagem de commit e orquestração de skills. O modelo auxiliar mudou entre versões do cliente, então o opencodex intercepta todos os modelos deste conjunto: {models}. Ative para redirecionar essas chamadas ao modelo escolhido. A consolidação de memória normalmente usa Terra e é controlada pelo painel separado de Roteamento de memória. Terra não está entre as fontes shadow padrão, mas uma entrada explícita em sourceModels ainda pode encaminhar a consolidação por esta opção quando nenhum modelo de consolidação estiver configurado.", "models.shadowCallIntercept": "Shadow Call Intercept", - "models.shadowCallInterceptHint": "Intercepta as chamadas auxiliares em segundo plano do Codex App ({models}) para títulos e mensagens de commit e as redireciona ao modelo escolhido.", + "models.shadowCallInterceptHint": "Intercepta as chamadas auxiliares em segundo plano do Codex App ({models}) para títulos, mensagens de commit e orquestração de skills. A consolidação de memória (Terra) normalmente é roteada separadamente pelo Roteamento de memória.", "models.autoReviewOverride": "Substituição da revisão automática", "models.autoReviewOverrideHint": "Define o modelo que o Codex usa na revisão automática (revisor de aprovação). Aplicado a todas as linhas do catálogo na sincronização; um autoReviewModel no provedor continua tendo prioridade nas próprias linhas.", "models.autoReviewPending": "Pendente", diff --git a/gui/src/i18n/ru.ts b/gui/src/i18n/ru.ts index b19c9bb91bc..38265e356f9 100644 --- a/gui/src/i18n/ru.ts +++ b/gui/src/i18n/ru.ts @@ -585,13 +585,14 @@ export const ru: Record = { "memoryModels.saved": "Настройки памяти сохранены.", "memoryModels.saveFailed": "Не удалось сохранить. Ваши изменения на месте; попробуйте снова.", "dash.shadowCallIntercept": "Перехват теневых вызовов", - "dash.shadowCallInterceptHint": "Перехватывает фоновые служебные вызовы Codex App ({models}: генерация заголовков, сообщений коммитов) и перенаправляет их на выбранную вами модель.", - "dash.shadowCallWarning": "⚠ Когда функция включена, ВСЕ запросы к {models} будут заменены выбранной моделью.", + "shadowCall.memoryLabel": "Память: Terra", + "dash.shadowCallInterceptHint": "Перехватывает фоновые служебные вызовы Codex App ({models}: заголовки, сообщения коммитов, оркестрация навыков) и перенаправляет их на выбранную вами модель. Консолидация памяти обычно выполняется на Terra и управляется отдельной маршрутизацией памяти.", + "dash.shadowCallWarning": "⚠ Когда функция включена, ВСЕ запросы к {models} будут заменены выбранной моделью. Terra (консолидация памяти) по умолчанию маршрутизируется отдельно.", "dash.shadowCallOriginal": "Оригинал", "dash.shadowCallModel": "Модель-замена", - "dash.shadowCallTooltip": "Codex App в фоновом режиме вызывает служебную модель для генерации заголовков тредов, сообщений коммитов и оркестрации навыков. Эта модель менялась между версиями клиента, поэтому opencodex перехватывает весь набор: {models}. Включите функцию, чтобы перенаправлять такие вызовы на выбранную вами модель.", + "dash.shadowCallTooltip": "Codex App в фоновом режиме вызывает служебную модель для генерации заголовков тредов, сообщений коммитов и оркестрации навыков. Эта модель менялась между версиями клиента, поэтому opencodex перехватывает весь набор: {models}. Включите функцию, чтобы перенаправлять такие вызовы на выбранную вами модель. Консолидация памяти обычно выполняется на Terra и управляется отдельной панелью маршрутизации памяти. Terra не входит в стандартные источники shadow, но явная запись в sourceModels всё равно может направить консолидацию через этот переключатель, если модель консолидации не настроена.", "models.shadowCallIntercept": "Перехват теневых вызовов", - "models.shadowCallInterceptHint": "Перехватывает фоновые служебные вызовы Codex App ({models}: заголовки, сообщения коммитов) и перенаправляет их на выбранную вами модель.", + "models.shadowCallInterceptHint": "Перехватывает фоновые служебные вызовы Codex App ({models}: заголовки, сообщения коммитов, оркестрация навыков) и перенаправляет их на выбранную вами модель. Консолидация памяти (Terra) обычно маршрутизируется отдельно.", "models.autoReviewOverride": "Переопределение авто-проверки", "models.autoReviewOverrideHint": "Задаёт модель, которую Codex использует для автоматической проверки (ревьюера подтверждений). Применяется ко всем строкам каталога при синхронизации; autoReviewModel на уровне провайдера по-прежнему имеет приоритет.", "models.autoReviewPending": "Ожидание", diff --git a/gui/src/i18n/tr.ts b/gui/src/i18n/tr.ts index 045137082a9..5cb0a7c508c 100644 --- a/gui/src/i18n/tr.ts +++ b/gui/src/i18n/tr.ts @@ -586,13 +586,14 @@ export const tr: Record = { "memoryModels.saved": "Bellek ayarları kaydedildi.", "memoryModels.saveFailed": "Kaydedilemedi. Değişiklikleriniz duruyor; tekrar deneyin.", "dash.shadowCallIntercept": "Gölge Çağrı Yakalama", - "dash.shadowCallInterceptHint": "Codex App'in arka plan yardımcı çağrılarını ({models}) başlık oluşturma ve commit mesajları için yakalar ve seçtiğiniz modele yönlendirir.", - "dash.shadowCallWarning": "⚠ Etkinleştirildiğinde, {models} için olan TÜM istekler seçilen modelle değiştirilecektir.", + "shadowCall.memoryLabel": "Bellek: Terra", + "dash.shadowCallInterceptHint": "Codex App'in başlık, commit mesajı ve beceri orkestrasyonu için yaptığı arka plan yardımcı çağrılarını ({models}) yakalar ve seçtiğiniz modele yönlendirir. Bellek birleştirme normalde Terra ile çalışır ve ayrı Bellek yönlendirmesi üzerinden denetlenir.", + "dash.shadowCallWarning": "⚠ Etkinleştirildiğinde, {models} için olan TÜM istekler seçilen modelle değiştirilecektir. Terra (bellek birleştirme) varsayılan olarak ayrı yönlendirilir.", "dash.shadowCallOriginal": "Orijinal", "dash.shadowCallModel": "Yedek model", - "dash.shadowCallTooltip": "Codex App arka planda başlık ve commit mesajı oluşturmak için yardımcı çağrılar yapar (orijinal {models}). Etkinleştirerek bunları seçtiğiniz modele yönlendirebilirsiniz.", + "dash.shadowCallTooltip": "Codex App arka planda başlık, commit mesajı ve beceri orkestrasyonu için yardımcı çağrılar yapar (orijinal {models}). Etkinleştirerek bunları seçtiğiniz modele yönlendirebilirsiniz. Bellek birleştirme normalde Terra kullanır ve ayrı Bellek yönlendirmesi panelinden denetlenir. Terra varsayılan shadow kaynakları arasında değildir; ancak sourceModels içine açıkça eklenirse, bir birleştirme modeli ayarlanmadığında birleştirmeyi bu anahtar üzerinden yönlendirebilir.", "models.shadowCallIntercept": "Gölge Çağrı Yakalama", - "models.shadowCallInterceptHint": "Codex App'in başlıklar ve commit mesajları için yaptığı arka plan çağrılarını ({models}) yakalar ve seçtiğiniz modele yönlendirir.", + "models.shadowCallInterceptHint": "Codex App'in başlıklar, commit mesajları ve beceri orkestrasyonu için yaptığı arka plan çağrılarını ({models}) yakalar ve seçtiğiniz modele yönlendirir. Bellek birleştirme (Terra) normalde ayrı Bellek yönlendirmesi üzerinden yapılır.", "models.autoReviewOverride": "Otomatik inceleme geçersiz kılma", "models.autoReviewOverrideHint": "Codex’in otomatik incelemesi (onay gözden geçiren) için kullanılacak modeli seçer. Katalog eşitlemesinde tüm satırlara uygulanır; sağlayıcıya özel autoReviewModel kendi satırlarında yine önceliklidir.", "models.autoReviewPending": "Beklemede", diff --git a/gui/src/i18n/vi.ts b/gui/src/i18n/vi.ts index b53ab8972d2..f2fc9d7ea12 100644 --- a/gui/src/i18n/vi.ts +++ b/gui/src/i18n/vi.ts @@ -584,13 +584,14 @@ export const vi: Record = { "memoryModels.saved": "Đã lưu cài đặt bộ nhớ.", "memoryModels.saveFailed": "Không lưu được. Thay đổi của bạn vẫn còn; hãy thử lại.", "dash.shadowCallIntercept": "Shadow Call Intercept", - "dash.shadowCallInterceptHint": "Chặn các lệnh gọi helper nền ({models}) của ứng dụng Codex để tạo tiêu đề và commit messages, sau đó chuyển hướng chúng đến model bạn đã chọn.", - "dash.shadowCallWarning": "⚠ Khi được bật, TẤT CẢ yêu cầu đối với {models} sẽ được thay thế bằng model được chọn.", + "shadowCall.memoryLabel": "Bộ nhớ: Terra", + "dash.shadowCallInterceptHint": "Chặn các lệnh gọi helper nền ({models}) của ứng dụng Codex để tạo tiêu đề, commit message và điều phối kĩ năng, sau đó chuyển hướng chúng đến model bạn đã chọn. Hợp nhất bộ nhớ thường chạy trên Terra và được định tuyến riêng trong Định tuyến bộ nhớ.", + "dash.shadowCallWarning": "⚠ Khi được bật, TẤT CẢ yêu cầu đối với {models} sẽ được thay thế bằng model được chọn. Terra (hợp nhất bộ nhớ) mặc định được định tuyến riêng.", "dash.shadowCallOriginal": "Gốc", "dash.shadowCallModel": "Model thay thế", - "dash.shadowCallTooltip": "Ứng dụng Codex thực hiện các lệnh gọi helper ngầm để tạo tiêu đề chuỗi, tạo commit message và điều phối các kĩ năng. Helper model có thể thay đổi giữa các phiên bản client, do đó opencodex chặn mọi model trong tập hợp này: {models}. Hãy bật tính năng này để chuyển hướng các lệnh gọi đó đến model bạn chọn.", + "dash.shadowCallTooltip": "Ứng dụng Codex thực hiện các lệnh gọi helper ngầm để tạo tiêu đề chuỗi, tạo commit message và điều phối các kĩ năng. Helper model có thể thay đổi giữa các phiên bản client, do đó opencodex chặn mọi model trong tập hợp này: {models}. Hãy bật tính năng này để chuyển hướng các lệnh gọi đó đến model bạn chọn. Hợp nhất bộ nhớ thường dùng Terra và được điều khiển bởi bảng Định tuyến bộ nhớ riêng. Terra không nằm trong các nguồn shadow mặc định, nhưng một mục sourceModels được đặt rõ ràng vẫn có thể đưa hợp nhất qua công tắc này khi chưa cấu hình model hợp nhất.", "models.shadowCallIntercept": "Shadow Call Intercept", - "models.shadowCallInterceptHint": "Chặn các lệnh gọi helper nền ({models}) của ứng dụng Codex để tạo tiêu đề và commit messages, và chuyển hướng chúng đến model bạn chọn.", + "models.shadowCallInterceptHint": "Chặn các lệnh gọi helper nền ({models}) của ứng dụng Codex để tạo tiêu đề, commit message và điều phối kĩ năng, rồi chuyển hướng chúng đến model bạn chọn. Hợp nhất bộ nhớ (Terra) thường được định tuyến riêng trong Định tuyến bộ nhớ.", "models.autoReviewOverride": "Ghi đè duyệt tự động", "models.autoReviewOverrideHint": "Chọn model Codex dùng cho việc duyệt tự động (mô hình đánh giá phê duyệt). Áp dụng cho mọi hàng trong catalog khi đồng bộ; autoReviewModel ở cấp nhà cung cấp vẫn được ưu tiên trên các hàng đó.", "models.autoReviewPending": "Đang chờ", diff --git a/gui/src/i18n/zh-TW.ts b/gui/src/i18n/zh-TW.ts index e7d73063988..eee8b6c7ced 100644 --- a/gui/src/i18n/zh-TW.ts +++ b/gui/src/i18n/zh-TW.ts @@ -461,13 +461,14 @@ export const zhTW: Record = { "memoryModels.saved": "記憶設定已儲存。", "memoryModels.saveFailed": "儲存失敗。你的變更還在,請再試一次。", "dash.shadowCallIntercept": "影子呼叫攔截", - "dash.shadowCallInterceptHint": "攔截 Codex 應用的背景 helper 呼叫({models})以生成標題與提交訊息,並將它們重定向到您選擇的模型。", - "dash.shadowCallWarning": "⚠ 啟用後,{models} 的所有請求將被替換為所選模型。", + "shadowCall.memoryLabel": "記憶: Terra", + "dash.shadowCallInterceptHint": "攔截 Codex 應用的背景 helper 呼叫({models}:標題、提交訊息、技能編排),並將它們重定向到您選擇的模型。記憶合併通常使用 Terra 執行,並由獨立的記憶路由控制。", + "dash.shadowCallWarning": "⚠ 啟用後,{models} 的所有請求將被替換為所選模型。Terra(記憶合併)預設會透過獨立的記憶路由處理。", "dash.shadowCallOriginal": "原始", "dash.shadowCallModel": "替代模型", - "dash.shadowCallTooltip": "Codex 應用會為執行緒標題生成、提交訊息生成與技能編排發出背景 helper 呼叫。helper 模型因客戶端版本而異,因此 opencodex 攔截此集合中的每個模型:{models}。啟用此選項可將這些呼叫重定向到您選擇的模型。", + "dash.shadowCallTooltip": "Codex 應用會為執行緒標題生成、提交訊息生成與技能編排發出背景 helper 呼叫。helper 模型因客戶端版本而異,因此 opencodex 攔截此集合中的每個模型:{models}。啟用此選項可將這些呼叫重定向到您選擇的模型。記憶合併通常使用 Terra,並由獨立的記憶路由面板控制。Terra 不在預設的影子呼叫來源中,但明確加入 sourceModels 後,在未設定合併模型時仍可透過此開關轉送合併請求。", "models.shadowCallIntercept": "影子呼叫攔截", - "models.shadowCallInterceptHint": "攔截 Codex 應用的背景 helper 呼叫({models})以生成標題與提交訊息,並將它們重定向到您選擇的模型。", + "models.shadowCallInterceptHint": "攔截 Codex 應用的背景 helper 呼叫({models}:標題、提交訊息、技能編排)並重定向到您選擇的模型。記憶合併(Terra)通常會透過獨立的記憶路由處理。", "models.autoReviewOverride": "自動審查覆寫", "models.autoReviewOverrideHint": "指定 Codex 自動審查(核准審查模型)所使用的模型。同步型錄時套用到所有資料列;提供者層級的 autoReviewModel 在這些資料列上仍具優先權。", "models.autoReviewPending": "待定", diff --git a/gui/src/i18n/zh.ts b/gui/src/i18n/zh.ts index b44f55410ef..d6f9d038dd3 100644 --- a/gui/src/i18n/zh.ts +++ b/gui/src/i18n/zh.ts @@ -580,13 +580,14 @@ export const zh: Record = { "memoryModels.saved": "记忆设置已保存。", "memoryModels.saveFailed": "保存失败。你的改动仍在,请重试。", "dash.shadowCallIntercept": "影子调用拦截", - "dash.shadowCallInterceptHint": "拦截 Codex 应用的后台辅助调用({models}:标题生成、提交消息)并重定向到所选模型。", - "dash.shadowCallWarning": "⚠ 启用后,所有对 {models} 的请求都将被替换为所选模型。", + "shadowCall.memoryLabel": "记忆: Terra", + "dash.shadowCallInterceptHint": "拦截 Codex 应用的后台辅助调用({models}:标题生成、提交消息、技能编排)并重定向到所选模型。记忆整合通常由 Terra 运行,并通过单独的记忆路由控制。", + "dash.shadowCallWarning": "⚠ 启用后,所有对 {models} 的请求都将被替换为所选模型。Terra(记忆整合)默认通过单独的记忆路由处理。", "dash.shadowCallOriginal": "原始", "dash.shadowCallModel": "替代模型", - "dash.shadowCallTooltip": "Codex 应用会在后台调用辅助模型来生成线程标题、提交消息以及进行技能编排。该模型随客户端版本变化,因此 opencodex 会同时拦截这些模型:{models}。启用此选项可将这些调用重定向到您选择的模型。", + "dash.shadowCallTooltip": "Codex 应用会在后台调用辅助模型来生成线程标题、提交消息以及进行技能编排。该模型随客户端版本变化,因此 opencodex 会同时拦截这些模型:{models}。启用此选项可将这些调用重定向到您选择的模型。记忆整合通常使用 Terra,并由单独的记忆路由面板控制。Terra 不在默认的影子调用源中,但显式加入 sourceModels 后,在未配置整合模型时仍可通过此开关转发整合请求。", "models.shadowCallIntercept": "影子调用拦截", - "models.shadowCallInterceptHint": "拦截 Codex 应用的后台辅助调用({models})并重定向到所选模型。", + "models.shadowCallInterceptHint": "拦截 Codex 应用的后台辅助调用({models}:标题生成、提交消息、技能编排)并重定向到所选模型。记忆整合(Terra)通常通过单独的记忆路由处理。", "models.autoReviewOverride": "自动审查覆盖", "models.autoReviewOverrideHint": "指定 Codex 自动审查(审批审查模型)使用的模型。同步目录时应用于所有行;提供方级的 autoReviewModel 在这些行上仍然优先。", "models.autoReviewPending": "待定", diff --git a/gui/src/pages/Models.tsx b/gui/src/pages/Models.tsx index 96ddcc9e432..6f172b0727f 100644 --- a/gui/src/pages/Models.tsx +++ b/gui/src/pages/Models.tsx @@ -90,7 +90,7 @@ import { DiscoveryDependencyHint, EmptyProviderHint } from "./models-provider-hi import SubagentSurfaceWarningModal from "../components/SubagentSurfaceWarningModal"; import { SUBAGENT_SURFACE_GUIDE_URL, readSubagentSurfaceAdvisory } from "../subagent-surface"; import { shadowCallModelOptions } from "./dashboard-shared"; -import { shadowSourceModelBadge, shadowSourceModelLabel } from "./shadow-call-source"; +import { shadowBackgroundModelBadge, shadowSourceModelLabel } from "./shadow-call-source"; import { ModelCatalogDelivery } from "./models-catalog-state"; import { CustomModelsSummary, InfoHint, ModelsSettingsPanel, SettingsRow } from "./models-settings-panel"; import { modelsSettingsSummary } from "./models-settings-summary"; @@ -1971,7 +1971,7 @@ export default function Models({ apiBase, restartEpoch = 0, connected = false, c ⓘ} busy={!shadowCall}> - {t("models.shadowCallOriginal", { models: shadowSourceModelBadge(shadowCall?.sourceModels) })} + {t("models.shadowCallOriginal", { models: shadowBackgroundModelBadge(shadowCall?.sourceModels, t("shadowCall.memoryLabel")) })} void saveShadowCall({ enabled: !shadowCall?.enabled })} disabled={!shadowCall || shadowCallSaving} label={t("models.shadowCallIntercept")} />