К содержимому
Ссылки на файлы

TUI

opencode предоставляет интерактивный terminal интерфейс или TUI для работы над вашими проектами с помощью LLM.

Запуск opencode запускает TUI для текущего каталога.

Терминал
opencode

Или вы можете запустить его для определенного рабочего каталога.

Терминал
opencode /path/to/project

Как только вы окажетесь в TUI, вы можете запросить его с помощью сообщения.

Give me a quick summary of the codebase.

Вы можете ссылаться на файлы в своих сообщениях, используя @. Это выполняет нечеткий поиск файлов в текущем рабочем каталоге.

How is auth handled in @packages/functions/src/api/index.ts?

Содержимое файла добавляется в беседу автоматически.


Начните сообщение с !, чтобы запустить shell-команду.

Терминал
!ls -la

Вывод команды добавляется в диалог как результат работы инструмента.


При использовании opencode TUI вы можете ввести /, а затем имя команды, чтобы быстро выполнить действия. Например:

Терминал
/help

Большинство команд также имеют привязку клавиш с использованием ctrl+x в качестве ведущей клавиши, где ctrl+x — это ведущая клавиша по умолчанию. Подробнее .

Вот все доступные слэш-команды:


Добавьте провайдера в opencode. Позволяет выбирать из доступных поставщиков и добавлять их ключи API.

Терминал
/connect

Сжать текущий сеанс. Псевдоним: /summarize

Терминал
/compact

Привязка клавиш: ctrl+x c


Открыть внешний редактор для составления сообщений. Использует редактор, установленный в переменной среды EDITOR. Подробнее .

Терминал
/editor

Привязка клавиш: ctrl+x e


Выйдите из opencode. Псевдонимы: /quit, /q

Терминал
/exit

Привязка клавиш: ctrl+x q


Экспортируйте текущий разговор в Markdown и откройте его в редакторе по умолчанию. Использует редактор, установленный в переменной среды EDITOR. Подробнее .

Терминал
/export

Привязка клавиш: ctrl+x x


Показать диалоговое окно помощи.

Терминал
/help

Привязка клавиш: ctrl+x h


Создайте или обновите файл AGENTS.md. Подробнее .

Терминал
/init

Привязка клавиш: ctrl+x i


Перечислите доступные модели.

Терминал
/models

Привязка клавиш: ctrl+x m


Начать новый сеанс. Псевдоним: /clear

Терминал
/new

Привязка клавиш: ctrl+x n


Повторить ранее отмененное сообщение. Доступно только после использования /undo.

Внутри это использует Git для управления изменениями файлов. Итак, ваш проект ** должен быть репозиторием Git**.

Терминал
/redo

Привязка клавиш: ctrl+x r


Составляйте список и переключайтесь между сеансами. Псевдонимы: /resume, /continue

Терминал
/sessions

Привязка клавиш: ctrl+x l


Список доступных тем.

Терминал
/theme

Привязка клавиш: ctrl+x t


Переключить видимость блоков мышления/рассуждения в разговоре. Если этот параметр включен, вы можете увидеть процесс рассуждения модели для моделей, поддерживающих расширенное мышление.

Терминал
/thinking

Отменить последнее сообщение в разговоре. Удаляет самое последнее сообщение пользователя, все последующие ответы и любые изменения файлов.

Внутри это использует Git для управления изменениями файлов. Итак, ваш проект ** должен быть репозиторием Git**.

Терминал
/undo

Привязка клавиш: ctrl+x u


Команды /editor и /export используют редактор, указанный в переменной среды EDITOR.

Терминал
# Example for nano or vim
export EDITOR=nano
export EDITOR=vim

# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
# include --wait
export EDITOR="code --wait"

Чтобы сделать его постоянным, добавьте это в свой профиль shell; ~/.bashrc, ~/.zshrc и т. д.

Популярные варианты редактора включают в себя:

  • code — VS Code
  • cursor — Cursor
  • windsurf - Windsurf
  • nvim - Редактор Neovim
  • vim — редактор Vim
  • nano — Нано-редактор
  • notepad — Блокнот Windows
  • subl — Sublime Text

