mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-04-10 02:39:56 +00:00
391 lines
12 KiB
Plaintext
391 lines
12 KiB
Plaintext
---
|
||
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.
|