---
title: CLI
description: OpenCode CLI options and commands.
---

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

기본적으로 OpenCode CLI는 어떤 인수 없이 실행할 때 [TUI](/docs/tui)를 시작합니다.

```bash
opencode
```

그러나이 페이지에서 문서로 명령을받습니다. OpenCode programmatically와 상호 작용할 수 있습니다.

```bash
opencode run "Explain how closures work in JavaScript"
```

---

### 튜이

OpenCode 터미널 사용자 인터페이스를 시작합니다.

```bash
opencode [project]
```

#### 플래그

| 플래그       | 짧은 이름 | 설명                                                              |
| ------------ | --------- | ----------------------------------------------------------------- |
| `--continue` | `-c`      | 마지막 세션 계속하기                                              |
| `--session`  | `-s`      | 계속할 세션 ID                                                    |
| `--fork`     |           | 계속 시 세션 포크하기 (`--continue` 또는 `--session`과 함께 사용) |
| `--prompt`   |           | 사용할 프롬프트                                                   |
| `--model`    | `-m`      | `provider/model` 형식의 모델                                      |
| `--agent`    |           | 사용할 에이전트                                                   |
| `--port`     |           | 수신 대기할 포트                                                  |
| `--hostname` |           | 수신 대기할 호스트명                                              |

---

## 명령

OpenCode CLI에는 다음과 같은 명령이 있습니다.

---

## 대리인

OpenCode에 대한 에이전트 관리.

```bash
opencode agent [command]
```

---

### 첨부

`serve` 또는 `web` 명령을 통해 이미 실행되는 OpenCode 백엔드 서버에 터미널을 첨부합니다.

```bash
opencode attach [url]
```

리모트 OpenCode 백엔드를 사용하여 TUI를 사용할 수 있습니다. 예를 들면:

```bash
# Start the backend server for web/mobile access
opencode web --port 4096 --hostname 0.0.0.0

# In another terminal, attach the TUI to the running backend
opencode attach http://10.20.30.40:4096
```

#### 플래그

| 간선        | 간선 | Description                  |
| ----------- | ---- | ---------------------------- |
| `--dir`     |      | TUI를 시작하는 작업 디렉토리 |
| `--session` | `-s` | 세션 ID                      |

---

#### 생성

사용자 정의 구성으로 새로운 에이전트를 만듭니다.

```bash
opencode agent create
```

이 명령은 사용자 정의 시스템 프롬프트 및 도구 구성으로 새로운 에이전트를 만들기 위해 안내합니다.

---

#### 리스트

모든 사용 가능한 에이전트 목록.

```bash
opencode agent list
```

---

##

credentials 및 로그인을 관리하는 명령.

```bash
opencode auth [command]
```

---

#### 로그인

