Тема OpenCode

OpenCode поддерживает несколько систем тем. Вы можете выбрать встроенную тему, автоматически адаптироваться к теме терминала или полностью настроить тему для единообразного и комфортного взаимодействия с терминалом.

Самый простой способ — ввести команду /themes в поле ввода TUI:

/themes

Затем выберите предпочитаемую тему во всплывающем окне:


Требования к терминалу

Чтобы темы могли работать, ваш терминал должен поддерживатьTrue color (24-bit color)。

  • Проверка поддержки:
echo $COLORTERM

Вывод должен быть:

truecolor
или 
24bit
  • Включение true color:
export COLORTERM=truecolor
  • Распространённые поддерживаемые терминалы:
  • iTerm2
  • Alacritty
  • Kitty
  • Windows Terminal
  • GNOME Terminal (новая версия)

Если терминал не поддерживает true color, тема переключится на 256 цветов, что может привести к искажению цветов.


Встроенные темы

OpenCode включает несколько встроенных тем, готовых к использованию:

Название темы Описание
systemАвтоадаптация к теме терминала
tokyonightСтиль Tokyonight
everforestСтиль Everforest
ayuТёмная тема Ayu
catppuccinТема Catppuccin
catppuccin-macchiatoВариант Catppuccin
gruvboxСтиль Gruvbox
kanagawaСтиль Kanagawa
nordСтиль Nord
matrixСтиль хакера (чёрный фон с зелёным текстом)
one-darkAtom One Dark

Системная тема (рекомендуется)

СистемнаяТема автоматически адаптируется к цветовой схеме вашего терминала:

  • Создаёт уровни оттенков серого на основе фона терминала
  • Использует стандартные цвета ANSI
  • Сохраняет стандартный текст и фон терминала

Подходит для:

  • Пользователи с собственными темами терминала
  • Пользователи, которые хотят единообразный стиль во всех инструментах терминала

Использование тем

Способ 1: Выберите тему в TUI

/themes

Способ 2: Настройка через файл конфигурации

tui.json

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

Пользовательские темы

OpenCode поддерживает полностью пользовательские темы, определяемые через JSON.

Приоритет загрузки тем

  • Встроенные темы
  • Каталог пользователя: ~/.config/opencode/themes/
  • Каталог проекта: .opencode/themes/
  • Текущий каталог: ./.opencode/themes/

Темы, загруженные позже, переопределяют ранее загруженные.


Создание тем

Темы уровня пользователя:

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

Темы уровня проекта:

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

Описание формата темы

Поддерживаются следующие форматы:

  • HEX-цвет: #ffffff
  • Цвета ANSI: 0-255
  • Ссылка на цвет: primary
  • Светлый/тёмный режим:
{
  "dark": "#000000",
  "light": "#FFFFFF"
}
  • Наследовать настройки терминала по умолчанию:
"text": "none"

Полный пример

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

Итог

Система тем OpenCode обладает следующими возможностями:

  • Поддерживает встроенные темы, готовые к использованию сразу
  • Поддерживает автоматическую адаптацию системы к терминалу
  • Поддерживает пользовательские темы в формате JSON
  • Поддерживает многоуровневый механизм переопределения

Если вы стремитесь к наилучшему опыту, рекомендуется:

  • Включите truecolor в вашем терминале
  • Предпочитайте системную тему или пользовательскую тему
Другие расширения