Thème OpenCode
OpenCode prend en charge plusieurs systèmes de thèmes. Vous pouvez choisir un thème intégré, vous adapter automatiquement au thème du terminal, ou personnaliser entièrement le thème, pour une expérience de terminal cohérente et confortable.
La façon la plus simple est de saisir la commande /themes dans la zone de saisie de la TUI :
/themes

Choisissez ensuite votre thème préféré dans la fenêtre contextuelle :

Prérequis du terminal
Pour garantir que les thèmes peuvent afficher correctement toutes les couleurs, votre terminal doit prendre en chargeTrue color (24-bit color)。
- Vérifier la prise en charge :
echo $COLORTERM
La sortie devrait être :
truecolor ou 24bit
- Activation des couleurs vraies :
export COLORTERM=truecolor
- Terminaux couramment pris en charge :
- iTerm2
- Alacritty
- Kitty
- Windows Terminal
- GNOME Terminal (nouvelle version)
Si le terminal ne prend pas en charge les couleurs vraies, le thème se rabattra sur 256 couleurs, ce qui peut causer une distorsion des couleurs.
Thèmes intégrés
OpenCode inclut plusieurs thèmes intégrés, prêts à l'emploi :
| Nom du thème | Description |
|---|---|
| system | Adaptation automatique au thème du terminal |
| tokyonight | Style Tokyonight |
| everforest | Style Everforest |
| ayu | Thème sombre Ayu |
| catppuccin | Thème Catppuccin |
| catppuccin-macchiato | Variante Catppuccin |
| gruvbox | Style Gruvbox |
| kanagawa | Style Kanagawa |
| nord | Style Nord |
| matrix | Style Hacker (fond noir avec texte vert) |
| one-dark | Atom One Dark |
Thème système (recommandé)
SystèmeLe thème s'adapte automatiquement au jeu de couleurs de votre terminal :
- Génère des niveaux de gris en fonction du fond du terminal
- Utilise les couleurs standard ANSI
- Préserve le texte et l'arrière-plan par défaut du terminal
Adapté à :
- Utilisateurs avec des thèmes de terminal personnalisés
- Utilisateurs qui souhaitent un style cohérent sur tous les outils de terminal
Utilisation des thèmes
Méthode 1 : Sélectionner un thème dans le TUI
/themes

Méthode 2 : Définir via le fichier de configuration
tui.json
{
"$schema": "https://opencode.ai/tui.json",
"theme": "tokyonight"
}
Thèmes personnalisés
OpenCode prend en charge les thèmes entièrement personnalisés définis via JSON.
Priorité de chargement des thèmes
- Thèmes intégrés
- Répertoire utilisateur : ~/.config/opencode/themes/
- Répertoire du projet : .opencode/themes/
- Répertoire actuel : ./.opencode/themes/
Les thèmes chargés plus tard remplaceront les précédents.
Création de thèmes
Thèmes au niveau utilisateur :
mkdir -p ~/.config/opencode/themes vim ~/.config/opencode/themes/my-theme.json
Thèmes au niveau projet :
mkdir -p .opencode/themes vim .opencode/themes/my-theme.json
Explication du format des thèmes
Prend en charge les formats suivants :
- Couleur hexadécimale : #ffffff
- Couleurs ANSI : 0-255
- Référence de couleur : primary
- Mode clair/sombre :
{
"dark": "#000000",
"light": "#FFFFFF"
}
- Hériter de la valeur par défaut du terminal :
"text": "none"
Exemple complet
my-theme.json
{
"$schema": "https://opencode.ai/theme.json",
"defs": {
"bg": "#1E1E2E",
"fg": "#CDD6F4",
"primary": "#89B4FA",
"accent": "#F38BA8",
"success": "#7DB0E3",
"warning": "#F9E2AF"
},
"theme": {
"primary": {
"dark": "primary",
"light": "#005F87"
},
"accent": {
"dark": "accent",
"light": "#D7005F"
},
"background": {
"dark": "bg",
"light": "#FFFFFF"
},
"text": {
"dark": "fg",
"light": "#000000"
},
"border": {
"dark": "#313244",
"light": "#CCCCCC"
},
"syntaxKeyword": {
"dark": "primary",
"light": "#0000FF"
},
"syntaxString": {
"dark": "success",
"light": "#0053A6"
},
"syntaxComment": {
"dark": "#6C7086",
"light": "#999999"
}
}
}
Résumé
Le système de thèmes d'OpenCode présente les fonctionnalités suivantes :
- Prend en charge les thèmes intégrés, prêts à l'emploi
- Prend en charge l'auto-adaptation du système au terminal
- Prend en charge les thèmes personnalisés JSON
- Prend en charge un mécanisme de surcharge à plusieurs niveaux
Si vous recherchez l'expérience ultime, il est recommandé de :
- Activez truecolor dans votre terminal
- Préférez le thème système ou un thème personnalisé