Buckets:
| title: TUI | |
| description: Использование TUI opencode. | |
| import { Tabs, TabItem } from "@astrojs/starlight/components" | |
| opencode предоставляет интерактивный terminal интерфейс или TUI для работы над вашими проектами с помощью LLM. | |
| Запуск opencode запускает TUI для текущего каталога. | |
| ```bash | |
| opencode | |
| ``` | |
| Или вы можете запустить его для определенного рабочего каталога. | |
| ```bash | |
| opencode /path/to/project | |
| ``` | |
| Как только вы окажетесь в TUI, вы можете запросить его с помощью сообщения. | |
| ```text | |
| Give me a quick summary of the codebase. | |
| ``` | |
| ## Ссылки на файлы | |
| Вы можете ссылаться на файлы в своих сообщениях, используя `@`. Это выполняет нечеткий поиск файлов в текущем рабочем каталоге. | |
| :::tip | |
| Вы также можете использовать `@` для ссылки на файлы в своих сообщениях. | |
| ::: | |
| ```text "@packages/functions/src/api/index.ts" | |
| How is auth handled in @packages/functions/src/api/index.ts? | |
| ``` | |
| Содержимое файла добавляется в беседу автоматически. | |
| ## Bash-команды | |
| Начните сообщение с `!`, чтобы запустить shell-команду. | |
| ```bash frame="none" | |
| !ls -la | |
| ``` | |
| Вывод команды добавляется в диалог как результат работы инструмента. | |
| ## Команды | |
| При использовании opencode TUI вы можете ввести `/`, а затем имя команды, чтобы быстро выполнить действия. Например: | |
| ```bash frame="none" | |
| /help | |
| ``` | |
| Большинство команд также имеют привязку клавиш с использованием `ctrl+x` в качестве ведущей клавиши, где `ctrl+x` — это ведущая клавиша по умолчанию. [Подробнее ](/docs/keybinds). | |
| Вот все доступные слэш-команды: | |
| ### connect | |
| Добавьте провайдера в opencode. Позволяет выбирать из доступных поставщиков и добавлять их ключи API. | |
| ```bash frame="none" | |
| /connect | |
| ``` | |
| ### compact | |
| Сжать текущий сеанс. _Псевдоним_: `/summarize` | |
| ```bash frame="none" | |
| /compact | |
| ``` | |
| **Привязка клавиш:** `ctrl+x c` | |
| ### details | |
| Переключить детали выполнения инструмента. | |
| ```bash frame="none" | |
| /details | |
| ``` | |
| **Привязка клавиш:** `ctrl+x d` | |
| ### editor | |
| Открыть внешний редактор для составления сообщений. Использует редактор, установленный в переменной среды `EDITOR`. [Подробнее ](#editor-setup). | |
| ```bash frame="none" | |
| /editor | |
| ``` | |
| **Привязка клавиш:** `ctrl+x e` | |
| ### exit | |
| Выйдите из opencode. _Псевдонимы_: `/quit`, `/q` | |
| ```bash frame="none" | |
| /exit | |
| ``` | |
| **Привязка клавиш:** `ctrl+x q` | |
| ### export | |
| Экспортируйте текущий разговор в Markdown и откройте его в редакторе по умолчанию. Использует редактор, установленный в переменной среды `EDITOR`. [Подробнее ](#editor-setup). | |
| ```bash frame="none" | |
| /export | |
| ``` | |
| **Привязка клавиш:** `ctrl+x x` | |
| ### help | |
| Показать диалоговое окно помощи. | |
| ```bash frame="none" | |
| /help | |
| ``` | |
| **Привязка клавиш:** `ctrl+x h` | |
| ### init | |
| Создайте или обновите файл `AGENTS.md`. [Подробнее ](/docs/rules). | |
| ```bash frame="none" | |
| /init | |
| ``` | |
| **Привязка клавиш:** `ctrl+x i` | |
| ### models | |
| Перечислите доступные модели. | |
| ```bash frame="none" | |
| /models | |
| ``` | |
| **Привязка клавиш:** `ctrl+x m` | |
| ### new | |
| Начать новый сеанс. _Псевдоним_: `/clear` | |
| ```bash frame="none" | |
| /new | |
| ``` | |
| **Привязка клавиш:** `ctrl+x n` | |
| ### redo | |
| Повторить ранее отмененное сообщение. Доступно только после использования `/undo`. | |
| :::tip | |
| Любые изменения файлов также будут восстановлены. | |
| ::: | |
| Внутри это использует Git для управления изменениями файлов. Итак, ваш проект ** должен | |
| быть репозиторием Git**. | |
| ```bash frame="none" | |
| /redo | |
| ``` | |
| **Привязка клавиш:** `ctrl+x r` | |
| ### sessions | |
| Составляйте список и переключайтесь между сеансами. _Псевдонимы_: `/resume`, `/continue` | |
| ```bash frame="none" | |
| /sessions | |
| ``` | |
| **Привязка клавиш:** `ctrl+x l` | |
| ### share | |
| Поделиться текущим сеансом. [Подробнее](/docs/share). | |
| ```bash frame="none" | |
| /share | |
| ``` | |
| **Привязка клавиш:** `ctrl+x s` | |
| ### theme | |
| Список доступных тем. | |
| ```bash frame="none" | |
| /theme | |
| ``` | |
| **Привязка клавиш:** `ctrl+x t` | |
| ### thinking | |
| Переключить видимость блоков мышления/рассуждения в разговоре. Если этот параметр включен, вы можете увидеть процесс рассуждения модели для моделей, поддерживающих расширенное мышление. | |
| :::note | |
| Эта команда только контролирует, будут ли **отображаться** блоки мышления, но не включает и не отключает возможности модели по рассуждению. Чтобы переключить фактические возможности рассуждения, используйте `ctrl+t` для циклического переключения вариантов модели. | |
| ::: | |
| ```bash frame="none" | |
| /thinking | |
| ``` | |
| ### undo | |
| Отменить последнее сообщение в разговоре. Удаляет самое последнее сообщение пользователя, все последующие ответы и любые изменения файлов. | |
| :::tip | |
| Любые внесенные изменения в файле также будут отменены. | |
| ::: | |
| Внутри это использует Git для управления изменениями файлов. Итак, ваш проект ** должен | |
| быть репозиторием Git**. | |
| ```bash frame="none" | |
| /undo | |
| ``` | |
| **Привязка клавиш:** `ctrl+x u` | |
| ### unshare | |
| Отменить общий доступ к текущему сеансу. [Подробнее](/docs/share#un-sharing). | |
| ```bash frame="none" | |
| /unshare | |
| ``` | |
| ## Настройка редактора | |
| Команды `/editor` и `/export` используют редактор, указанный в переменной среды `EDITOR`. | |
| <Tabs> | |
| <TabItem label="Linux/macOS"> | |
| ```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" | |
| ``` | |
| Чтобы сделать его постоянным, добавьте это в свой профиль shell; | |
| `~/.bashrc`, `~/.zshrc` и т. д. | |
| </TabItem> | |
| <TabItem label="Windows (CMD)"> | |
| ```bash | |
| set EDITOR=notepad | |
| # For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc. | |
| # include --wait | |
| set EDITOR=code --wait | |
| ``` | |
| Чтобы сделать его постоянным, используйте **Свойства системы** > **Среда | |
| Переменные**. | |
| </TabItem> | |
| <TabItem label="Windows (PowerShell)"> | |
| ```powershell | |
| $env:EDITOR = "notepad" | |
| # For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc. | |
| # include --wait | |
| $env:EDITOR = "code --wait" | |
| ``` | |
| Чтобы сделать его постоянным, добавьте его в свой профиль PowerShell. | |
| </TabItem> | |
| </Tabs> | |
| Популярные варианты редактора включают в себя: | |
| - `code` — VS Code | |
| - `cursor` — Cursor | |
| - `windsurf` - Windsurf | |
| - `nvim` - Редактор Neovim | |
| - `vim` — редактор Vim | |
| - `nano` — Нано-редактор | |
| - `notepad` — Блокнот Windows | |
| - `subl` — Sublime Text | |
| :::note | |
| Некоторые редакторы, такие как VS Code, необходимо запускать с флагом `--wait`. | |
| ::: | |
| Некоторым редакторам для работы в режиме блокировки необходимы CLI-аргументы. Флаг `--wait` блокирует процесс редактора до его закрытия. | |
| ## Настройка | |
| Вы можете настроить поведение TUI через `tui.json` (или `tui.jsonc`). | |
| ```json title="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` — Устанавливает тему пользовательского интерфейса. [Подробнее](/docs/themes). | |
| - `keybinds` — Настраивает сочетания клавиш. [Подробнее](/docs/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. | |
Xet Storage Details
- Size:
- 15.3 kB
- Xet hash:
- 9129260a18b83aae0d186386172a9e36f30269687357788fe9aae7881a0fab8f
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.