Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
21 changes: 11 additions & 10 deletions docs-site/src/content/docs/fr/guides/claude-code.md
Original file line number Diff line number Diff line change
Expand Up @@ -689,16 +689,17 @@ du débogage Claude efface immédiatement l'anneau.

## Interface graphique (page Claude)

Le tableau de bord propose deux onglets sous **Connexion** : **Claude** pour Claude Code et **Claude Desktop**.
La carte Claude de la vue d’ensemble de Connexion comporte le même interrupteur de connexion. La page affiche :

- Interrupteur général des requêtes entrantes
- Démarrage rapide (`ocx claude`) et bloc d'environnement manuel
- Sélecteur de mode rapide (Auto / ON / OFF)
- Basculement automatique du contexte et liste déroulante du seuil de compactage
- Bascule d'enregistrement automatique des sous-agents
- Éditeur d'interception des modèles (modelMap)
- Aperçu en direct des alias du sélecteur
Le tableau de bord propose **Connexion → Claude** pour Claude Code. Tous les réglages sont réunis sur une seule page ; **Claude Desktop** est un onglet distinct de **Connexion**. La page présente les éléments dans cet ordre :

1. **First-party de la CLI Claude Code**, l’interrupteur du mode first-party de la CLI.
2. **Commencer**, avec `ocx claude` et le bloc d’environnement manuel.
3. **Général**, avec le mode rapide, le contexte automatique, le seuil de compactage et l’enregistrement automatique des sous-agents.
4. **Modèle auxiliaire en arrière-plan**, pour choisir le modèle des tâches en arrière-plan.
5. **Interception de modèles**, l’éditeur des règles `modelMap`.
6. **Modèles disponibles**, l’aperçu des alias du sélecteur `/model`.
7. **Connexion Claude**, l’interrupteur général du routage, également présent sur la carte Claude de la vue d’ensemble de **Connexion**.

La barre d’enregistrement reste visible en bas pendant le défilement. Elle indique **Aucune modification** ou **Modifications non enregistrées**. **Annuler les modifications** abandonne les réglages non enregistrés ; **Enregistrer** les applique. Les interrupteurs **Connexion Claude** et **First-party de la CLI Claude Code** s’appliquent immédiatement : **Enregistrer** ne les modifie jamais.

`GET /api/claude-code` renvoie les valeurs par défaut effectives, la configuration, le registre des fenêtres de contexte, l'environnement effectif,
les identifiants de route, les alias et le port disponibles. `PUT /api/claude-code` applique une mise à jour partielle et conserve les
Expand Down
15 changes: 4 additions & 11 deletions docs-site/src/content/docs/fr/guides/integrations.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Intégrations
description: Connectez opencodex à OpenCode, Pi, OMP, Hermes, OpenClaw, Kimi Code, gjc, DeepSeek Harness, MiniMax Code, ZCode, Prime Agent, Aside, Raycast, omo, Cline CLI, Kilo et Factory Droid depuis le tableau de bord — un commutateur par client, avec une sauvegarde avant chaque écriture.
---

L'onglet **Intégrations** écrit le bloc fournisseur d'opencodex dans le fichier de configuration du client,
L'onglet **Connexion** écrit le bloc fournisseur d'opencodex dans le fichier de configuration du client,
puis peut le retirer. Dix-sept clients fonctionnent ainsi, chacun avec son propre commutateur :

| Client | Fichier de configuration | Format | Prise d'effet de la modification | Identifiant |
Expand All @@ -28,12 +28,7 @@ puis peut le retirer. Dix-sept clients fonctionnent ainsi, chacun avec son propr

Les modèles GJC dotés d'une échelle d'effort de raisonnement prise en charge exportent `reasoning: true`, `thinking.levels` et `compat.supportsReasoningEffort`, afin que GJC propose le choix de l'effort. Les modèles Codex natifs reçoivent leur échelle standard même si le catalogue l'omet. Ces champs sont absents sans échelle connue ; `none` n'envoie pas d'effort et `ultra` devient `max` sur le réseau. Actualisez l'intégration pour mettre à jour ces options.

