Skip to content
Merged
22 changes: 13 additions & 9 deletions docs-site/src/content/docs/fr/guides/claude-code.md
Original file line number Diff line number Diff line change
Expand Up @@ -423,7 +423,7 @@ d'OpenCodex, de réappliquer ce profil et de démarrer une nouvelle conversation
dépannage, sans garantie de résolution. OpenCodex ne peut pas observer l'état du sélecteur ; il achemine
l'identifiant du modèle porté par chaque requête. Vérifiez ce que le client envoie sous **Logs → requestedModel**.

Les modèles dont la fenêtre de contexte de référence atteint 1M obtiennent une ligne supplémentaire `…[1m]` dans le sélecteur.
Les modèles dont la fenêtre de contexte de référence atteint 1M ou au moins le seuil de compactage par défaut (829 800) obtiennent une ligne supplémentaire `…[1m]` dans le sélecteur.
Sa sélection indique à Claude Code la fenêtre complète de 1M pour ce modèle, tout en maintenant le compactage automatique ; le proxy retire
le marqueur avant le routage.
La sélection est conservée dans le champ `model` de `settings.json` ; pour les requêtes entrantes, l'alias est de nouveau
Expand Down Expand Up @@ -458,8 +458,10 @@ conservent leurs identifiants canoniques sur les deux interfaces.

### Marqueur `[1m]` de variante contextuelle

Les modèles dont la fenêtre de contexte de référence atteint 1M — ou, avec le contexte automatique, dépasse 200k tout en atteignant
au moins le seuil de compactage — obtiennent une ligne supplémentaire `…[1m]` dans le sélecteur. En la sélectionnant, Claude Code
Les modèles dont la fenêtre de contexte de référence atteint 1M ou au moins le seuil de compactage par défaut (829 800)
obtiennent une ligne supplémentaire `…[1m]` dans le sélecteur. Ce plancher est fixe : modifier la valeur de compactage ne l'abaisse pas,
et un modèle Claude sur une route Anthropic doit réellement atteindre 1M. Sans contexte automatique, seule une fenêtre de 1M compte.
Au-delà de la fenêtre réelle, l'erreur `prompt is too long` déclenche le compactage automatique de Claude Code. En la sélectionnant, Claude Code
tient compte d'un contexte complet de 1M. Le proxy supprime le suffixe `[1m]`, sans tenir compte de la casse, avant la
résolution de l'alias et le routage.

Expand All @@ -468,8 +470,9 @@ résolution de l'alias et le routage.
Claude Code attribue une limite de 200k jetons à tout modèle qu'il ne reconnaît pas. Le **contexte automatique**, activé
par défaut, corrige ce comportement :

1. Les modèles dont la fenêtre réelle dépasse 200k **et** atteint au moins le seuil de compactage automatique obtiennent le
marqueur `[1m]` dans les lignes du sélecteur et les variables d'environnement qui les désignent.
1. Les variables d'environnement de lancement reçoivent le marqueur `[1m]` lorsque la fenêtre réelle dépasse 200k **et**
atteint au moins le seuil de compactage automatique configuré. Les lignes de découverte et du sélecteur Desktop ne suivent pas
ce seuil : elles utilisent le plancher fixe de 829 800 jetons (1M réel pour un modèle Claude sur une route Anthropic).
2. `CLAUDE_CODE_AUTO_COMPACT_WINDOW` (`829800` par défaut, plage `100000`–`1000000`) est injecté afin
que la conversation soit automatiquement résumée à ce seuil.

Expand All @@ -482,8 +485,9 @@ Trois états de configuration :
La valeur de compactage est réglable dans **Connexion → Claude**. **Avertissement :** une valeur supérieure à la fenêtre réelle d'un modèle
rend ce modèle inutilisable : les tours échouent avant que le résumé puisse se déclencher.

Les modèles Anthropic natifs dont le contexte est inférieur à 1M ne sont jamais marqués automatiquement. Les valeurs que vous exportez vous-même
restent prioritaires ; le proxy s'appuie sur votre valeur pour déterminer les modèles qui peuvent recevoir le marqueur sans risque.
Les modèles Anthropic natifs dont le contexte est inférieur à 1M ne sont jamais marqués automatiquement. Une fenêtre de compactage que vous exportez vous-même
reste prioritaire pour le marquage des variables de lancement ; le proxy s'appuie sur votre valeur pour déterminer les modèles qui peuvent recevoir le marqueur sans risque.
Les lignes de découverte ignorent cet export et conservent le plancher fixe.
Les valeurs de configuration invalides définies manuellement reviennent à 829,800.

### Environnement effectif des modèles
Expand Down Expand Up @@ -744,7 +748,7 @@ une valeur `ANTHROPIC_BASE_URL` obsolète. Ouvrez un nouveau terminal ou réexé

