Configuration
Réglages VS Code
Configurez Cortex dans les Paramètres VS Code (recherchez « Cortex »). Les réglages sont sous le namespace cortex.* — ce n'est pas un config.json de projet.
| Réglage | Défaut | Description |
|---|---|---|
cortex.opencodeBinary | "opencode" | Chemin vers le binaire CLI OpenCode |
cortex.opencodePort | 4096 | Port préféré pour opencode serve ; si un autre workspace l’utilise, Cortex prend le prochain port libre |
cortex.agent | "build" | Agent primaire OpenCode par défaut (ex. build, plan) |
cortex.providerID | "opencode" | Miroir hors ligne déprécié — le modèle par défaut est `model` dans opencode.json |
cortex.modelID | "big-pickle" | Miroir hors ligne déprécié — préférer la config OpenCode / le sélecteur du chat |
cortex.modelMode | "auto" | Sélection de modèle : auto / turbo / manual |
cortex.routing.useAllConnectedProviders | false | Si true, Auto/Turbo peut utiliser tout fournisseur connecté ; si false, uniquement celui du modèle par défaut OpenCode |
cortex.models.optimizeFor | "balance" | Routage Auto coût vs qualité : cost / balance / intelligence |
cortex.models.zenBillingEnabled | false | Débloque les modèles Zen payants dans le sélecteur (off par défaut — pas de frais surprises) |
cortex.models.byokEnabled | false | Débloque les modèles BYOK (OpenAI, Anthropic, etc.) |
cortex.context.topK | 8 | Nombre de chunks de contexte local injectés par prompt |
cortex.context.maxChars | 16000 | Maximum de caractères de contexte récupéré par prompt |
cortex.context.embedWeight | 0.45 | Poids (0–1) de la similarité embeddings vs match lexical pour le classement du contexte |
cortex.context.embeddings | "hash" | Mode de retrieval : hash = Performance (rapide, hors ligne) ; minilm = Qualité (MiniLM sémantique). Qualité télécharge un runtime natif une fois dans ~/.cache/cortex-minilm (pas dans le VSIX) ; l’envoi reste bloqué jusqu’à prêt (souvent ≤~30 s au premier index) ; vecteurs dans .cortex/index ; les démarrages suivants ne font que réchauffer le modèle ; les edits ne re-embeddent que les fichiers modifiés. Onboarding/chat indiquent l’aptitude matérielle (Qualité ~150 Mo ; concurrence plafonnée sur machines justes) |
cortex.context.chunkMode | "symbols" | Mode de découpage de l'index : symbols (LSP) ou lines |
cortex.context.include | [] | Globs d’inclusion optionnels (relatifs au workspace). Vide = tous les fichiers indexables |
cortex.context.exclude | [] | Globs d’exclusion supplémentaires en plus de gitignore |
cortex.context.extensionPriority | {".ts":1,".tsx":1,".js":0.8,".jsx":0.8,".py":0.9} | Multiplicateurs de score par extension pour le classement du retrieval (plus élevé = préféré) |
cortex.autocomplete.enabled | true | Autocomplétion ghost via un agent OpenCode rapide sans tools |
cortex.autocomplete.debounceMs | 350 | Debounce (ms) avant de demander une suggestion d’autocomplétion après une pause de frappe |
cortex.locale | "en" | Langue de l'UI Cortex (indépendante de la langue d'affichage VS Code) |
cortex.chat.pinEditorTab | true | Épingle l'onglet chat Cortex et le garde en première position du groupe |
cortex.chat.maxOpenTabs | 5 | Max. d’onglets chat ouverts et restaurés au démarrage (0 = illimité) |
cortex.chat.maxHistorySessions | 100 | Nombre max de chats dans l’Historique (plus récents d’abord ; 0 = tous) |
cortex.ui.showHeaderVersion | true | Afficher la version (atténuée) à côté du titre Cortex (désactivez pour les démos) |
cortex.ui.showReasoningSummaries | true | Afficher les blocs thinking / résumé de reasoning dans la timeline du chat |
cortex.ui.shellToolPartsExpanded | true | Déplier par défaut les blocs de sortie shell/bash dans la timeline |
cortex.ui.editToolPartsExpanded | true | Déplier par défaut les cartes edit/write/patch dans la timeline |
cortex.permissions.autoAccept | false | Accepter automatiquement les invites de permission OpenCode avec un allow ponctuel |
cortex.appearance.uiFont | "" | Famille CSS optionnelle pour l’UI du chat ; vide = police UI de VS Code |
cortex.appearance.codeFont | "" | Famille CSS optionnelle pour le monoespace / code du chat ; vide = police de l’éditeur |
cortex.notifications.agent | false | Afficher une notification VS Code lorsque l’agent termine un tour |
cortex.notifications.permissions | false | Afficher une notification VS Code lorsqu’une invite de permission apparaît |
cortex.notifications.errors | true | Afficher une notification VS Code en cas d’erreur de chat |
cortex.sounds.agent | "none" | Son lorsque l’agent termine un tour (none ou un preset Web Audio) |
cortex.sounds.permissions | "none" | Son lorsqu’une invite de permission apparaît |
cortex.sounds.errors | "none" | Son en cas d’erreur de chat |
cortex.theme.id | "follow" | Thème de couleur du chat : follow (tui.json OpenCode), cortex, ou un id de thème Desktop OpenCode (catalogue GitHub + cache) |
cortex.theme.mode | "system" | Variante claire/sombre des thèmes OpenCode ; system suit le color theme de VS Code |
cortex.theme.remoteRef | "dev" | Git ref sur anomalyco/opencode pour lister les thèmes Desktop officiels |
cortex.policy.t0MaxChars | 2000 | Max. de caractères du Tier T0 (sécurité immuable / neverDo / hooks) |
cortex.policy.t1MaxChars | 12000 | Max. de caractères du Tier T1 (règles always-apply, AGENTS.md, user rules) |
cortex.policy.t2MaxChars | 8000 | Max. de caractères du Tier T2 (règles par glob, skills, catalogue requestable) |
cortex.policy.includeCursorRules | true | Charger .cursor/rules dans le Policy Brain |
cortex.policy.includeCortexRules | true | Charger .cortex/rules dans le Policy Brain |
cortex.skills.autoInvoke | true | Injecter automatiquement les corps SKILL.md correspondant au tour |
cortex.skills.topK | 2 | Max. de skills injectées entièrement par tour quand auto-invoke est actif |
cortex.hooks.enabled | true | Exécuter .cortex/hooks.json et le changelog gate intégré |
cortex.hooks.strict | false | Si true, un hook prePrompt en échec refuse le tour |
Raccourcis clavier
Raccourcis VS Code (pas OpenCode Desktop). Personnalisables dans Raccourcis clavier :
| Raccourci | Action |
|---|---|
Ctrl/Cmd+Alt+C | Ouvrir le chat (panneau éditeur à droite) |
Ctrl+Alt+I / Cmd+Alt+Shift+I | Inline Edit |
Ctrl/Cmd+Alt+\ | Déclencher l’autocomplétion ghost |
Ctrl/Cmd+Alt+T | Envoyer la sélection du terminal au chat |
Palette de commandes
Toutes les commandes Cortex sont dans la palette de commandes VS Code (Ctrl/Cmd+Shift+P). Cherchez « Cortex » :
| Commande | Description |
|---|---|
Cortex: Open Session | Ouvrir le panneau de chat (groupe d’éditeur droit) |
Cortex: New Session | Démarrer une nouvelle session de chat |
Cortex: Stop Generation | Interrompre le tour d’agent en cours |
Cortex: Send Terminal Selection to Session | Envoyer le texte sélectionné du terminal au chat |
Cortex: Reindex Workspace | Reconstruire l’index local du codebase |
Cortex: Trigger Inline Completion | Demander maintenant une suggestion ghost-text |
Cortex: Inline Edit (Ctrl+Alt+I) | Édition inline de la sélection / fichier actuel |
Cortex: Connect | Ouvrir Providers pour connecter des comptes OpenCode |
Cortex: Connect / Models | Ouvrir Models (modèle par défaut, visibilité, favoris) |
Cortex: Remember preference | Enregistrer une préférence dans la mémoire du Policy Brain |
Cortex: Open rules / memory | Ouvrir les règles et fichiers mémoire |
Cortex: Edit user rules | Modifier les règles utilisateur |
Cortex: Show Policy Inspector | Inspecter les tiers Policy Brain actifs pour ce tour |
Cortex: Run Diagnostics | Lancer les diagnostics de connectivité et de setup |
Cortex: Show Log | Ouvrir le canal de sortie Cortex |
Cortex: Dump last retrieval | Écrire le dump du dernier retrieval de contexte pour le dépannage |
Cortex: Report Issue / Feedback | Ouvrir le flux de feedback / signalement |
Modèles via OpenCode
Cortex utilise OpenCode comme fournisseur agentic. Vous choisissez parmi les modèles disponibles sur votre abonnement OpenCode (Zen gratuit, Zen payant ou OpenCode Go). La facturation OpenCode est gérée en dehors de Cortex et n'a aucun lien avec la licence Cortex.
- Servers — Sous Settings → Servers, gérez la connexion OpenCode locale et les serveurs HTTP distants (health, ajout/édition/suppression, défaut/actif) — même idée qu’OpenCode Desktop.
- Providers — Ouvrez Providers (Cortex: Connect) pour connecter Zen, Go, Anthropic, Copilot, endpoints custom OpenAI-compatible, etc. — catalogue comme OpenCode Desktop. L'auth reste dans le auth.json local d'OpenCode.
- OpenCode Go — Après abonnement Go sur opencode.ai, Cortex le détecte au démarrage / Recheck et bascule (réutilise votre API key). Vous pouvez aussi Activer OpenCode Go sous Models.
- Zen payant / BYOK — Le Zen gratuit reste déverrouillé. Zen payant et BYOK nécessitent un déverrouillage explicite dans Models (ou cortex.models.zenBillingEnabled / cortex.models.byokEnabled).
- Sélecteur de modèle — Choisissez tout modèle disponible auprès de vos fournisseurs OpenCode connectés. Auto/Turbo respectent cortex.models.optimizeFor (cost / balance / intelligence). Si le catalogue l’expose, choisissez une variante (Default / Low / Medium / High).
- Thèmes — Les thèmes du chat suivent OpenCode Desktop : catalogue officiel GitHub (cache), thèmes custom dans ~/.config/opencode/themes, ou follow tui.json. Configurez cortex.theme.id / mode / remoteRef ou choisissez un thème sous Models.
- Notifications et sons — Notifications VS Code optionnelles et presets Web Audio quand l’agent termine, qu’une permission apparaît ou qu’une erreur survient (cortex.notifications.* / cortex.sounds.*). permissions.autoAccept reflète l’auto-accept Desktop.
- Composer + — Le menu + du composer (parité OpenCode Desktop) : images et fichiers (Ctrl/Cmd+U), Commands (/), Context (@), Shell (!). Les pièces jointes sont filtrées selon les modalités d’entrée du modèle actif.
- Par défaut — Le modèle par défaut vit dans opencode.json (`model`). cortex.modelMode (Auto/Turbo/Manual) dans VS Code ; visibilité/favoris sous Models
- Sans dossier ouvert — Vous pouvez discuter dans une fenêtre vide ; Cortex utilise votre répertoire home comme cwd OpenCode. Ouvrez un dossier de projet pour l'indexation du code et les plans du projet.
Les clés vivent dans le stockage local d'OpenCode (~/.local/share/opencode/auth.json ; sous Windows : %USERPROFILE%\.local\share\opencode\auth.json). Cortex lit et écrit là — il ne duplique pas les identifiants. OpenCode peut aussi utiliser ~/.config/opencode/opencode.json pour les permissions d'agent ; c'est distinct des réglages Cortex dans VS Code.
Sources de contexte
Cortex collecte automatiquement le contexte depuis :
- Policy Brain (T0–T2) — règles en couches : user rules, AGENTS.md, .cursor/rules, .cortex/rules, skills, neverDo — aussi Palette : Remember preference, Open rules / memory, Edit user rules, Show Policy Inspector
- Fichier actif — le fichier que vous éditez (joint à chaque tour)
- Sélection — texte surligné
- Recherche lexicale — correspondance par mots-clés dans le projet
- Embeddings — Performance (hash) par défaut ; Qualité (MiniLM) depuis la barre du chat — l’envoi se débloque quand le modèle local est prêt (pas de repli silencieux Performance pendant le chargement)
- Memory — facts, préférences et neverDo dans .cortex/memory.json
- @ mentions — fichiers, dossiers, terminaux et agents depuis le chat (aussi via composer + → Context)
- Hooks — .cortex/hooks.json prePrompt/postTurn et changelog gate intégré