La prise en charge gérée de DSH exige au minimum **DSH 0.1.0-rc.6**. OpenCodex ne possède que le fragment
`llm-pi-ai.providers.opencodex` : **Appliquer** et **Actualiser** remplacent ce fragment, **Désactiver** ne
supprime que ce fragment, et **Restaurer** rétablit un instantané enregistré. DSH recharge à chaud les
modifications de fournisseurs. Ces opérations ne changent ni le modèle par défaut de l'utilisateur ni le
fournisseur natif `deepseek-official`. L'intégration DSH gérée est actuellement limitée au bouclage et
n'écrit jamais de véritable identifiant.
La prise en charge gérée de DSH exige au minimum **DSH 0.1.0-rc.6**. Avec **DSH 0.1.7 et versions ultérieures**, DSH lit les routes dans le patch du profil Desktop, `$DSH_HOME/profiles/desktop/cordis.patch.yml`, qu’il recharge à chaud. Lorsque ce profil existe, OpenCodex y gère uniquement `[id=llm-pi-ai].config.providers.opencodex`. En l’absence du profil Desktop, il utilise uniquement `llm-pi-ai.providers.opencodex` dans `$DSH_HOME/settings.yaml` comme solution de repli. **Appliquer** et **Actualiser** remplacent ce fragment, **Désactiver** ne supprime que ce fragment, et **Restaurer** rétablit un instantané enregistré. Ces opérations ne changent ni le modèle par défaut de l’utilisateur ni le fournisseur natif `deepseek-official`. L’intégration DSH gérée est actuellement limitée au bouclage et n’écrit jamais de véritable identifiant.

MiniMax Code recherche d’abord `MINIMAX_DATA_DIR`, puis `MAVIS_DATA_DIR`, avant de se rabattre sur
`~/.minimax`. Son bloc géré ne possède que `custom_provider.opencodex`. Il ne modifie ni `defaultModel`, ni
Expand All @@ -45,7 +40,7 @@ qui appartient à la session MCode, est préservé.

Raycast a deux prérequis. Les fournisseurs personnalisés (Custom Providers) sont une fonctionnalité
**Raycast Pro** : avec un forfait gratuit, le fichier est tout de même écrit, mais
`ocx integration client status --client raycast` et la page Intégrations signalent un avertissement,
`ocx integration client status --client raycast` et la page **Connexion** signalent un avertissement,
car Raycast ne le lira pas. Et Raycast ne crée son dossier `ai` que lorsque vous ouvrez une fois
Raycast → Settings → AI → **Reveal Providers Config** ; opencodex utilise ce dossier comme signal
d'installation et indique que le client n'est pas installé tant qu'il n'existe pas. Raycast lit
Expand Down Expand Up @@ -162,9 +157,7 @@ tous les profils** reste une action groupée distincte et n'est pas liée à un

**Le formatage n'est généralement pas préservé.** L'application analyse une configuration avant de la
réécrire ; JSON, JSON5 et TOML peuvent donc être reformatés, et les commentaires JSON5 ou TOML sont perdus.
OMP et DSH font exception : leurs outils d'écriture YAML ne modifient que `providers.opencodex` et
`llm-pi-ai.providers.opencodex`, respectivement, tout en préservant octet par octet les commentaires et le
formatage des fournisseurs sans rapport. Si la plage source exacte ne peut pas être identifiée de manière
OMP et DSH font exception : leurs outils d’écriture YAML ne modifient que le fragment géré. Pour OMP, il s’agit de `providers.opencodex` ; pour DSH, de `[id=llm-pi-ai].config.providers.opencodex` dans le patch Desktop, ou de `llm-pi-ai.providers.opencodex` dans `settings.yaml` uniquement si le profil Desktop est absent. Ils préservent octet par octet les commentaires et le formatage des fournisseurs sans rapport. Si la plage source exacte ne peut pas être identifiée de manière
sûre, l'opération est refusée. Pour les autres clients, utilisez **Restaurer** lorsque vous avez besoin des
octets précédents du fichier : l'instantané en est une copie exacte.

Expand Down
2 changes: 1 addition & 1 deletion docs-site/src/content/docs/fr/guides/web-dashboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ OpenCodex demandent à Codex de transmettre les remplacements à `spawn_agent` ;

## Sessions, clés et usage Remote Hub

Le plan de gestion du tableau de bord est séparé du trafic modèle direct client→hub. **Integrations → API Keys** affiche les rotations en attente, montre le secret de remplacement une seule fois et exige une validation ou une annulation explicite. La déconnexion du navigateur n'invalide que la session courante. L'usage connecté vient du hub filtré par `apiKeyId`; l'usage déconnecté est local, sans réplication.
Le plan de gestion du tableau de bord est séparé du trafic modèle direct client→hub. **Connexion → Clés API** affiche les rotations en attente, montre le secret de remplacement une seule fois et exige une validation ou une annulation explicite. La déconnexion du navigateur n'invalide que la session courante. L'usage connecté vient du hub filtré par `apiKeyId`; l'usage déconnecté est local, sans réplication.

