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
23 changes: 16 additions & 7 deletions docs-site/src/content/docs/fr/guides/sub-agent-surface.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ description: Contrôlez la manière dont Codex génère et gère les sous-agents

## Que sont les sous-agents

Un sous-agent est un travailleur Codex distinct que l'agent principal peut créer pour une tâche ciblée. Il a son
son propre contexte et ses propres outils, afin que plusieurs tâches indépendantes puissent s'exécuter en parallèle. opencodex contrôle lequel
La surface de collaboration Codex expose ces travailleurs, quels modèles Codex leur propose et comment un
Un sous-agent est un travailleur Codex distinct que l'agent principal peut créer pour une tâche ciblée. Il possède
son propre contexte et ses propres outils, afin que plusieurs tâches indépendantes puissent s'exécuter en parallèle. opencodex contrôle
quelle surface de collaboration Codex expose ces travailleurs, quels modèles Codex leur propose et comment
un modèle défaillant peut reculer. Il ne décide pas quand votre agent principal doit déléguer.

## Modes
Expand All @@ -20,6 +20,12 @@ Choisissez le mode pour les **nouvelles sessions**. Les sessions existantes cons
| **base** (par défaut) | Paramètres de modèle en amont : GPT-5.6 Sol/Terra utilisent la v2, Luna utilise la v1, et les modèles non définis explicitement suivent l’indicateur de fonctionnalité `multi_agent_v2` de Codex. | La plupart des utilisateurs. Ce mode respecte la surface prévue par Codex pour chaque modèle, sans en imposer une globalement. |
| **v2** | Outils plats `spawn_agent`, `send_message`, `followup_task`, `interrupt_agent` et liste d'agents, avec sessions simultanées. | Utilisateurs souhaitant utiliser le flux de travail simultané le plus récent et comprenant l'héritage de modèle et la limitation des tâches chiffrées ci-dessous. |

En **v2**, l'option facultative **Garder ChatGPT sur v1** (`keepNativeChatGptOnV1`) laisse Sol/Terra
sur la surface v1 afin qu'ils puissent encore lancer Grok ou Claude. Les parents natifs ChatGPT
chiffrent les corps `NEW_TASK` v2 ; les modèles routés ne peuvent pas les lire. Les parents routés
restent sur v2, où les tâches enfants sont en texte clair. C'est un interrupteur *à l'intérieur*
de v2, pas un quatrième mode de catalogue. CLI : `ocx v2 mode v2` puis `ocx v2 keep-native-v1 on`.

:::tip[Pas sûr ?]
Commencez par **base**. Choisissez **v1** lorsque la délégation entre fournisseurs doit fonctionner de manière prévisible. Forcer **v2**
uniquement lorsque vous souhaitez spécifiquement son modèle de session le plus récent dans chaque entrée de catalogue.
Expand All @@ -31,7 +37,7 @@ Le mode sélectionné contrôle le champ `multi_agent_version` dans chaque entr

- **v1** inscrit `multi_agent_version = "v1"` sur chaque modèle.
- **base** restaure les paramètres en amont. Les entrées sans valeur explicite suivent l’indicateur de fonctionnalité natif `multi_agent_v2`.
- **v2** inscrit `multi_agent_version = "v2"` sur chaque modèle.
- **v2** inscrit `multi_agent_version = "v2"` sur chaque modèle, sauf lorsque **Garder ChatGPT sur v1** est activé : les lignes natives ChatGPT restent `"v1"` et les lignes routées ou combo restent `"v2"`.

opencodex applique cela comme passe finale à la fois au catalogue `/v1/models` en direct et au catalogue synchronisé
sur le disque. C'est pourquoi un changement de mode affecte de manière cohérente les sessions App, CLI et TUI nouvellement créées.
Expand Down Expand Up @@ -115,9 +121,9 @@ apparaît plus tôt dans la chaîne.

## Livraison de tâches v2 cryptées