**Plafond de contexte 200k malgré un grand modèle** — Sélectionnez la variante `[1m]` dans le sélecteur ou activez
le contexte automatique, activé par défaut. Si le sélecteur n'affiche aucune ligne `[1m]`, la fenêtre de contexte de référence du modèle
peut être inférieure au seuil de compactage automatique.
peut être inférieure au plancher fixe de 829 800 jetons.

**Nombre élevé de jetons provenant du chargement des compétences** — La compétence `claude-api` fournie (~136k jetons) se charge automatiquement
quand un modèle Claude est mentionné. Ce comportement est normal avec le transfert natif ; pour les modèles routés, opencodex la remplace
Expand All @@ -768,7 +772,7 @@ The Subagents page offers **Force all subagents onto one model**, off by default

`ocx agent subagents force combo/tev-auto` sets `claudeCode.subagentModelForce`; `ocx agent subagents force -` clears it. `ocx agent status` reports the setting. `GET /api/subagent-models` returns `force`, `forceAvailable`, and `forceStatus`; `PUT` accepts `{ "force": "combo/tev-auto" }` or `{ "force": null }` without changing the roster. Omitting `force` leaves it unchanged. Invalid or unexposed targets are rejected on write; stale targets are reported and skipped at launch.

This takes effect on the **next routed `ocx claude` launch**, injecting `CLAUDE_CODE_SUBAGENT_MODEL` as an explicit proxy alias (with `[1m]` only for an authoritative million-token window; native Claude targets use a reversible native alias) and `CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1`. Each nonempty shell-exported variable independently wins. Native launches inject neither variable; plain `claude` is not affected. No plugin files or `settings.json` are modified by this setting.
This takes effect on the **next routed `ocx claude` launch**, injecting `CLAUDE_CODE_SUBAGENT_MODEL` as an explicit proxy alias (with `[1m]` when the authoritative window reaches the fixed 829,800-token floor, and only for a genuine 1M window on Anthropic Claude models and bare `claude-*` selectors; native Claude targets use a reversible native alias) and `CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1`. Each nonempty shell-exported variable independently wins. Native launches inject neither variable; plain `claude` is not affected. No plugin files or `settings.json` are modified by this setting.

Claude Code **2.1.257 or newer** is required for FORCE. Plugin and built-in agents (including Explore/Plan) and per-call model arguments are overridden. Forks and subagent skills with `model: inherit` keep the main conversation model. The main loop and Haiku/small-fast sidecars are unaffected. Existing roster files remain available.

Expand Down
26 changes: 16 additions & 10 deletions docs-site/src/content/docs/guides/claude-code.md
Original file line number Diff line number Diff line change
Expand Up @@ -596,7 +596,8 @@ reapplying the profile, and starting a new conversation. This is a troubleshooti
guaranteed fix. OpenCodex cannot observe picker state; it routes the model id carried by each
request. Confirm what the client sends under **Logs → requestedModel**.

Models with an authoritative 1M context window get an extra `…[1m]` picker row: selecting it makes
Models with a long context window (1M, or at least the 829,800-token default compaction threshold;
Claude models on an Anthropic route need a genuine 1M) get an extra `…[1m]` picker row: selecting it makes
Claude Code account a full 1M context for that model (auto-compaction stays on) — the proxy strips
the marker before routing.
Selecting one persists it to Claude Code's `settings.json` `model` field; inbound requests resolve
Expand Down Expand Up @@ -632,8 +633,10 @@ keep their canonical ids on both surfaces.

### Context-variant `[1m]` marker

Models with an authoritative context window of 1M (or, under auto-context, above 200k and at
least the compaction threshold) get an extra `…[1m]` picker row. Selecting it makes Claude Code
Models with an authoritative context window of 1M, or at least the 829,800-token default
compaction threshold, get an extra `…[1m]` picker row; the floor is fixed, so a custom compaction
value does not lower it, and Claude models on an Anthropic route need a genuine 1M. Turning
auto-context off limits the row to 1M windows. Selecting it makes Claude Code
account a full 1M context. The proxy strips the case-insensitive `[1m]` suffix before alias
resolution and routing.

Expand All @@ -642,8 +645,10 @@ resolution and routing.
Claude Code accounts 200k tokens for any model it does not recognize. **Auto context** (on by
default) fixes that:

1. Models whose real window is above 200k **and** at least the auto-compact threshold get the
`[1m]` marker on their picker rows and env slots.
1. Launch env slots get the `[1m]` marker when the model's real window is above 200k **and** at
least the configured auto-compact threshold. Discovery and Desktop picker rows do not follow
that threshold: they use the fixed 829,800-token floor (a genuine 1M for Claude models on an
Anthropic route).
2. `CLAUDE_CODE_AUTO_COMPACT_WINDOW` (default `829800`, range `100000`–`1000000`) is injected so
the conversation auto-summarizes at that point.

