---
title: TUI
description: OpenCode 터미널 사용자 인터페이스 사용.
---

import { Tabs, TabItem } from "@astrojs/starlight/components"

opencode는 LLM과 함께 프로젝트를 위해 대화형 terminal 인터페이스 또는 TUI를 제공합니다.

opencode는 현재 디렉토리에 TUI를 시작합니다.

```bash
opencode
```

또는 특정 작업 디렉토리에 대해 시작할 수 있습니다.

```bash
opencode /path/to/project
```

TUI에 있다면 메시지가 표시됩니다.

```text
Give me a quick summary of the codebase.
```

---

## 파일 참조

`@`를 사용하여 메시지에 파일을 참조 할 수 있습니다. 이것은 현재 작업 디렉토리에서 fuzzy 파일 검색입니다.

:::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
```

** Keybind:** `ctrl+x c`

---

### /details

토글 툴 실행 세부 사항.

```bash frame="none"
/details
```

** Keybind:** `ctrl+x d`

---

### /editor

메시지를 작성하기 위한 외부 편집기를 엽니다. `EDITOR` 환경에서 설정된 편집기를 사용합니다. [더 알아보기](#editor-setup).

```bash frame="none"
/editor
```

** Keybind:** `ctrl+x e`

---

### /exit

opencode를 종료합니다. Aliases : `/quit`, `/q`

```bash frame="none"
/exit
```

** Keybind:** `ctrl+x q`

---

### /export

Markdown에 대한 현재 대화를 내보내고 기본 편집기에서 열립니다. `EDITOR` 환경에서 설정된 편집기를 사용합니다. [더 알아보기](#editor-setup).

```bash frame="none"
/export
```

** Keybind:** `ctrl+x x`

---

### /help

도움말 대화 상자를 표시합니다.

```bash frame="none"
/help
```

** Keybind:** `ctrl+x h`

---

###### /init

`AGENTS.md` 파일을 만들거나 업데이트하십시오. [더 알아보기](/docs/rules).

```bash frame="none"
/init
```

** Keybind:** `ctrl+x i`

---

## /models

사용 가능한 모델 목록.

```bash frame="none"
/models
```

** Keybind:** `ctrl+x m`

---

## /new

새로운 세션을 시작합니다. 앨리스 : `/clear`

```bash frame="none"
/new
```

** Keybind:** `ctrl+x n`

---

##### /redo

이전 undone 메시지 Redo. `/undo`를 사용하는 후에만 유효한.

:::tip
모든 파일 변경도 복원됩니다.
:::

내부적으로 Git을 사용하여 파일 변경을 관리합니다. 그래서 프로젝트 **
Git 저장소**입니다.

```bash frame="none"
/redo
```

** Keybind:** `ctrl+x r`

---

## /sessions

세션 간 목록 및 전환. Aliases : `/resume`, `/continue`

```bash frame="none"
/sessions
```

** Keybind:** `ctrl+x l`

---

## 공유

현재 세션 공유. [더 알아보기](/docs/share).

```bash frame="none"
/share
```

** Keybind:** `ctrl+x s`

---

## /theme

사용할 수 있는 테마 목록.

```bash frame="none"
/theme
```

** Keybind:** `ctrl+x t`

---

### /thinking

대화의 사고/거주 블록의 가시성을 토합니다. 사용할 때, 확장 된 생각을 지원하는 모델의 이유 프로세스를 볼 수 있습니다.

:::note
이 명령은 생각 블록이 ** 표시되었는지 여부 만 제어 ** - 모델의 소싱 기능을 활성화하거나 비활성화하지 않습니다. toggle 실제적인 reasoning 기능에, 모형 변종을 통해서 주기 위하여 `ctrl+t`를 이용합니다.
:::

```bash frame="none"
/thinking
```

---

##### /undo

대화에서 마지막 메시지. 가장 최근의 사용자 메시지, 모든 후속 응답 및 모든 파일 변경 제거.

:::tip
어떤 파일 변경도 복제됩니다.
:::

내부적으로 Git을 사용하여 파일 변경을 관리합니다. 그래서 프로젝트 **
Git 저장소**입니다.

```bash frame="none"
/undo
```

** Keybind:** `ctrl+x u`

---

#### /unshare

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
    ```

영구적으로, use **System Properties** > ** 환경
변수**.

  </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` - Visual Studio 코드
- `cursor` - 커서
- `windsurf` - 윈드 서핑
- `nvim` - Neovim 편집기
- `vim` - Vim 편집기
- `nano` - 나노 편집기
- `notepad` - 윈도우 노트패드
- `subl` - 승화 텍스트

:::note
VS Code와 같은 일부 편집기는 `--wait` 플래그와 함께 시작해야합니다.
:::

일부 편집기는 명령줄 인수가 차단 모드에서 실행되어야 합니다. `--wait` 플래그는 닫힐 때까지 편집기 프로세스 블록을 만듭니다.

---

## 구성

opencode config 파일을 통해 TUI 동작을 사용자 정의할 수 있습니다.

```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` - 스크롤 명령 (최소 : `1`)을 사용하여 TUI 스크롤을 빠르게 제어합니다. 기본 `3`. ** 참고: `scroll_acceleration.enabled`가 `true`로 설정되면 무시됩니다.**

---

## 사용자 정의

명령 팔레트 (`ctrl+x h` 또는 `/help`)를 사용하여 TUI보기의 다양한 측면을 사용자 정의 할 수 있습니다. 재시작에 따른 설정 persist.

---

#### 사용자 이름 표시

사용자 이름이 채팅 메시지에 나타나는지 여부를 수정합니다. 이것을 통해 접근:

- 명령 팔레트 : "username" 또는 "hide 사용자" 검색
- 자동 설정은 TUI 세션을 통해 기억됩니다.
