Tema de OpenCode

OpenCode admite varios sistemas de temas; puede elegir temas integrados, adaptación automática al tema del terminal o temas completamente personalizados, para obtener una experiencia de terminal consistente y cómoda.

La forma más sencilla es escribir el comando /themes en el cuadro de entrada de TUI:

/themes

Luego, en la ventana emergente, elija el tema que prefiera:


Requisitos de terminal

Para asegurarse de que los temas muestren correctamente todos los colores, su terminal debe ser compatible conColor verdadero (color de 24 bits)。

  • Comprobar compatibilidad:
echo $COLORTERM

La salida debería ser:

truecolor
o 
24bit
  • Habilitar color verdadero:
export COLORTERM=truecolor
  • Terminales compatibles comunes:
  • iTerm2
  • Alacritty
  • Kitty
  • Windows Terminal
  • GNOME Terminal (versiones recientes)

Si el terminal no admite color verdadero, el tema retrocederá a 256 colores, lo que puede provocar distorsión de color.


Temas integrados

OpenCode incluye varios temas integrados que se pueden usar directamente:

Nombre del tema Descripción
systemAdaptación automática al tema del terminal
tokyonightEstilo Tokyonight
everforestEstilo Everforest
ayuTema oscuro Ayu
catppuccinTema Catppuccin
catppuccin-macchiatoVariante Catppuccin
gruvboxEstilo Gruvbox
kanagawaEstilo Kanagawa
nordEstilo Nord
matrixEstilo hacker (texto verde sobre fondo negro)
one-darkAtom One Dark

Tema system (recomendado)

systemEl tema se adapta automáticamente a la combinación de colores de su terminal:

  • Genera niveles de gris según el fondo del terminal
  • Usa colores estándar ANSI
  • Mantiene el texto y el fondo predeterminados del terminal

Adecuado para:

  • Usuarios que usan temas de terminal personalizados
  • Usuarios que desean un estilo unificado en todas las herramientas de terminal

Usar temas

Método 1: Seleccionar el tema en TUI

/themes

Método 2: Configurar mediante el archivo de configuración

tui.json

{
  "$schema": "https://opencode.ai/tui.json",
  "theme": "tokyonight"
}

Temas personalizados

OpenCode admite la definición de temas completamente personalizados mediante JSON.

Prioridad de carga de temas

  • Temas integrados
  • Directorio de usuario: ~/.config/opencode/themes/
  • Directorio del proyecto: .opencode/themes/
  • Directorio actual: ./.opencode/themes/

Los temas cargados posteriormente sobrescriben a los anteriores.


Crear temas

Temas a nivel de usuario:

mkdir -p ~/.config/opencode/themes
vim ~/.config/opencode/themes/my-theme.json

Temas a nivel de proyecto:

mkdir -p .opencode/themes
vim .opencode/themes/my-theme.json

Explicación del formato de tema

Se admiten los siguientes formatos:

  • Color hexadecimal: #ffffff
  • Color ANSI: 0-255
  • Referencia de color: primary
  • Modo claro/oscuro:
{
  "dark": "#000000",
  "light": "#FFFFFF"
}
  • Heredar el valor predeterminado del terminal:
"text": "none"

Ejemplo completo

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"
    }
  }
}

Resumen

El sistema de temas de OpenCode tiene las siguientes características:

  • Admite temas integrados, listos para usar
  • Admite el tema system para adaptación automática al terminal
  • Admite temas personalizados mediante JSON
  • Admite un mecanismo de sobrescritura de varios niveles

Si busca una experiencia óptima, se recomienda:

  • Habilitar truecolor en el terminal
  • Usar preferentemente el tema system o un tema personalizado
Otras extensiones