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
2 changes: 1 addition & 1 deletion gui/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ export default function App() {
{page === "dashboard" && <Dashboard apiBase={API_BASE} viewMode={viewMode} />}
{page === "startup" && <Startup apiBase={API_BASE} />}
{page === "providers" && <Providers apiBase={API_BASE} viewMode={viewMode} />}
{page === "models" && <Models apiBase={API_BASE} />}
{page === "models" && <Models apiBase={API_BASE} viewMode={viewMode} />}
{page === "combos" && <Combos apiBase={API_BASE} />}
{page === "subagents" && <Subagents apiBase={API_BASE} />}
{page === "logs" && <Logs apiBase={API_BASE} />}
Expand Down
11 changes: 9 additions & 2 deletions gui/src/i18n/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,9 @@ export const de = {
"models.nativeGroupLabel": "OpenAI nativ",
"models.nativeHint": "Passthrough-Modelle verwenden die unter Anbieter gewählte Pool- oder Direkt-Option. Ausblenden entfernt sie aus der Codex-Auswahl (Katalogeintrag bleibt, Reaktivierung stellt exakt wieder her).",
"models.active": "{active}/{total} aktiv",
"models.workspace.providers": "Anbieter",
"models.workspace.allProviders": "Alle Anbieter",
"models.workspace.mainAria": "Modelldetails",
"models.combosEmpty": "Noch keine Kombos konfiguriert",
"models.combosSetup": "Einrichten",
"models.combosAdd": "Kombo hinzufügen",
Expand All @@ -322,6 +325,7 @@ export const de = {
"models.contextCapped": "350k-Limit",
"models.contextCapLabel": "Kontext-Limit",
"models.v2Label": "Sub-Agent",
"models.shadowCallOriginal": "⚠ 5.4-mini →",
"models.v2DocsLink": "Was ist v1 / v2?",
"models.v2Mode_v1": "v1",
"models.v2Mode_default": "base",
Expand All @@ -332,7 +336,7 @@ export const de = {
"models.v2Help": "Steuert die Multi-Agent-Oberfläche für alle Modelle.\n\nv1: Klassischer Single-Thread-Agent. Jedes Modell nutzt die v1-Collab-Oberfläche.\nbase: Upstream-Standard — sol/terra nutzen v2, luna v1, andere folgen dem Codex-Feature-Flag.\nv2: Multi-Thread-Agent mit spawn_agent. Jedes Modell nutzt die v2-Collab-Oberfläche.\n\nÄnderungen gelten für neue Sitzungen.",
"dash.multiAgent": "Sub-Agent",
"models.v2Conflict": "[agents] max_threads ist gesetzt — codex verweigert den Start; entferne es aus config.toml",
"models.v2Applied": "multi_agent_v2 aktualisiert — gilt für neue Sitzungen (Codex-App neu starten, um die Auswahl zu aktualisieren)",
"models.v2Applied": "Sub-Agent-Modus aktualisiert — gilt für neue Sitzungen (Codex-App neu starten, um die Auswahl zu aktualisieren)",
"models.v2ThreadsLabel": "Max. Threads",
"models.v2ThreadsDefault": "Standard (4)",
"models.v2ThreadsApplied": "Thread-Limit aktualisiert — gilt für neue Sitzungen",
Expand All @@ -341,6 +345,10 @@ export const de = {
"models.capValue": "Limit {value}",
"models.contextCappedValue": "{value}-Limit",
"models.setAll": "Alle setzen",
"models.setAllHint": "Wendet das {value}-Kontext-Limit auf alle gerouteten Anbieter an. Native Anbieter bleiben unberührt.",
"models.collapseAll": "Alle einklappen",
"models.expandAll": "Alle ausklappen",
"models.orderHint": "Reihenfolge in der Modellauswahl: Subagents-Auswahl (in der festgelegten Reihenfolge) → übrige geroutete Modelle alphabetisch nach Anbieter, dann Modell-ID → native Modelle. Sichtbarkeitsschalter filtern nur; sie ändern diese Reihenfolge nicht.",
"models.custom": "Benutzerdefiniert…",
"models.customApply": "Anwenden",
"models.customPlaceholder": "Tokens (z. B. 420000)",
Expand Down Expand Up @@ -393,7 +401,6 @@ export const de = {
"models.allowlistLabel": "Nur ausgewählte",
"models.allowlistHint": "Nur geprüfte Modelle gehen in den Katalog (leer = alle). Nützlich für Anbieter mit tausenden Modellen.",
"models.selectedCount": "{n} ausgewählt",
"models.orderHint": "Reihenfolge in der Modellauswahl: Subagents-Auswahl (in der festgelegten Reihenfolge) → übrige geroutete Modelle alphabetisch nach Anbieter, dann Modell-ID → native Modelle. Sichtbarkeitsschalter filtern nur; sie ändern diese Reihenfolge nicht.",
"sub.subtitle": "Codex {cmd} bewirbt nur die ersten 5 Modelle (nach Priorität) als Overrides. Wähle hier bis zu 5 — natives gpt oder geroutet — und opencodex setzt ihre Katalog-Priorität, sodass genau diese führen. Jedes andere Modell bleibt über seinen exakten Namen aufrufbar; dies steuert nur die Anzeige.",
"sub.featured": "Empfohlen",
"sub.orderHint": "Die hier gewählte und angezeigte Reihenfolge bestimmt die Plätze 1–5 oben in der Codex-Modellauswahl und die Standard-Modellkandidaten für {cmd}.",
Expand Down
11 changes: 9 additions & 2 deletions gui/src/i18n/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,9 @@ export const en = {
"models.nativeGroupLabel": "OpenAI native",
"models.nativeHint": "Passthrough models use the Pool or Direct account option selected on Providers. Toggling one off hides it from the Codex picker (the catalog entry is kept, so re-enabling restores it exactly).",
"models.active": "{active}/{total} active",
"models.workspace.providers": "Providers",
"models.workspace.allProviders": "All providers",
"models.workspace.mainAria": "Model details",
"models.combosEmpty": "No combos configured yet",
"models.combosSetup": "Set up",
"models.combosAdd": "Add combo",
Expand All @@ -338,6 +341,7 @@ export const en = {
"models.contextCapped": "350k cap",
"models.contextCapLabel": "Context cap",
"models.v2Label": "Sub-agent",
"models.shadowCallOriginal": "⚠ 5.4-mini →",
"models.v2DocsLink": "What is v1 / v2?",
"models.v2Mode_v1": "v1",
"models.v2Mode_default": "base",
Expand All @@ -348,7 +352,7 @@ export const en = {
"models.v2Help": "Controls the multi-agent surface for all models.\n\nv1: Classic single-thread agent. Every model uses the v1 collab surface.\nbase: Upstream defaults — sol/terra use v2, luna uses v1, others follow the codex feature flag.\nv2: Multi-thread agent with spawn_agent. Every model uses the v2 collab surface.\n\nChanges apply to new sessions.",
"dash.multiAgent": "Sub-agent",
"models.v2Conflict": "[agents] max_threads is set — codex will refuse to start; remove it from config.toml",
"models.v2Applied": "multi_agent_v2 updated — applies to new sessions (restart the Codex app to refresh the picker)",
"models.v2Applied": "Sub-agent mode updated — applies to new sessions (restart the Codex app to refresh the picker)",
"models.v2ThreadsLabel": "Max threads",
"models.v2ThreadsDefault": "default (4)",
"models.v2ThreadsApplied": "Thread limit updated — applies to new sessions",
Expand All @@ -357,6 +361,10 @@ export const en = {
"models.capValue": "Cap {value}",
"models.contextCappedValue": "{value} cap",
"models.setAll": "Set all",
"models.setAllHint": "Apply the {value} context cap to every routed provider. Native providers are unaffected.",
"models.collapseAll": "Collapse all",
"models.expandAll": "Expand all",
"models.orderHint": "Picker order: Subagents picks (in the selected order) → remaining routed models alphabetically by provider, then model ID → native models. Visibility switches only filter models; they do not change this order.",
"models.custom": "Custom…",
"models.customApply": "Apply",
"models.customPlaceholder": "Tokens (e.g. 420000)",
Expand Down Expand Up @@ -409,7 +417,6 @@ export const en = {
"models.allowlistLabel": "Only selected",
"models.allowlistHint": "Only checked models ship to the catalog (empty = all). Useful for providers exposing thousands of models.",
"models.selectedCount": "{n} selected",
"models.orderHint": "Picker order: Subagents picks (in the selected order) → remaining routed models alphabetically by provider, then model ID → native models. Visibility switches only filter models; they do not change this order.",

// subagents
"sub.subtitle": "Codex's {cmd} advertises only the first 5 models (by priority) as overrides. Pick up to 5 here — native gpt or routed — and opencodex sets their catalog priority so exactly these lead. Any other model is still callable by its exact name; this only controls what's shown.",
Expand Down
11 changes: 9 additions & 2 deletions gui/src/i18n/ja.ts
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,9 @@ export const ja: Record<TKey, string> = {
"models.nativeGroupLabel": "OpenAI ネイティブ",
"models.nativeHint": "パススルーモデルはプロバイダーで選択したプールまたはダイレクトアカウントオプションを使用します。一つオフにすると Codex ピッカーから隠します(カタログエントリは保持されるので、再有効化で正確に復元されます)。",
"models.active": "{active}/{total} アクティブ",
"models.workspace.providers": "プロバイダー",
"models.workspace.allProviders": "すべてのプロバイダー",
"models.workspace.mainAria": "モデルの詳細",
"models.combosEmpty": "まだコンボが設定されていません",
"models.combosSetup": "セットアップ",
"models.combosAdd": "コンボを追加",
Expand All @@ -330,6 +333,7 @@ export const ja: Record<TKey, string> = {
"models.contextCapped": "350k 上限",
"models.contextCapLabel": "コンテキスト上限",
"models.v2Label": "サブエージェント",
"models.shadowCallOriginal": "⚠ 5.4-mini →",
"models.v2DocsLink": "v1 / v2 とは?",
"models.v2Mode_v1": "v1",
"models.v2Mode_default": "ベース",
Expand All @@ -340,7 +344,7 @@ export const ja: Record<TKey, string> = {
"models.v2Help": "すべてのモデルのマルチエージェントサーフェスを制御します。\n\nv1: クラシックな単一スレッドエージェント。すべてのモデルが v1 コラボサーフェスを使います。\nベース: 上流のデフォルト — sol/terra は v2、luna は v1、それ以外は codex のフィーチャーフラグに従います。\nv2: spawn_agent を備えたマルチスレッドエージェント。すべてのモデルが v2 コラボサーフェスを使います。\n\n変更は新規セッションに適用されます。",
"dash.multiAgent": "サブエージェント",
"models.v2Conflict": "[agents] max_threads が設定されています — codex は起動を拒否します; config.toml から削除してください",
"models.v2Applied": "multi_agent_v2 を更新しました — 新規セッションに適用(ピッカーを更新するには Codex アプリを再起動)",
"models.v2Applied": "サブエージェントモードを更新しました — 新規セッションに適用(ピッカーを更新するには Codex アプリを再起動)",
"models.v2ThreadsLabel": "最大スレッド数",
"models.v2ThreadsDefault": "デフォルト (4)",
"models.v2ThreadsApplied": "スレッド上限を更新しました — 新規セッションに適用",
Expand All @@ -349,6 +353,10 @@ export const ja: Record<TKey, string> = {
"models.capValue": "上限 {value}",
"models.contextCappedValue": "{value} 上限",
"models.setAll": "すべて設定",
"models.setAllHint": "{value} のコンテキスト上限をすべてのルーティング済みプロバイダーに適用します。ネイティブプロバイダーには影響しません。",
"models.collapseAll": "すべて折りたたむ",
"models.expandAll": "すべて展開",
"models.orderHint": "ピッカーの順序: サブエージェントの選択(選択順) → 残りのルーティングモデルはプロバイダー別、次にモデル ID 別のアルファベット順 → ネイティブモデル。表示切り替えはモデルをフィルタするだけで、この順序は変更しません。",
"models.custom": "カスタム…",
"models.customApply": "適用",
"models.customPlaceholder": "トークン (例: 420000)",
Expand All @@ -374,7 +382,6 @@ export const ja: Record<TKey, string> = {
"models.allowlistLabel": "選択のみ",
"models.allowlistHint": "チェックしたモデルのみカタログに送信します(空 = すべて)。数千のモデルを公開するプロバイダーで有用です。",
"models.selectedCount": "{n} 件選択",
"models.orderHint": "ピッカーの順序: サブエージェントの選択(選択順) → 残りのルーティングモデルはプロバイダー別、次にモデル ID 別のアルファベット順 → ネイティブモデル。表示切り替えはモデルをフィルタするだけで、この順序は変更しません。",

// subagents
"sub.subtitle": "Codex の {cmd} は最初の 5 モデル(優先度順)のみをオーバーライドとして通知します。ここで最大 5 つを選んでください — ネイティブ gpt またはルーティング — opencodex がカタログ優先度を設定し、これらが先頭に来るようにします。他のモデルも正確な名前で呼び出し可能です; これは表示のみを制御します。",
Expand Down
11 changes: 9 additions & 2 deletions gui/src/i18n/ko.ts
Original file line number Diff line number Diff line change
Expand Up @@ -320,6 +320,9 @@ export const ko: Record<TKey, string> = {
"models.nativeGroupLabel": "OpenAI 네이티브",
"models.nativeHint": "프로바이더에서 선택한 풀 또는 직접 계정 옵션으로 서빙되는 passthrough 모델입니다. 끄면 Codex 선택기에서 숨겨지고, 카탈로그 항목은 유지되므로 다시 켜면 그대로 복원됩니다.",
"models.active": "{active}/{total} 활성",
"models.workspace.providers": "프로바이더",
"models.workspace.allProviders": "모든 프로바이더",
"models.workspace.mainAria": "모델 세부정보",
"models.combosEmpty": "아직 설정된 콤보가 없습니다",
"models.combosSetup": "설정하기",
"models.combosAdd": "콤보 추가하기",
Expand All @@ -332,6 +335,7 @@ export const ko: Record<TKey, string> = {
"models.contextCapped": "350k 제한",
"models.contextCapLabel": "컨텍스트 제한",
"models.v2Label": "서브에이전트",
"models.shadowCallOriginal": "⚠ 5.4-mini →",
"models.v2Mode_v1": "v1",
"models.v2Mode_default": "base",
"models.v2Mode_v2": "v2",
Expand All @@ -342,7 +346,7 @@ export const ko: Record<TKey, string> = {
"models.v2DocsLink": "v1 / v2가 뭔가요?",
"dash.multiAgent": "서브에이전트",
"models.v2Conflict": "[agents] max_threads가 남아 있어 codex가 부팅을 거부합니다 — config.toml에서 제거하세요",
"models.v2Applied": "multi_agent_v2 변경됨 — 새 세션부터 적용 (피커 갱신은 Codex 앱 재시작)",
"models.v2Applied": "서브에이전트 모드 변경됨 — 새 세션부터 적용 (피커 갱신은 Codex 앱 재시작)",
"models.v2ThreadsLabel": "최대 스레드",
"models.v2ThreadsDefault": "기본값 (4)",
"models.v2ThreadsApplied": "스레드 한도 변경됨 — 새 세션부터 적용",
Expand All @@ -351,6 +355,10 @@ export const ko: Record<TKey, string> = {
"models.capValue": "{value} 제한",
"models.contextCappedValue": "{value} 제한",
"models.setAll": "전체 적용",
"models.setAllHint": "{value} 컨텍스트 상한을 라우팅된 모든 프로바이더에 적용합니다. 네이티브 프로바이더는 영향을 받지 않습니다.",
"models.collapseAll": "모두 접기",
"models.expandAll": "모두 펼치기",
"models.orderHint": "피커 순서: Subagents에서 지정한 순서 → 나머지 라우팅 모델(프로바이더, 모델 ID 순 알파벳 정렬) → 네이티브 모델. 노출 토글은 모델을 필터링할 뿐 이 순서를 바꾸지 않습니다.",
"models.custom": "직접 입력…",
"models.customApply": "적용",
"models.customPlaceholder": "토큰 (예: 420000)",
Expand Down Expand Up @@ -403,7 +411,6 @@ export const ko: Record<TKey, string> = {
"models.allowlistLabel": "선택만 노출",
"models.allowlistHint": "체크한 모델만 카탈로그에 노출돼요 (비우면 전체). 수천 개 모델을 노출하는 프로바이더에 유용해요.",
"models.selectedCount": "{n}개 선택",
"models.orderHint": "피커 순서: Subagents에서 지정한 순서 → 나머지 라우팅 모델(프로바이더, 모델 ID 순 알파벳 정렬) → 네이티브 모델. 노출 토글은 모델을 필터링할 뿐 이 순서를 바꾸지 않습니다.",

// subagents
"sub.subtitle": "Codex의 {cmd} 는 우선순위 상위 5개 모델만 오버라이드로 노출합니다. 여기서 최대 5개를 선택하면 — 네이티브 gpt 또는 라우팅된 모델 — opencodex가 카탈로그 우선순위를 설정해 정확히 이들이 앞에 옵니다. 다른 모델도 정확한 이름으로 호출할 수 있으며, 이 설정은 표시 항목만 제어합니다.",
Expand Down
Loading
Loading