컨텐츠로 건너뛰기

TUI

OpenCode는 LLM과 함께 프로젝트에서 작업하기 위한 대화형 터미널 인터페이스(TUI)를 제공합니다.

현재 디렉토리에 대해 OpenCode 시작:

opencode

또는 특정 디렉토리에 대해:

opencode /path/to/project

파일 참조

@를 사용하여 메시지에서 파일을 참조할 수 있습니다. 이것은 퍼지 파일 검색을 수행합니다:

How is auth handled in @packages/functions/src/api/index.ts?

파일 내용이 자동으로 대화 추가됩니다.

구성된 참조는 @ 자동완성에 표시됩니다.

Bash 명령

!로 시작하는 메시지는 셸 명령을 실행합니다:

!ls -la

명령 출력이 대화 추가됩니다.

명령어

/ 다음에 명령어 이름을 입력하여 작업 실행:

/help

대부분의 명령어는 ctrl+x를 기본 리더 키로 사용하는 키보드 단축키가 있습니다.

Connect

OpenCode에 provider 추가:

/connect

Compact

현재 세션 압축. 별칭: /summarize

키바인드: ctrl+x c

Details

도구 실행 상세 정보 전환:

/details

Editor

메시지 작성을 위한 외부 편집기 열기. EDITOR 환경 변수를 사용합니다.

키바인드: ctrl+x e

Exit

OpenCode 종료. 별칭: /quit, /q

키바인드: ctrl+x q

Export

현재 대화를 Markdown으로 내보내고 편집기에서 열기.

키바인드: ctrl+x x

Help

도움말 대화상자 표시:

/help

Init

AGENTS.md 생성 또는 업데이트를 위한 가이드된 설정.

Models

사용 가능한 모델 나열.

키바인드: ctrl+x m

New

새 세션 시작. 별칭: /clear

키바인드: ctrl+x n

Redo

이전에 취소된 메시지를 다시 실행. /undo 후에만 사용 가능.

키바인드: ctrl+x r

Sessions

세션 나열 및 전환. 별칭: /resume, /continue

키바인드: ctrl+x l

Share

협업을 위해 현재 세션 공유.

Themes

사용 가능한 테마 나열.

키바인드: ctrl+x t

Thinking

사고/추론 블록 표시 가시성 전환. 활성화되면 모델의 추론 프로세스를 볼 수 있습니다.

참고: 이는 표시만 제어하며 실제 추론 기능은 제어하지 않습니다. 추론을 전환하려면 ctrl+t를 사용하세요.

Undo

마지막 메시지 취소. 가장 최근의 사용자 메시지, 모든 후속 응답 및 모든 파일 변경을 제거합니다.

참고: 내부적으로 Git을 사용하여 파일 변경을 관리합니다. 프로젝트는 Git 저장소여야 합니다.

키바인드: ctrl+x u

Unshare

현재 세션 공유 해제.

편집기 설정

/editor/export는 모두 EDITOR 환경 변수의 편집기를 사용합니다.

Linux/macOS:

export EDITOR=nano  # 또는 vim
export EDITOR="code --wait"  # VS Code용

Windows (PowerShell):

$env:EDITOR = "code --wait"

구성

tui.json을 통해 TUI 동작을 사용자 정의합니다:

{
  "$schema": "https://opencode.ai/tui.json",
  "theme": "opencode",
  "leader_timeout": 2000,
  "keybinds": {
    "leader": "ctrl+x",
    "command_list": "ctrl+p"
  },
  "scroll_speed": 3,
  "diff_style": "auto",
  "mouse": true,
  "attention": {
    "enabled": true,
    "notifications": true,
    "sound": true,
    "volume": 0.4
  }
}

옵션

  • theme - UI 테마 설정
  • keybinds - 키보드 단축키 사용자 정의
  • leader_timeout - 리더 키 후 대기 시간 (기본값: 2000)
  • scroll_speed - 스크롤 속도 제어 (기본값: 3)
  • diff_style - Diff 렌더링: "auto" 또는 "stacked"
  • mouse - 마우스 캡처 활성화/비활성화 (기본값: true)
  • attention - 데스크톱 알림 및 소리

Attention

TUI 알림 및 소리 구성:

  • enabled - 모든 attention 기능 활성화 (기본값: false)
  • notifications - 데스크톱 알림 (기본값: true)
  • sound - attention 소리 (기본값: true)
  • volume - 소리 볼륨 0-1 (기본값: 0.4)
  • sound_pack - 사운드 팩 ID (기본값: opencode.default)

사용자 정의

명령 팔레트 (ctrl+p)를 통해 TUI 보기를 사용자 정의할 수 있습니다:

  • 사용자명 표시 - 채팅 메시지에 사용자명이 표시되는지 전환