La garantie de remplacement lors d'une création de sous-agent s'applique au texte de consignes v2 **intégré**.
Un `injectionPrompt` personnalisé remplace entièrement ce texte et doit contenir les espaces réservés
Expand Down
35 changes: 20 additions & 15 deletions docs-site/src/content/docs/guides/claude-code.md
Original file line number Diff line number Diff line change
Expand Up @@ -909,21 +909,26 @@ Claude debug immediately clears the ring.

## GUI (Claude page)

Claude has two tabs under **Connect** in the dashboard: **Claude** for Claude Code and **Claude Desktop**,
and the Claude card on the Connect overview carries the same connection switch. Claude Code settings are one page with a
single Save bar at the bottom (unsaved state, **Revert**, **Save**); the Claude connection switch
is the last control and commits immediately, so **Save** never changes it. The page shows:

- Claude Desktop tab: **Connection mode** selector — gateway (default) or first-party — with the
running proxy port in first-party mode. Only **Save & apply** switches modes; **Save** alone
stores the gateway profile lanes for a later gateway apply and leaves the current mode as is
- Inbound kill switch (enabled toggle)
- Quickstart (`ocx claude`) and manual env block
- Fast Mode selector (Auto / ON / OFF)
- Auto-context toggle and compaction threshold dropdown
- Subagent auto-registration toggle
- Model interception (modelMap) editor
- Live preview of picker aliases
Open **Connect → Claude** for the one-page Claude Code settings. The page shows these controls
and sections in order:

1. **Claude Code CLI first-party** switch
2. **Get started** with `ocx claude` and the manual environment block
3. **General** with compatibility, agent instructions, Fast Mode, and context controls
4. **Background helper model** selector
5. **Model interception** editor
6. **Available models**, the live preview of Claude Code's `/model` picker aliases
7. **Claude connection** switch, also available on the Claude card in the Connect overview

The sticky Save bar shows **No changes** when the saved settings match the page, or
**Unsaved changes** after you edit them. **Revert** discards unsaved edits; **Save** commits the
editable settings. The **Claude connection** and **Claude Code CLI first-party** switches apply
immediately. **Save** never changes either switch.

**Claude Desktop** is a separate tab under **Connect**. Its **Connection mode** selector offers
gateway (default) or first-party, with the running proxy port in first-party mode. Only
**Save & apply** switches modes; **Save** alone stores the gateway profile lanes for a later
gateway apply and leaves the current mode as is.

`GET /api/claude-code` returns effective defaults, config, context-window registry, effective env,
available route ids, aliases, and port. `PUT /api/claude-code` is partial and preserves omitted
Expand Down
33 changes: 19 additions & 14 deletions docs-site/src/content/docs/guides/integrations.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Integrations
description: Connect opencodex to OpenCode, Pi, OMP, Hermes, OpenClaw, Kimi Code, gjc, DeepSeek Harness, MiniMax Code, ZCode, Prime Agent, Aside, Raycast, omo, Cline CLI, Kilo and Factory Droid from the dashboard — one switch per client, with a backup taken before every write.
---

The **Integrations** tab writes opencodex's provider block into a client's own config
The **Connect** page writes opencodex's provider block into a client's own config
file, and removes it again. Seventeen clients work this way, each with a switch:

| Client | Config file | Format | When the change takes effect | Credential |
Expand Down Expand Up @@ -82,10 +82,14 @@ default — `none` included, offered only when the model's own declared ladder c
the client selects, the proxy's pinned upstream reasoning policy still governs the request that
leaves it.

Managed DSH support has a compatibility floor of **DSH 0.1.0-rc.6**. OpenCodex owns only
`llm-pi-ai.providers.opencodex`; Apply and Refresh replace that fragment, Disable removes only that
fragment, and Restore puts back a recorded snapshot. DSH hot reloads provider changes. These
operations do not change the user's default model or the native `deepseek-official` provider.
Managed DSH support has a compatibility floor of **DSH 0.1.0-rc.6**. DSH 0.1.7+ reads provider
routes from `[id=llm-pi-ai].config.providers.opencodex` in the Desktop profile patch,
`$DSH_HOME/profiles/desktop/cordis.patch.yml`, which DSH hot reloads. OpenCodex writes there when
that profile exists; only when there is no Desktop profile does it use
`llm-pi-ai.providers.opencodex` in `$DSH_HOME/settings.yaml`. OpenCodex owns only that provider
Comment thread
lidge-jun marked this conversation as resolved.
Outdated
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated
fragment: Apply and Refresh replace it, Disable removes it, and Restore puts back a recorded
snapshot. These operations do not change the user's default model or the native
`deepseek-official` provider.
The managed DSH integration is currently loopback-only and never writes a real credential.

