Перейти к содержимому

TUI

Использование TUI opencode.

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?

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


Bash-команды

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

!ls -la

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


Команды

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

/help

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

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


connect

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

/connect

compact

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

/compact

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


details

Переключить детали выполнения инструмента.

/details

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


editor

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

/editor

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


exit

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

/exit

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


export

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

/export

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


help

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

/help

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


init

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

/init

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


models

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

/models

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


new

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

/new

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


redo

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

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

/redo

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


sessions

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

/sessions

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


share

Поделиться текущим сеансом. Подробнее.

/share

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


theme

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

/theme

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


thinking

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

/thinking

undo

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

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

/undo

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


unshare

Отменить общий доступ к текущему сеансу. Подробнее.

/unshare

Настройка редактора

Команды /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

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.