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 и т. д.
set EDITOR=notepad
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
# include --wait
set EDITOR=code --waitЧтобы сделать его постоянным, используйте Свойства системы > Среда Переменные.
$env:EDITOR = "notepad"
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
# include --wait
$env:EDITOR = "code --wait"Чтобы сделать его постоянным, добавьте его в свой профиль PowerShell.
Популярные варианты редактора включают в себя:
code— VS Codecursor— Cursorwindsurf- Windsurfnvim- Редактор Neovimvim— редактор Vimnano— Нано-редакторnotepad— Блокнот Windowssubl— Sublime Text
Некоторым редакторам для работы в режиме блокировки необходимы CLI-аргументы. Флаг --wait блокирует процесс редактора до его закрытия.
Вы можете настроить поведение TUI через tui.json (или tui.jsonc).
{
"$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.