--- title: ТУИ description: Использование пользовательского интерфейса терминала OpenCode. --- import { Tabs, TabItem } from "@astrojs/starlight/components" OpenCode предоставляет интерактивный интерфейс терминала или TUI для работы над вашими проектами с помощью LLM. Запуск OpenCode запускает TUI для текущего каталога. ```bash opencode ``` Или вы можете запустить его для определенного рабочего каталога. ```bash opencode /path/to/project ``` Как только вы окажетесь в TUI, вы можете запросить его с помощью сообщения. ```text Give me a quick summary of the codebase. ``` --- ## Ссылки на файлы Вы можете ссылаться на файлы в своих сообщениях, используя `@`. Это выполняет нечеткий поиск файлов в текущем рабочем каталоге. :::кончик Вы также можете использовать `@` для ссылки на файлы в своих сообщениях. ::: ```text "@packages/functions/src/api/index.ts" How is auth handled in @packages/functions/src/api/index.ts? ``` Содержимое файла добавляется в беседу автоматически. --- ## Bash-команды Начните сообщение с `!`, чтобы запустить команду оболочки. ```bash frame="none" !ls -la ``` Вывод команды добавляется в диалог как результат работы инструмента. --- ## Команды При использовании OpenCode TUI вы можете ввести `/`, а затем имя команды, чтобы быстро выполнить действия. Например: ```bash frame="none" /help ``` Большинство команд также имеют привязку клавиш с использованием `ctrl+x` в качестве ведущей клавиши, где `ctrl+x` — это ведущая клавиша по умолчанию. [Подробнее ](/docs/keybinds). Вот все доступные слэш-команды: --- ### соединять Добавьте провайдера в OpenCode. Позволяет выбирать из доступных поставщиков и добавлять их ключи API. ```bash frame="none" /connect ``` --- ### компактный Сжать текущий сеанс. _Псевдоним_: `/summarize` ```bash frame="none" /compact ``` **Привязка клавиш:** `ctrl+x c` --- ### подробности Переключить детали выполнения инструмента. ```bash frame="none" /details ``` **Привязка клавиш:** `ctrl+x d` --- ### редактор Открыть внешний редактор для составления сообщений. Использует редактор, установленный в переменной среды `EDITOR`. [Подробнее ](#editor-setup). ```bash frame="none" /editor ``` **Привязка клавиш:** `ctrl+x e` --- ### Выход Выйдите из OpenCode. _Псевдонимы_: `/quit`, `/q` ```bash frame="none" /exit ``` **Привязка клавиш:** `ctrl+x q` --- ### экспорт Экспортируйте текущий разговор в Markdown и откройте его в редакторе по умолчанию. Использует редактор, установленный в переменной среды `EDITOR`. [Подробнее ](#editor-setup). ```bash frame="none" /export ``` **Привязка клавиш:** `ctrl+x x` --- ### помощь Показать диалоговое окно помощи. ```bash frame="none" /help ``` **Привязка клавиш:** `ctrl+x h` --- ### инициализация Создайте или обновите файл `AGENTS.md`. [Подробнее ](/docs/rules). ```bash frame="none" /init ``` **Привязка клавиш:** `ctrl+x i` --- ### модели Перечислите доступные модели. ```bash frame="none" /models ``` **Привязка клавиш:** `ctrl+x m` --- ### новый Начать новый сеанс. _Псевдоним_: `/clear` ```bash frame="none" /new ``` **Привязка клавиш:** `ctrl+x n` --- ### переделывать Повторить ранее отмененное сообщение. Доступно только после использования `/undo`. :::кончик Любые изменения файлов также будут восстановлены. ::: Внутри это использует Git для управления изменениями файлов. Итак, ваш проект ** должен быть репозиторием Git**. ```bash frame="none" /redo ``` **Привязка клавиш:** `ctrl+x r` --- ### сессии Составляйте список и переключайтесь между сеансами. _Псевдонимы_: `/resume`, `/continue` ```bash frame="none" /sessions ``` **Привязка клавиш:** `ctrl+x l` --- ### делиться Поделиться текущим сеансом. [Подробнее](/docs/share). ```bash frame="none" /share ``` **Привязка клавиш:** `ctrl+x s` --- ### темы Список доступных тем. ```bash frame="none" /theme ``` **Привязка клавиш:** `ctrl+x t` --- ### мышление Переключить видимость блоков мышления/рассуждения в разговоре. Если этот параметр включен, вы можете увидеть процесс рассуждения модели для моделей, поддерживающих расширенное мышление. :::примечание Эта команда только контролирует, будут ли **отображаться** блоки мышления, но не включает и не отключает возможности модели по рассуждению. Чтобы переключить фактические возможности рассуждения, используйте `ctrl+t` для циклического переключения вариантов модели. ::: ```bash frame="none" /thinking ``` --- ### отменить Отменить последнее сообщение в разговоре. Удаляет самое последнее сообщение пользователя, все последующие ответы и любые изменения файлов. :::кончик Любые внесенные изменения в файле также будут отменены. ::: Внутри это использует Git для управления изменениями файлов. Итак, ваш проект ** должен быть репозиторием Git**. ```bash frame="none" /undo ``` **Привязка клавиш:** `ctrl+x u` --- ### отменить совместное использование Отменить общий доступ к текущему сеансу. [Подробнее](/docs/share#un-sharing). ```bash frame="none" /unshare ``` --- ## Настройка редактора Команды `/editor` и `/export` используют редактор, указанный в переменной среды `EDITOR`. ХХ0ГГ ХХ0ГГ ```bash # 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" ``` Чтобы сделать его постоянным, добавьте это в свой профиль оболочки; `~/.bashrc`, `~/.zshrc` и т. д. ХХ0ГГ ХХ0ГГ ```bash set EDITOR=notepad # For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc. # include --wait set EDITOR=code --wait ``` Чтобы сделать его постоянным, используйте **Свойства системы** > **Среда. Переменные**. ХХ0ГГ ХХ0ГГ ```powershell $env:EDITOR = "notepad" # For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc. # include --wait $env:EDITOR = "code --wait" ``` Чтобы сделать его постоянным, добавьте его в свой профиль PowerShell. ХХ0ГГ ХХ0ГГ Популярные варианты редактора включают в себя: - `code` — код Visual Studio - `cursor` — Курсор - `windsurf` - Виндсерфинг - `nvim` - Редактор Neovim - `vim` — редактор Vim - `nano` — Нано-редактор - `notepad` — Блокнот Windows - `subl` – возвышенный текст :::примечание Некоторые редакторы, такие как VS Code, необходимо запускать с флагом `--wait`. ::: Некоторым редакторам для работы в режиме блокировки необходимы аргументы командной строки. Флаг `--wait` блокирует процесс редактора до его закрытия. --- ## Настроить Вы можете настроить поведение TUI через файл конфигурации OpenCode. ```json title="opencode.json" { "$schema": "https://opencode.ai/config.json", "tui": { "scroll_speed": 3, "scroll_acceleration": { "enabled": true } } } ``` ### Параметры - `scroll_acceleration` — включите ускорение прокрутки в стиле macOS для плавной и естественной прокрутки. Если этот параметр включен, скорость прокрутки увеличивается при быстрой прокрутке и остается точной при более медленных движениях. **Этот параметр имеет приоритет над `scroll_speed` и переопределяет его, если он включен.** - `scroll_speed` — контролирует скорость прокрутки TUI при использовании команд прокрутки (минимум: `1`). По умолчанию `3`. **Примечание. Это игнорируется, если для `scroll_acceleration.enabled` установлено значение `true`.** --- ## Кастомизация Вы можете настроить различные аспекты представления TUI, используя палитру команд (`ctrl+x h` или `/help`). Эти настройки сохраняются после перезапуска. --- #### Отображение имени пользователя Включите, будет ли ваше имя пользователя отображаться в сообщениях чата. Доступ к этому через: - Палитра команд: поиск «имя пользователя» или «скрыть имя пользователя». - Настройка сохраняется автоматически и будет запоминаться во время сеансов TUI.