OpenCode는 [Models.dev](https://models.dev)의 공급자 목록에 의해 구동되므로 `opencode auth login`를 사용하여 사용하려는 모든 공급자의 API 키를 구성할 수 있습니다. 이것은 `~/.local/share/opencode/auth.json`에서 저장됩니다.

```bash
opencode auth login
```

OpenCode가 시작하면 credentials 파일에서 공급자를로드합니다. 그리고 프로젝트에 있는 환경 또는 `.env` 파일에서 정의된 키가 있다면.

---

#### 리스트

credentials 파일에 저장 한 모든 인증 된 제공 업체를 나열합니다.

```bash
opencode auth list
```

또는 짧은 버전.

```bash
opencode auth ls
```

---

### 로그아웃

credentials 파일에서 삭제하여 공급자에서 로그.

```bash
opencode auth logout
```

---

#### github에

저장소 자동화를 위한 GitHub 에이전트 관리.

```bash
opencode github [command]
```

---

### 설치

저장소에 GitHub 에이전트를 설치합니다.

```bash
opencode github install
```

필요한 GitHub Actions 워크플로우를 설정하고 구성 프로세스를 통해 안내합니다. [더 알아보기](/docs/github).

---

#### 실행

GitHub 에이전트를 실행합니다. 이것은 일반적으로 GitHub Actions에서 사용됩니다.

```bash
opencode github run
```

##### 플래그

| 플래그    | 설명                    |
| --------- | ----------------------- |
| `--event` | GitHub 모의 이벤트      |
| `--token` | GitHub 개인 액세스 토큰 |

---

#### mcp를

Model Context Protocol 서버 관리

```bash
opencode mcp [command]
```

---

#### 추가

MCP 서버를 구성에 추가합니다.

```bash
opencode mcp add
```

이 명령은 로컬 또는 원격 MCP 서버를 추가하여 안내합니다.

---

#### 리스트

모든 구성 MCP 서버와 연결 상태를 나열합니다.

```bash
opencode mcp list
```

또는 짧은 버전을 사용합니다.

```bash
opencode mcp ls
```

---

###### 오

OAuth-enabled MCP 서버 인증

```bash
opencode mcp auth [name]
```

서버 이름을 제공하지 않으면 OAuth-capable 서버에서 선택할 수 있습니다.

OAuth-capable 서버와 인증 상태를 나열할 수 있습니다.

```bash
opencode mcp auth list
```

또는 짧은 버전을 사용합니다.

```bash
opencode mcp auth ls
```

---

### 로그아웃

MCP 서버의 OAuth 자격 제거.

```bash
opencode mcp logout [name]
```

---

### 디버그

MCP 서버의 OAuth 연결 문제.

```bash
opencode mcp debug <name>
```

---

## 모델

구성 공급자에서 모든 가능한 모델을 나열합니다.

```bash
opencode models [provider]
```

이 명령은 `provider/model` 형식으로 구성된 제공 업체에서 사용할 수있는 모든 모델을 표시합니다.

이것은 [your config](/docs/config/)에서 사용하는 정확한 모델 이름을 파악하는 데 유용합니다.

선택적으로 공급자 ID를 필터 모델로 전달할 수 있습니다.

```bash
opencode models anthropic
```

#### 플래그

| 플래그      | 설명                                                        |
| ----------- | ----------------------------------------------------------- |
| `--refresh` | 모델 캐시를 모델에서 새로 고침                              |
| `--verbose` | 더 많은 verbose 모델 출력 사용(비용과 같은 메타데이터 포함) |

`--refresh` 플래그를 사용하여 캐시 모델 목록을 업데이트합니다. 이것은 새로운 모델이 공급자에 추가되었을 때 유용합니다. OpenCode에서 그들을보고 싶습니다.

```bash
opencode models --refresh
```

---

### 실행

직접 프롬프트를 통과하여 비동기 모드에서 opencode를 실행합니다.

```bash
opencode run [message..]
```

이것은 스크립트, 자동화 또는 전체 TUI를 실행하지 않고 빠른 응답을 원할 때 유용합니다. 예를 들어.

```bash "opencode run"
opencode run Explain the use of context in Go
```

`opencode serve` 인스턴스를 실행하여 MCP 서버 콜드 부팅 시간을 각 실행할 수 있습니다.

```bash
# Start a headless server in one terminal
opencode serve

# In another terminal, run commands that attach to it
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
```

#### 플래그

| 플래그       | 짧은 이름 | 설명                                                  |
| ------------ | --------- | ----------------------------------------------------- |
| `--command`  |           | 실행 중인 명령 사용(미지정 시 args의 메시지 사용)     |
| `--continue` | `-c`      | 마지막 세션                                           |
| `--session`  | `-s`      | 세션 ID                                               |
| `--share`    |           | 세션 공유                                             |
| `--model`    | `-m`      | `-m`의 형태로 사용 가능                               |
| `--agent`    |           | 에이전트                                              |
| `--file`     | `-f`      | 메시지 첨부 파일                                      |
| `--format`   |           | 출력 형식: formatted 또는 json(raw JSON 이벤트)       |
| `--title`    |           | 세션의 제목(제공되지 않은 경우 truncated prompt 사용) |
| `--attach`   |           | 운영 개시 서버(예: http://localhost:4096)             |
| `--port`     |           | 현지 서버 포트                                        |

---

## 서비스

API 액세스를 위한 headless OpenCode 서버를 시작합니다. 완전한 HTTP 인터페이스를 위해 [server docs](/docs/server)를 체크하십시오.

```bash
opencode serve
```

TUI 인터페이스없이 API 액세스를 제공하는 HTTP 서버를 시작합니다. `OPENCODE_SERVER_PASSWORD`를 설정하여 HTTP 기본 auth (`opencode`에 기본적으로 이름을 지정합니다).

#### 플래그

| 플래그       | 설명                               |
| ------------ | ---------------------------------- |
| `--port`     | 즐거운 항구                        |
| `--hostname` | 듣고 싶은 이름                     |
| `--mdns`     | 엔터블 mDNS 검색                   |
| `--cors`     | CORS를 허용하는 추가 브라우저 기원 |

---

### 세션

OpenCode 세션 관리.

```bash
opencode session [command]
```

---

#### 리스트

모든 OpenCode 세션 목록.

```bash
opencode session list
```

##### 플래그

| 플래그        | 짧은 이름 | 설명                       |
| ------------- | --------- | -------------------------- |
| `--max-count` | `-n`      | 최근 세션에 제한           |
| `--format`    |           | 출력 형식: table 또는 json |

---

### 통계

OpenCode 세션에 대한 토큰 사용 및 비용 통계를 표시합니다.

```bash
opencode stats
```

#### 플래그

| 플래그      | 설명                                                                |
| ----------- | ------------------------------------------------------------------- |
| `--days`    | 지난 N일간의 통계를 보여 주세요(모든 시간)                          |
| `--tools`   | 쇼의 도구 수                                                        |
| `--models`  | 모델 사용 내역(기본적으로 숨겨져 있음) 상단 N을 표시할 수 있는 번호 |
| `--project` | 프로젝트별 필터링(모든 프로젝트, 빈 문자열: 현재 프로젝트)          |

---

### 수출

JSON으로 세션 데이터를 내보내기.

```bash
opencode export [sessionID]
```

세션 ID를 제공하지 않는 경우 사용 가능한 세션에서 선택할 수 있습니다.

---

### 가져오기

JSON 파일 또는 OpenCode 공유 URL에서 세션 데이터를 가져옵니다.

```bash
opencode import <file>
```

로컬 파일 또는 OpenCode 공유 URL에서 가져올 수 있습니다.

```bash
opencode import session.json
opencode import https://opncd.ai/s/abc123
```

---

#### 웹

웹 인터페이스로 headless OpenCode 서버를 시작합니다.

```bash
opencode web
```

HTTP 서버를 시작하고 웹 인터페이스를 통해 OpenCode에 액세스하는 웹 브라우저를 엽니 다. `OPENCODE_SERVER_PASSWORD`를 설정하여 HTTP 기본 auth (`opencode`에 기본적으로 이름을 지정합니다).

#### 플래그

| 플래그       | 설명                               |
| ------------ | ---------------------------------- |
| `--port`     | 즐거운 항구                        |
| `--hostname` | 듣고 싶은 이름                     |
| `--mdns`     | 엔터블 mDNS 검색                   |
| `--cors`     | CORS를 허용하는 추가 브라우저 기원 |

---

#### 아프

ACP(Agent Client Protocol) 서버를 시작합니다.

```bash
opencode acp
```

이 명령은 nd-JSON을 사용하여 stdin/stdout을 통해 통신하는 ACP 서버를 시작합니다.

#### 플래그

| 플래그       | 설명           |
| ------------ | -------------- |
| `--cwd`      | 작업 디렉토리  |
| `--port`     | 즐거운 항구    |
| `--hostname` | 듣고 싶은 이름 |

---

## 제거

OpenCode 제거하고 관련 파일을 제거합니다.

```bash
opencode uninstall
```

#### 플래그

| 간선            | 간선 | Description                |
| --------------- | ---- | -------------------------- |
| `--keep-config` | `-c` | 구성 파일 유지             |
| `--keep-data`   | `-d` | 세션 데이터 및 스냅샷 유지 |
| `--dry-run`     |      | 제거하지 않고 제거하는 것  |
| `--force`       | `-f` | 확인 프롬프트              |

---

### 업그레이드

업데이트 opencode 최신 버전 또는 특정 버전.

```bash
opencode upgrade [target]
```

최신 버전으로 업그레이드하십시오.

```bash
opencode upgrade
```

특정 버전으로 업그레이드하십시오.

```bash
opencode upgrade v0.1.48
```

#### 플래그

| 간선       | 간선 | Description                                  |
| ---------- | ---- | -------------------------------------------- |
| `--method` | `-m` | 사용중인 설치 방법; 컬, npm, pnpm, bun, brew |

---

## 글로벌 플래그

opencode CLI는 다음의 글로벌 플래그를 사용합니다.

| 플래그         | 짧은 이름 | 설명                                |
| -------------- | --------- | ----------------------------------- |
| `--help`       | `-h`      | 디스플레이 도움말                   |
| `--version`    | `-v`      | 인쇄판 번호                         |
| `--print-logs` |           | 스터디로 로그인                     |
| `--log-level`  |           | 로그 레벨(DEBUG, INFO, WARN, ERROR) |

---

## 환경 변수

OpenCode는 환경 변수를 사용하여 구성할 수 있습니다.

| 변하기 쉬운                           | 유형    | 묘사                                      |
| ------------------------------------- | ------- | ----------------------------------------- |
| `OPENCODE_AUTO_SHARE`                 | 불린    | 자동 공유 세션                            |
| `OPENCODE_GIT_BASH_PATH`              | string  | Windows에서 실행되는 Git Bash 경로        |
| `OPENCODE_CONFIG`                     | string  | 설정파일 경로                             |
| `OPENCODE_CONFIG_DIR`                 | string  | 구성 디렉토리 경로                        |
| `OPENCODE_CONFIG_CONTENT`             | 문자열  | 인라인 json 구성 내용                     |
| `OPENCODE_DISABLE_AUTOUPDATE`         | 불린    | 자동 업데이트 체크 아웃                   |
| `OPENCODE_DISABLE_PRUNE`              | boolean | 오래된 자료의 무능                        |
| `OPENCODE_DISABLE_TERMINAL_TITLE`     | 불린    | 자동 단말 제목 업데이트                   |
| `OPENCODE_PERMISSION`                 | 문자열  | 인라인 json 권한 설정                     |
| `OPENCODE_DISABLE_DEFAULT_PLUGINS`    | 불린    | 기본 플러그인 비활성화                    |
| `OPENCODE_DISABLE_LSP_DOWNLOAD`       | 불린    | 자동 LSP 서버 다운로드                    |
| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | 불린    | 실험 모델                                 |
| `OPENCODE_DISABLE_AUTOCOMPACT`        | boolean | 자동 컨텍스트 컴팩트                      |
| `OPENCODE_DISABLE_CLAUDE_CODE`        | boolean | `.claude`(prompt + Skill)의 읽을 수 있음  |
| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | 불린    | `~/.claude/CLAUDE.md`를 읽을 수 있습니다  |
| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | 불린    | `.claude/skills` 적재 가능                |
| `OPENCODE_DISABLE_MODELS_FETCH`       | boolean | 리모트 소스에서 모델에 익숙하지 않은 모델 |
| `OPENCODE_FAKE_VCS`                   | string  | 시험용 VCS 제공업체                       |
| `OPENCODE_DISABLE_FILETIME_CHECK`     | boolean | 최적화를 위한 파일 시간 검사              |
| `OPENCODE_CLIENT`                     | string  | 클라이언트 식별자(`cli`와 동일)           |
| `OPENCODE_ENABLE_EXA`                 | 불린    | 엑다 웹 검색 도구                         |
| `OPENCODE_SERVER_PASSWORD`            | string  | `serve`/`web`에 대한 기본 요점            |
| `OPENCODE_SERVER_USERNAME`            | string  | 기본 사용자 이름(기본 `opencode`)         |
| `OPENCODE_MODELS_URL`                 | string  | 모델 구성의 맞춤 URL                      |

---

### 실험

이 환경변수는 변화하거나 제거될 수 있는 실험적인 특징을 가능하게 합니다.

| 변하기 쉬운                                     | 유형    | 묘사                           |
| ----------------------------------------------- | ------- | ------------------------------ |
| `OPENCODE_EXPERIMENTAL`                         | 불린    | 모든 실험적인 특징             |
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY`          | boolean | 아이콘 검색                    |
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT`  | 불린    | TUI의 선택 해제                |
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | 번호    | ms에서 bash 명령의 기본 시간   |
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX`        | 번호    | LLM 응답을 위한 최대 출력 토큰 |
| `OPENCODE_EXPERIMENTAL_FILEWATCHER`             | boolean | 전체 디디터용 파일워커         |
| `OPENCODE_EXPERIMENTAL_OXFMT`                   | 불린    | 엔블 oxfmt 형식                |
| `OPENCODE_EXPERIMENTAL_LSP_TOOL`                | 불린    | 실험적인 LSP 도구              |
| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER`     | boolean | 사용 가능한 파일워커           |
| `OPENCODE_EXPERIMENTAL_EXA`                     | boolean | 실험용 Exa 기능                |
| `OPENCODE_EXPERIMENTAL_LSP_TY`                  | 불린    | 실험적인 LSP형 검사            |
| `OPENCODE_EXPERIMENTAL_MARKDOWN`                | boolean | 실험용 마운팅 기능             |
| `OPENCODE_EXPERIMENTAL_PLAN_MODE`               | 불린    | 플랜 모드                      |