Expand All @@ -668,8 +673,9 @@ history and try compacting a fork with fewer enabled tool or MCP schemas, if you
that workflow. A `[1m]` marker or larger client accounting setting does not raise the upstream
limit, and OpenCodex does not silently remove history or tools to make it fit.

Sub-1M native Anthropic models are never auto-marked. Values you export yourself always win (the
proxy uses YOUR value to decide which models are safe to mark). Invalid hand-edited config values
Sub-1M native Anthropic models are never auto-marked. A compact window you export yourself wins
for launch-slot marking (the proxy uses YOUR value to decide which models are safe to mark).
Discovery rows ignore that export and keep the fixed floor. Invalid hand-edited config values
fall back to 829,800.

### Effective model environment
Expand Down Expand Up @@ -1001,7 +1007,7 @@ set (automatic with `ocx claude`). Run `ocx claude` to refresh the gateway model

**200k context ceiling despite big model** — Select the `[1m]` variant in the picker, or enable
auto-context (on by default). If the picker shows no `[1m]` row, the model's authoritative context
window may be below the auto-compact threshold.
window may be below the fixed 829,800-token floor.

**High token count from skill loads** — The bundled `claude-api` skill (~136k tokens) auto-loads
on Claude model mentions. This is normal for native passthrough; on routed models, opencodex stubs
Expand Down Expand Up @@ -1059,15 +1065,15 @@ the confirmed obsolete token file and applying first-party mode again; never del

### First-party picker context markers

The Desktop Code-tab picker adds `[1m]` to routed models whose authoritative context window is at least one million tokens, so Claude uses its 1M accounting instead of the smaller custom-model fallback. Labels, profile order, and provider routes stay unchanged. Unknown and sub-million windows remain unmarked, including native long-window opt-ins: the picker cannot guarantee that a Desktop or remote runner receives the matching compaction environment. The paired auto-context setup for `ocx claude` is unchanged. An existing conversation keeps its saved selector until you select the model again from the refreshed picker.
The Desktop Code-tab picker adds `[1m]` to routed models whose authoritative context window is at least one million tokens or at least the 829,800-token default compaction threshold (for example a native GPT-6 model opted into its 872k window), so Claude uses its 1M accounting instead of the smaller custom-model fallback. Claude models on an Anthropic route still need a genuine 1M. Labels, profile order, and provider routes stay unchanged. Unknown and shorter windows remain unmarked. The picker cannot guarantee that a Desktop or remote runner receives the matching compaction environment, so a long-window model that outgrows its real window gets a `prompt is too long` error, which Claude Code answers by compacting. Desktop 3P `supports1m`/`prefer1m` and generated subagents follow the same rule. The paired auto-context setup for `ocx claude` is unchanged. An existing conversation keeps its saved selector until you select the model again from the refreshed picker.

### Forced Claude Code subagent model

The Subagents page offers **Force all subagents onto one model**, off by default. Select an exposed roster-style id, such as `combo/tev-auto`, then enable the switch. The roster is offered first; unavailable saved roster entries cannot be force targets.

`ocx agent subagents force combo/tev-auto` sets `claudeCode.subagentModelForce`; `ocx agent subagents force -` clears it. `ocx agent status` reports the setting. `GET /api/subagent-models` returns `force`, `forceAvailable`, and `forceStatus`; `PUT` accepts `{ "force": "combo/tev-auto" }` or `{ "force": null }` without changing the roster. Omitting `force` leaves it unchanged. Invalid or unexposed targets are rejected on write; stale targets are reported and skipped at launch.

This takes effect on the **next routed `ocx claude` launch**, injecting `CLAUDE_CODE_SUBAGENT_MODEL` as an explicit proxy alias (with `[1m]` only for an authoritative million-token window; native Claude targets use a reversible native alias) and `CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1`. Each nonempty shell-exported variable independently wins. Native launches inject neither variable; plain `claude` is not affected. No plugin files or `settings.json` are modified by this setting.
This takes effect on the **next routed `ocx claude` launch**, injecting `CLAUDE_CODE_SUBAGENT_MODEL` as an explicit proxy alias (with `[1m]` when the authoritative window reaches the fixed 829,800-token floor, and only for a genuine 1M window on Anthropic Claude models and bare `claude-*` selectors; native Claude targets use a reversible native alias) and `CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1`. Each nonempty shell-exported variable independently wins. Native launches inject neither variable; plain `claude` is not affected. No plugin files or `settings.json` are modified by this setting.

Claude Code **2.1.257 or newer** is required for FORCE. Plugin and built-in agents (including Explore/Plan) and per-call model arguments are overridden. Forks and subagent skills with `model: inherit` keep the main conversation model. The main loop and Haiku/small-fast sidecars are unaffected. Existing roster files remain available.

Expand Down
Loading
Loading