Некоторым редакторам для работы в режиме блокировки необходимы CLI-аргументы. Флаг --wait блокирует процесс редактора до его закрытия.


Вы можете настроить поведение TUI через tui.json (или tui.jsonc).

tui.json
{
  "$schema": "https://opencode.ai/tui.json",
  "theme": "opencode",
  "leader_timeout": 2000,
  "keybinds": {
    "leader": "ctrl+x",
    "command_list": "ctrl+p"
  },
  "scroll_speed": 3,
  "scroll_acceleration": {
    "enabled": false
  },
  "diff_style": "auto",
  "mouse": true,
  "attention": {
    "enabled": true,
    "notifications": true,
    "sound": true,
    "volume": 0.4,
    "sound_pack": "opencode.default",
    "sounds": {
      "error": "./sounds/error.mp3"
    }
  }
}

Это отдельный файл от opencode.json, который настраивает поведение сервера/выполнения.

keybinds объединяется со встроенными значениями по умолчанию, поэтому достаточно настроить только те сочетания клавиш, которые вы хотите изменить.

  • theme — Устанавливает тему пользовательского интерфейса. Подробнее.
  • keybinds — Настраивает сочетания клавиш. Подробнее.
  • leader_timeout — Управляет тем, как долго OpenCode ждёт после нажатия leader key. По умолчанию 2000.
  • scroll_acceleration.enabled — включите ускорение прокрутки в стиле macOS для плавной и естественной прокрутки. Если этот параметр включен, скорость прокрутки увеличивается при быстрой прокрутке и остается точной при более медленных движениях. Этот параметр имеет приоритет над scroll_speed и переопределяет его, если он включен.
  • scroll_speed — контролирует скорость прокрутки TUI при использовании команд прокрутки (минимум: 0.001, поддерживает десятичные значения). По умолчанию 3. Примечание. Это игнорируется, если для scroll_acceleration.enabled установлено значение true.
  • diff_style — Управляет отображением различий. "auto" адаптируется к ширине терминала, "stacked" всегда показывает одноколоночный макет.
  • mouse — Включает или отключает захват мыши в TUI (по умолчанию true). Если отключено, сохраняется нативное поведение терминала для выделения мышью и прокрутки.
  • attention — Настраивает уведомления рабочего стола и звуки TUI. По умолчанию отключено.

Используйте OPENCODE_TUI_CONFIG для загрузки пользовательского пути конфигурации TUI.

Attention позволяет TUI уведомлять вас, когда OpenCode ждёт ответа, требует подтверждения разрешения, сообщает об ошибке сеанса или завершает сеанс. Включите это с помощью attention.enabled; встроенные события воспроизводят звук при срабатывании. Уведомления рабочего стола отправляются только тогда, когда окно терминала не в фокусе, и не используются для событий subagent.

  • enabled — Включает все уведомления и звуки Attention. По умолчанию false.
  • notifications — Когда Attention включён, разрешает TUI отправлять уведомления рабочего стола через терминал. По умолчанию true.
  • sound — Когда Attention включён, разрешает воспроизводить звуковые оповещения. По умолчанию true.
  • volume — Громкость звуковых оповещений по умолчанию от 0 до 1. По умолчанию 0.4.
  • sound_pack — ID sound pack для использования. По умолчанию opencode.default.
  • sounds — Задаёт пользовательские звуковые файлы для default, question, permission, error, done или subagent_done. Пути могут быть абсолютными, file:// URL или относительными к tui.json.

Вы можете настроить различные аспекты представления TUI, используя палитру команд (ctrl+x h или /help). Эти настройки сохраняются после перезапуска.


Отображение имени пользователя

Включите, будет ли ваше имя пользователя отображаться в сообщениях чата. Доступ к этому через:

  • Палитра команд: поиск «имя пользователя» или «скрыть имя пользователя».
  • Настройка сохраняется автоматически и будет запоминаться во время сеансов TUI.