Codex peut envoyer une tâche enfant v2 native vers routé uniquement sous forme `encrypted_content` chiffrée par le backend. Cela
la charge utile peut être lue par le backend natif ChatGPT, mais pas par un fournisseur externe. C'est le
connue [#92 limitation](https://github.com/lidge-jun/opencodex/issues/92).
Codex peut envoyer une tâche enfant v2 native vers routé uniquement sous forme `encrypted_content` chiffrée par le backend. Cette
charge utile peut être lue par le backend natif ChatGPT, mais pas par un fournisseur externe. C'est la
limitation connue [#92](https://github.com/lidge-jun/opencodex/issues/92).

opencodex échoue en toute sécurité au lieu de transférer une tâche vide ou illisible :

Expand Down Expand Up @@ -157,6 +163,7 @@ canoniques pour les tâches chiffrées.

- **Tableau de bord** → première cellule statistique : choisissez **v1**, **base** ou **v2**.
- **Modèles** → contrôle segmenté de la rangée supérieure : choisissez le même mode global.
- **Modèles** → **Garder ChatGPT sur v1** : activez cette option uniquement lorsque le mode global est **v2**. Elle est ignorée en **v1** et **base**.
- **Tableau de bord** → **Délégation de sous-agent** : définissez les conseils model/effort et l'activation explicite natif par défaut.
- **Sous-agents** : choisissez et ordonnez la liste, puis configurez la chaîne de repli globale.

Expand All @@ -169,6 +176,8 @@ ocx v2 status
ocx v2 mode v1
ocx v2 mode default
ocx v2 mode v2
ocx v2 keep-native-v1 on
ocx v2 keep-native-v1 off
ocx v2 threads 8
```

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Les paramètres des agents déterminent la surface de collaboration Codex annonc
| Champ | Type | Valeur par défaut | Signification |
| --- | --- | --- | --- |
| `multiAgentMode?` | `"v1" \| "default" \| "v2"` | `"default"` | `v1` marque tous les modèles du catalogue comme compatibles v1 ; `v2` les marque tous comme compatibles v2. `default` rétablit les choix imposés en amont (Sol/Terra en v2, Luna en v1) et suit sinon l’indicateur natif `multi_agent_v2`. S’applique aux nouvelles sessions. |
| `keepNativeChatGptOnV1?` | `boolean` | `false` | Lorsque `multiAgentMode` vaut `"v2"`, marque les lignes natives ChatGPT (Sol/Terra et les autres modèles du backend ChatGPT) comme v1. Les parents routés restent en v2. Utilisez cette option pour qu'un parent ChatGPT puisse encore lancer Grok ou Claude — les tâches enfants v2 natives sont chiffrées par le service en amont ([#92](https://github.com/lidge-jun/opencodex/issues/92)). Ignoré en `v1` et `default`. |
| `subagentModels?` | `string[]` | `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-5.4-mini` | Jusqu’à cinq identifiants de modèles natifs non qualifiés, qualifiés par un compte sous la forme `<selector>/<native-openai-model>`, ou routés sous la forme `provider/model`, affichés en tête du sélecteur de sous-agents. Le tableau de bord ne propose que les identifiants natifs non qualifiés et les identifiants routés ; lors de l’enregistrement, il omet les choix exacts qualifiés par un compte. Pour les définir, utilisez `ocx agent subagents set` ou modifiez la configuration. Une liste explicitement vide est conservée. |
| `injectionModel?` | `string` | — | Modèle de sous-agent natif ou routé privilégié dans les consignes de délégation v2 produites par le proxy. |
| `injectionEffort?` | `string` | — | Niveau d’effort privilégié (de `low` à `ultra`), pertinent uniquement avec `injectionModel`. |
Expand All @@ -23,7 +24,7 @@ Les paramètres des agents déterminent la surface de collaboration Codex annonc
| `subagentEffortCap?` | `string` | — | Plafond supplémentaire réservé aux tours enfants créés. Lorsque les deux plafonds s’appliquent, le plus bas l’emporte. |
| `agentTaskRecovery?` | `object` | — | Mécanisme expérimental, soumis à activation explicite, pour récupérer les tâches v2 chiffrées par le service en amont lorsqu’elles sont envoyées à des fournisseurs routés. Désactivé sauf si `enabled: true` ; voir [Récupération des tâches v2 chiffrées](#récupération-des-tâches-v2-chiffrées). |

Gérez la surface depuis le tableau de bord ou avec `ocx v2 status|on|off|mode <v1|default|v2>|threads <n>|mode-hint <text|--clear>`. Les changements de mode s’appliquent aux nouvelles sessions. `maxConcurrentThreadsPerSession` est un champ de `PUT /api/v2`, et non une clé de `config.json`. Après l’activation de v2, `ocx v2 threads <n>` écrit `max_concurrent_threads_per_session` sous `[features.multi_agent_v2]` dans le fichier `$CODEX_HOME/config.toml` de Codex.
Gérez la surface depuis le tableau de bord ou avec `ocx v2 status|on|off|mode <v1|default|v2>|keep-native-v1 <on|off>|threads <n>|mode-hint <text|--clear>`. Les changements de mode s’appliquent aux nouvelles sessions. `maxConcurrentThreadsPerSession` est un champ de `PUT /api/v2`, et non une clé de `config.json`. Après l’activation de v2, `ocx v2 threads <n>` écrit `max_concurrent_threads_per_session` sous `[features.multi_agent_v2]` dans le fichier `$CODEX_HOME/config.toml` de Codex.

Le **mode Ultra** — accessible depuis l’interrupteur Sous-agents du tableau de bord, le champ `multiAgentModeHintText` de `PUT /api/v2` et `ocx v2 mode-hint` — écrit `features.multi_agent_v2.multi_agent_mode_hint_text` dans le fichier `$CODEX_HOME/config.toml` de Codex. La commande CLI `ocx v2 mode-hint` conserve cette clé même lorsque `multi_agent_v2` est désactivé ; elle n’active ni ne désactive la fonctionnalité. Cette indication remplace la politique multi-agents que codex-rs déduit du niveau d’effort : tous les modèles et tous les niveaux d’effort reçoivent alors le prompt de délégation Proactive. Elle ne modifie **pas** le niveau d’effort de raisonnement.

Expand Down
7 changes: 6 additions & 1 deletion docs-site/src/content/docs/guides/sub-agent-surface.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,11 @@ Choose the mode for **new sessions**. Existing sessions keep the surface they st
| **base** (default) | Upstream model pins: GPT-5.6 Sol/Terra use v2, Luna uses v1, and unpinned models follow Codex's `multi_agent_v2` feature flag. | Most users. It follows Codex's intended surface for each model without forcing one globally. |
| **v2** | Flat `spawn_agent`, `send_message`, `followup_task`, `interrupt_agent`, and agent-list tools, with concurrent sessions. | Users who want the newer concurrent workflow and understand model inheritance and the encrypted-task limitation below. |

On **v2**, an optional **Keep ChatGPT on v1** switch (`keepNativeChatGptOnV1`) leaves Sol/Terra
on the v1 surface so they can still spawn Grok or Claude. ChatGPT-native parents encrypt v2
`NEW_TASK` bodies; routed models cannot read them. Routed parents stay on v2, where child tasks
are plaintext. This is a switch *inside* v2, not a fourth catalog mode.
Comment thread
coderabbitai[bot] marked this conversation as resolved.

:::tip[Not sure?]
Start with **base**. Choose **v1** when cross-provider delegation must work predictably. Force **v2**
only when you specifically want its newer session model across every catalog entry.
Expand All @@ -31,7 +36,7 @@ The selected mode controls the `multi_agent_version` field in every catalog entr

- **v1** stamps `multi_agent_version = "v1"` on every model.
- **base** restores upstream pins. Unpinned entries follow the native `multi_agent_v2` feature flag.
- **v2** stamps `multi_agent_version = "v2"` on every model.
- **v2** stamps `multi_agent_version = "v2"` on every model, except when **Keep ChatGPT on v1** is enabled: ChatGPT-native rows stay `"v1"` and routed or combo rows stay `"v2"`.

opencodex applies this as the final pass to both the live `/v1/models` catalog and the catalog synced
to disk. That is why a mode change affects newly created App, CLI, and TUI sessions consistently.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ description: Codex がすべてのモデルにわたってサブエージェン

- **v1** はすべてのモデルに `multi_agent_version = "v1"` を刻印します。
- **base** は上流のピンを復元します。固定されていないエントリは、ネイティブ `multi_agent_v2` 機能フラグに従います。
- **v2** はすべてのモデルに `multi_agent_version = "v2"` のスタンプを押します。
- **v2** はすべてのモデルに `multi_agent_version = "v2"` のスタンプを押します。ただし **ChatGPT を v1 に保つ** を有効にした場合は例外で、ChatGPT ネイティブの行は `"v1"` のまま、ルーティング/コンボの行は `"v2"` になります。

opencodex は、これを最終パスとしてライブ `/v1/models` カタログとディスクに同期されたカタログの両方に適用します。そのため、モードの変更は、新しく作成されたアプリ、CLI、および TUI セッションに一貫して影響します。

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ description: Codex가 모든 모델에서 서브에이전트를 생성하고 관

- **v1**은 모든 모델에 `multi_agent_version = "v1"`을 설정합니다.
- **base**는 업스트림 핀을 복원합니다. 핀이 없는 항목은 기본 `multi_agent_v2` 기능 플래그를 따릅니다.
- **v2**는 모든 모델에 `multi_agent_version = "v2"`를 설정합니다.
- **v2**는 모든 모델에 `multi_agent_version = "v2"`를 설정합니다. 단 **ChatGPT를 v1로 유지**를 켜면 예외입니다: ChatGPT 네이티브 항목은 `"v1"`로 남고, 라우팅/콤보 항목은 `"v2"`가 됩니다.

opencodex는 이 값을 Codex가 읽는 실시간 `/v1/models` 카탈로그와 디스크에 동기화된 카탈로그 모두에 마지막 단계로 적용합니다. 그래서 모드를 바꾸면 새로 만들어지는 App, CLI, TUI 세션에 일관되게 반영됩니다.

Expand Down
5 changes: 3 additions & 2 deletions docs-site/src/content/docs/reference/cli/agents.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ surface modes, delegation, effort, and fallback behavior fit together.
ocx agent subagents set ark/model-a,openai/gpt-5.5
```

### `ocx v2 <status|on|off|mode <v1|default|v2>|threads <n>|mode-hint <text|--clear>>`
### `ocx v2 <status|on|off|mode <v1|default|v2>|keep-native-v1 <on|off>|threads <n>|mode-hint <text|--clear>>`

Manage the Codex `multi_agent_v2` feature flag and the three-state multi-agent surface mode.

Expand All @@ -28,7 +28,8 @@ Manage the Codex `multi_agent_v2` feature flag and the three-state multi-agent s
| `off` | Disable the `multi_agent_v2` feature and resync the catalog. |
| `mode v1` | Force all models to v1, disable native v2, and preserve the active thread limit. |
| `mode default` | Respect upstream model surface pins. |
| `mode v2` | Force all models to v2, enable native v2, and preserve the active thread limit. |
| `mode v2` | Force models to v2, enable native v2, and preserve the active thread limit. ChatGPT-native models are exempt while `keep-native-v1` is on. |
| `keep-native-v1 on\|off` | Under `mode v2`, keep ChatGPT-native models on v1 instead of stamping them v2. |
| `threads <n>` | Set the active v1/v2 thread limit to an integer of at least 1. |
| `mode-hint <text>` | Set the Proactive delegation hint (Ultra mode) for every model and effort. |
| `mode-hint --clear` | Remove the hint so the effort-derived policy (ultra = proactive) resumes. |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ routes, and limits delegated work.
| Field | Type | Default | Meaning |
| --- | --- | --- | --- |
| `multiAgentMode?` | `"v1" \| "default" \| "v2"` | `"default"` | `v1` stamps every catalog model as v1; `v2` stamps every model as v2. `default` restores upstream pins (Sol/Terra v2, Luna v1) and otherwise follows the native `multi_agent_v2` flag. Applies to new sessions. |
| `keepNativeChatGptOnV1?` | `boolean` | `false` | When `multiAgentMode` is `"v2"`, stamp ChatGPT-native rows (Sol/Terra and other ChatGPT-backend models) as v1. Routed parents stay on v2. Use this so a ChatGPT parent can still spawn Grok or Claude — native v2 child tasks are backend-encrypted ([#92](https://github.com/lidge-jun/opencodex/issues/92)). Ignored in `v1` and `default`. |
| `subagentModels?` | `string[]` | `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-5.4-mini` | Up to five bare native, account-qualified `<selector>/<native-openai-model>`, or routed `provider/model` ids featured first in the sub-agent picker. The dashboard offers only bare native and routed ids and omits exact account-qualified choices when it saves; use `ocx agent subagents set` or edit the configuration for exact choices. An explicit empty list is preserved. |
| `injectionModel?` | `string` | — | Preferred native or routed sub-agent model used in proxy-authored v2 delegation guidance. |
| `injectionEffort?` | `string` | — | Preferred effort (`low` through `ultra`), meaningful only with `injectionModel`. |
Expand All @@ -25,7 +26,7 @@ routes, and limits delegated work.
| `agentTaskRecovery?` | `object` | — | Experimental opt-in recovery for backend-encrypted v2 tasks sent to routed providers. Disabled unless `enabled: true`; see [Encrypted v2 task recovery](#encrypted-v2-task-recovery). |

Manage the surface with the dashboard or
`ocx v2 status|on|off|mode <v1|default|v2>|threads <n>|mode-hint <text|--clear>`.
`ocx v2 status|on|off|mode <v1|default|v2>|keep-native-v1 <on|off>|threads <n>|mode-hint <text|--clear>`.
Mode changes apply to new sessions. `maxConcurrentThreadsPerSession` is a `PUT /api/v2` field, not a
`config.json` key; `ocx v2 threads <n>` writes `max_concurrent_threads_per_session` under
`[features.multi_agent_v2]` in Codex's `$CODEX_HOME/config.toml` after v2 is enabled.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Codex:
- **v1** записывает `multi_agent_version = "v1"` для каждой модели.
- **base** восстанавливает upstream pin'ы. У записей без pin'а поведение определяется feature
flag'ом `multi_agent_v2`.
- **v2** записывает `multi_agent_version = "v2"` для каждой модели.
- **v2** записывает `multi_agent_version = "v2"` для каждой модели, кроме случая, когда включён режим **Оставить ChatGPT на v1**: собственные строки ChatGPT остаются `"v1"`, а маршрутизируемые и комбо-строки остаются `"v2"`.

opencodex применяет это как финальный проход и к живому каталогу `/v1/models`, и к каталогу,
синхронизированному на диск. Поэтому смена режима одинаково влияет на новые App-, CLI- и
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ alanını denetler:
- **v1**, her modele `multi_agent_version = "v1"` damgalar.
- **base**, yukarı akış sabitlemelerini geri yükler. Sabitlenmemiş girdiler
yerel `multi_agent_v2` özellik bayrağını takip eder.
- **v2**, her modele `multi_agent_version = "v2"` damgalar.
- **v2**, her modele `multi_agent_version = "v2"` damgalar; ancak **ChatGPT'yi v1'de tut** etkinken bu kural dışıdır: ChatGPT yerel satırları `"v1"` kalır, yönlendirilen ve combo satırları `"v2"` kalır.

opencodex bunu hem canlı `/v1/models` kataloğuna hem de diske senkronize edilen
kataloğa son geçiş olarak uygular. Bir mod değişikliğinin yeni oluşturulan App,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ description: 控制 Codex 如何在所有模型上生成和管理子代理。

- **v1** 会把所有模型的 `multi_agent_version` 设为 `"v1"`。
- **base** 会恢复上游固定值。未固定的条目会遵循原生 `multi_agent_v2` 功能开关。
- **v2** 会把所有模型的 `multi_agent_version` 设为 `"v2"`。
- **v2** 会把所有模型的 `multi_agent_version` 设为 `"v2"`;但启用 **让 ChatGPT 保持 v1** 时例外:ChatGPT 原生条目保持 `"v1"`,路由/组合条目仍为 `"v2"`

opencodex 会把这一点作为最后一步同时应用到实时的 `/v1/models` 目录和同步到磁盘的目录。因此,模式更改会一致影响新建的 App、CLI 和 TUI 会话。

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ opencodex 允許你為目錄中的所有模型選擇多代理協作介面。儀

- **v1 模式**:強制所有條目使用 `multi_agent_version = "v1"`,覆蓋上游固定值。
- **base 模式**:恢復上游預設值。已固定的模型使用快照值;未固定的模型不寫入該欄位,交由 Codex 功能開關決定。
- **v2 模式**:強制所有條目使用 `multi_agent_version = "v2"`,覆蓋上游固定值。
- **v2 模式**:強制所有條目使用 `multi_agent_version = "v2"`,覆蓋上游固定值;但啟用 **讓 ChatGPT 保持 v1** 時例外:ChatGPT 原生條目維持 `"v1"`,路由/組合條目仍為 `"v2"`

無論是即時 `/v1/models` 目錄回應,還是磁碟目錄同步,這項覆蓋都會作為最後一步執行。因此,無論條目原本如何生成,新會話都會使用一致的模式。

Expand Down
Loading
Loading