MiniMax Code follows `MINIMAX_DATA_DIR`, then `MAVIS_DATA_DIR`, before falling
Expand Down Expand Up @@ -114,7 +118,7 @@ restart. Aside's block is loopback-only and never carries a real credential.

The managed Raycast integration supports **macOS and Windows**. Custom Providers
is a **Raycast Pro** feature: on a free plan the file is still written, but
`ocx integration client status --client raycast` and the Integrations page report
`ocx integration client status --client raycast` and the **Connect** page report
a warning, because Raycast will not read it. On macOS or Windows, open Raycast →
Settings → AI → **Reveal Providers Config** once so the `ai` folder exists.
On these supported platforms, opencodex uses that folder as its install signal
Expand Down Expand Up @@ -249,7 +253,7 @@ Older versions may ignore or discard the option; a valid configuration alone doe
Hermes sends the header. Conversation isolation, compaction lineage and auxiliary/child requests
follow Hermes' affinity semantics. This setting does not guarantee a particular cache-hit rate.

For an existing managed integration, open **Integrations → Hermes**, review **Apply**, and confirm
For an existing managed integration, open **Connect → Hermes**, review **Apply**, and confirm
the update. Until then, it shows **Update needed** and implicit catalog refresh leaves it unchanged,
including its model list. Reading the page does not upgrade the configuration. After Apply, normal
catalog refresh resumes and retains the setting; **Replace** also includes it.
Expand Down Expand Up @@ -282,10 +286,11 @@ profiles** remains a separate bulk action and is not bound to one combined previ

**Formatting is generally not preserved.** Applying parses a config and writes it back
out, so JSON, JSON5 and TOML may be reformatted and comments in JSON5 or TOML are lost.
OMP, DSH and Hermes are the exceptions: their YAML writers patch only `providers.opencodex` and
`llm-pi-ai.providers.opencodex`, respectively, preserving
unrelated provider comments and formatting byte-for-byte. If that exact source range
cannot be identified safely, the operation refuses instead. For other clients, use
OMP, DSH and Hermes are the exceptions: OMP and Hermes patch only `providers.opencodex`.
DSH patches only `[id=llm-pi-ai].config.providers.opencodex` in the Desktop profile patch,
or `llm-pi-ai.providers.opencodex` in `settings.yaml` when there is no Desktop profile.
Their YAML writers preserve unrelated provider comments and formatting byte-for-byte. If that exact
source range cannot be identified safely, the operation refuses instead. For other clients, use
Restore when you need the previous file bytes: the snapshot is a verbatim copy.

**If a value cannot be rewritten faithfully, the switch refuses instead.** The round
Expand Down Expand Up @@ -449,7 +454,7 @@ Aside refresh requires a [compatible running proxy](#aside-profile-controls).
If Models reports **“Model selection saved”** together with a client-refresh warning, the
selection is already saved; one or more client files could not be updated. The warning names
the affected client and Aside profile, when applicable, and explains the refusal. Open
**Integrations** to inspect that client or profile before starting a new session. Resolve the
**Connect** to inspect that client or profile before starting a new session. Resolve the
reported issue, then retry `ocx sync`; an overlapping operation must finish first. If the
warning includes a backup path or says recovery did not finish, inspect that recovery state
before retrying. A successful selection save alone does not confirm client-file recovery.
Expand Down Expand Up @@ -609,7 +614,7 @@ supported by this generated integration; it requires unauthenticated loopback ac
## GitHub Copilot App

The GitHub Copilot desktop app can use opencodex as an OpenAI-compatible model provider. This is a
manual client setup with no Integrations-tab switch, and it is separate from the upstream
manual client setup with no switch on **Connect**, and it is separate from the upstream
`github-copilot` provider, which uses a Copilot subscription as a backend for opencodex.

1. Start opencodex and confirm it answers:
Expand Down Expand Up @@ -745,7 +750,7 @@ custom models remain yours.
If Droid normalizes a `customModels` row by adding `id` or `index`, OpenCodex ignores those two
client fields when checking ownership so saved reasoning defaults remain available.

Open **Integrations → Factory Droid** (`/#integrations/droid`) to set a reasoning
Open **Connect → Factory Droid** (`/#integrations/droid`) to set a reasoning
default for each connected model. Choose from the model's supported efforts,
review the changes, then confirm. **No default** clears that model's draft setting;
use **Save / review changes** and confirm to apply the removal.
Expand Down
Loading
Loading