CLI
CLI
OpenCode CLI 옵션 및 명령어입니다.
OpenCode CLI는 기본적으로 인수가 없이 실행하면 TUI 터미널 사용자 인터페이스를 시작합니다.
opencode
또한 아래 문서에 기록된 명령을 받아 프로그래밍 방식 상호작용도 지원합니다.
opencode run "Explain how closures work in JavaScript"
tui
OpenCode 터미널 사용자 인터페이스를 시작합니다.
opencode [project]
플래그
| 플래그 | 짧은 | 설명 |
|---|---|---|
--continue | -c | 마지막 세션 계속 |
--session | -s | 계속할 세션 ID |
--fork | - | 계속할 때 세션 분기 |
--prompt | - | 사용할 프롬프트 |
--model | -m | provider/model 형식의 모델 |
--agent | - | 사용할 에이전트 |
--port | - | 수신 대기 포트 |
--hostname | - | 수신 대기 호스트명 |
--mdns | - | mDNS 검색 활성화 |
--mdns-domain | - | 커스텀 mDNS 도메인 이름 |
--cors | - | CORS를 허용할 추가 브라우저 오리진 |
Commands
OpenCode CLI에는 다음 명령도 있습니다.
agent
OpenCode용 에이전트 관리합니다.
opencode agent [command]
create
커스텀 구성으로 새 에이전트를 생성합니다.
opencode agent create
이 명령은 커스텀 시스템 프롬프트 및 권한 구성으로 새 에이전트를 만드는 과정을 안내합니다. 허용하지 않는 것은 생성된 에이전트의 frontmatter에서 거부됩니다.
| 플래그 | 짧은 | 설명 |
|---|---|---|
--path | - | 에이전트 파일을 쓸 디렉토리 |
--description | - | 에이전트가 수행할 작업 |
--mode | - | 에이전트 모드: all, primary, 또는 subagent |
--permissions | - | 허용할 권한의 쉼표로 구분된 목록 |
--model | -m | 사용할 모델, provider/model 형식 |
사용 가능한 권한: bash, read, edit, glob, grep, webfetch, task, todowrite, websearch, lsp, skill.
list
사용 가능한 모든 에이전트를 나열합니다.
opencode agent list
attach
serve 또는 web 명령으로 시작된 이미 실행 중인 OpenCode 백엔드 서버에 터미널을 연결합니다.
opencode attach [url]
이를 통해 원격 OpenCode 백엔드로 TUI를 사용할 수 있습니다.
# 웹/모바일 액세스를 위한 백엔드 서버 시작
opencode web --port 4096 --hostname 0.0.0.0
# 다른 터미널에서 TUI를 실행 중인 백엔드에 연결
opencode attach http://10.20.30.40:4096
| 플래그 | 짧은 | 설명 |
|---|---|---|
--dir | - | TUI를 시작할 작업 디렉토리 |
--continue | -c | 세션 계속 |
--session | -s | 세션 ID 지정 |
--fork | - | 세션 분기 |
--password | -p | 기본 인증 비밀번호 |
--username | -u | 기본 인증 사용자명 |
auth
provider의 자격 증명 및 로그인을 관리하는 명령입니다.
opencode auth [command]
login
Models.dev의 provider 목록으로 구동되므로 opencode auth login을 사용하여 사용하려는 provider의 API 키를 구성할 수 있습니다. 이는 ~/.local/share/opencode/auth.json에 저장됩니다.
opencode auth login
| 플래그 | 짧은 | 설명 |
|---|---|---|
--provider | -p | 로그인할 provider ID 또는 이름 |
--method | -m | 사용할 로그인 방법 레이블 |
list
자격 증명 파일에 저장된 인증된 모든 provider를 나열합니다.
opencode auth list
# 또는 짧은 버전
opencode auth ls
logout
provider에서 로그아웃하여 자격 증명 파일에서 제거합니다.
opencode auth logout
github
저장소 자동화를 위한 GitHub 에이전트를 관리합니다.
opencode github [command]
install
저장소에 GitHub 에이전트를 설치합니다.
opencode github install
필요한 GitHub Actions 워크플로우를 설정하고 구성 프로세스를 안내합니다.
run
GitHub 에이전트를 실행합니다. 이는 일반적으로 GitHub Actions에서 사용됩니다.
opencode github run
| 플래그 | 설명 |
|---|---|
--event | 에이전트를 실행할 GitHub 모의 이벤트 |
--token | GitHub personal access token |
mcp
Model Context Protocol 서버를 관리합니다.
opencode mcp [command]
add
구성에 MCP 서버를 추가합니다.
opencode mcp add
list
구성된 모든 MCP 서버 및 연결 상태를 나열합니다.
opencode mcp list
# 또는 짧은 버전
opencode mcp ls
auth
OAuth 지원 MCP 서버로 인증합니다.
opencode mcp auth [name]
OAuth 지원 서버 나열:
opencode mcp auth list
# 또는 짧은 버전
opencode mcp auth ls
logout
MCP 서버의 OAuth 자격 증명을 제거합니다.
opencode mcp logout [name]
debug
MCP 서버의 OAuth 연결 문제를 디버그합니다.
opencode mcp debug <name>
models
구성된 provider의 사용 가능한 모든 모델을 나열합니다.
opencode models [provider]
이 명령은 provider/model 형식으로 구성된 provider에서 사용 가능한 모든 모델을 표시합니다.
opencode models anthropic
| 플래그 | 설명 |
|---|---|
--refresh | models.dev에서 모델 캐시 새로고침 |
--verbose | 더 자세한 모델 출력 사용 (메타데이터 포함) |
run
프롬프트를 직접 전달하여 비 대화형 모드로 opencode를 실행합니다.
opencode run [message..]
opencode run Explain the use of context in Go
실행 중인 opencode serve 인스턴스에 연결할 수도 있습니다:
# 한 터미널에서 헤드리스 서버 시작
opencode serve
# 다른 터미널에서 연결하여 명령 실행
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
| 플래그 | 짧은 | 설명 |
|---|---|---|
--command | - | 실행할 명령, message를 인수로 사용 |
--continue | -c | 마지막 세션 계속 |
--session | -s | 계속할 세션 ID |
--fork | - | 계속할 때 세션 분기 |
--share | - | 세션 공유 |
--model | -m | provider/model 형식의 모델 |
--agent | - | 사용할 에이전트 |
--file | -f | 메시지에 첨부할 파일 |
--format | - | 형식: default (형식화됨) 또는 json (원시 JSON 이벤트) |
--title | - | 세션 제목 |
--attach | - | 실행 중인 opencode 서버에 연결 |
--password | -p | 기본 인증 비밀번호 |
--username | -u | 기본 인증 사용자명 |
--dir | - | 실행할 디렉토리, 연결 시 원격 서버의 경로 |
--port | - | 로컬 서버용 포트 |
--variant | - | 모델 변형 (provider별 추론 노력) |
--thinking | - | 사고 블록 표시 |
--dangerously-skip-permissions | - | 권한 자동 승인 (위험!) |
serve
API 액세스를 위한 헤드리스 OpenCode 서버를 시작합니다.
opencode serve
이는 TUI 인터페이스 없이 opencode 기능에 대한 API 액세스를 제공하는 HTTP 서버를 시작합니다. HTTP 기본 인증을 활성화하려면 OPENCODE_SERVER_PASSWORD를 설정하세요.
| 플래그 | 설명 |
|---|---|
--port | 수신 대기 포트 |
--hostname | 수신 대기 호스트명 |
--mdns | mDNS 검색 활성화 |
--mdns-domain | 커스텀 mDNS 도메인 이름 |
--cors | CORS를 허용할 추가 브라우저 오리진 |
session
OpenCode 세션을 관리합니다.
opencode session [command]
list
모든 OpenCode 세션을 나열합니다.
opencode session list
| 플래그 | 짧은 | 설명 |
|---|---|---|
--max-count | -n | 가장 최근 N개의 세션으로 제한 |
--format | - | 출력 형식: table 또는 json |
delete
OpenCode 세션을 삭제합니다.
opencode session delete <sessionID>
stats
OpenCode 세션의 토큰 사용량 및 비용 통계를 표시합니다.
opencode stats
| 플래그 | 설명 |
|---|---|
--days | 지난 N일의 통계 표시 |
--tools | 표시할 도구 수 |
--models | 모델 사용량 분류 표시 |
--project | 프로젝트별 필터 |
export
세션 데이터를 JSON으로 내보냅니다.
opencode export [sessionID]
| 플래그 | 설명 |
|---|---|
--sanitize | 민감한 트랜스크립트/파일 데이터 삭제 |
import
JSON 파일 또는 OpenCode 공유 URL에서 세션 데이터를 가져옵니다.
opencode import <file>
opencode import session.json
opencode import https://opncd.ai/s/abc123
web
웹 인터페이스가 있는 헤드리스 OpenCode 서버를 시작합니다.
opencode web
| 플래그 | 설명 |
|---|---|
--port | 수신 대기 포트 |
--hostname | 수신 대기 호스트명 |
--mdns | mDNS 검색 활성화 |
--mdns-domain | 커스텀 mDNS 도메인 이름 |
--cors | CORS를 허용할 추가 브라우저 오리진 |
acp
ACP (Agent Client Protocol) 서버를 시작합니다.
opencode acp
이 명령은 nd-JSON을 사용하여 stdin/stdout으로 통신하는 ACP 서버를 시작합니다.
| 플래그 | 설명 |
|---|---|
--cwd | 작업 디렉토리 |
--port | 수신 대기 포트 |
--hostname | 수신 대기 호스트명 |
--mdns | mDNS 검색 활성화 |
--mdns-domain | 커스텀 mDNS 도메인 이름 |
--cors | CORS를 허용할 추가 브라우저 오리진 |
plugin
플러그인을 설치하고 구성을 업데이트합니다.
opencode plugin <module>
# 또는 별칭 사용
opencode plug <module>
| 플래그 | 짧은 | 설명 |
|---|---|---|
--global | -g | 전역 구성에 설치 |
--force | -f | 기존 플러그인 버전 교체 |
pr
GitHub PR 브랜치를 가져와 체크아웃한 다음 OpenCode를 실행합니다.
opencode pr <number>
db
데이터베이스 도구입니다.
opencode db [query]
| 플래그 | 설명 |
|---|---|
--format | 출력 형식: json 또는 tsv |
path
데이터베이스 경로를 출력합니다.
opencode db path
debug
디버깅 및 문제 해결 도구입니다.
opencode debug [command]
uninstall
OpenCode를 제거하고 모든 관련 파일을 삭제합니다.
opencode uninstall
| 플래그 | 짧은 | 설명 |
|---|---|---|
--keep-config | -c | 구성 파일 유지 |
--keep-data | -d | 세션 데이터 및 스냅샷 유지 |
--dry-run | - | 제거하지 않고 제거될 내용 표시 |
--force | -f | 확인 프롬프트 건너뛰기 |
upgrade
opencode를 최신 버전 또는 특정 버전으로 업데이트합니다.
opencode upgrade
# 또는 특정 버전
opencode upgrade v0.1.48
| 플래그 | 짧은 | 설명 |
|---|---|---|
--method | -m | 사용된 설치 방법; curl, npm, pnpm, bun, brew |
Global Flags
opencode CLI는 다음 전역 플래그를 사용합니다.
| 플래그 | 짧은 | 설명 |
|---|---|---|
--help | -h | 도움말 표시 |
--version | -v | 버전 번호 출력 |
--print-logs | - | stderr에 로그 출력 |
--log-level | - | 로그 레벨 (DEBUG, INFO, WARN, ERROR) |
--pure | - | 외부 플러그인 없이 실행 |
Environment variables
OpenCode는 환경 변수로 구성할 수 있습니다.
| 변수 | 타입 | 설명 |
|---|---|---|
OPENCODE_AUTO_SHARE | boolean | 세션 자동 공유 |
OPENCODE_GIT_BASH_PATH | string | Windows의 Git Bash 실행 파일 경로 |
OPENCODE_CONFIG | string | 구성 파일 경로 |
OPENCODE_TUI_CONFIG | string | TUI 구성 파일 경로 |
OPENCODE_CONFIG_DIR | string | 구성 디렉토리 경로 |
OPENCODE_CONFIG_CONTENT | string | 인라인 json 구성 내용 |
OPENCODE_DISABLE_AUTOUPDATE | boolean | 자동 업데이트 확인 비활성화 |
OPENCODE_DISABLE_PRUNE | boolean | 이전 데이터 정리 비활성화 |
OPENCODE_DISABLE_TERMINAL_TITLE | boolean | 자동 터미널 제목 업데이트 비활성화 |
OPENCODE_PERMISSION | string | 인라인 json 권한 구성 |
OPENCODE_DISABLE_DEFAULT_PLUGINS | boolean | 기본 플러그인 비활성화 |
OPENCODE_DISABLE_LSP_DOWNLOAD | boolean | 자동 LSP 서버 다운로드 비활성화 |
OPENCODE_ENABLE_EXPERIMENTAL_MODELS | boolean | 실험적 모델 활성화 |
OPENCODE_DISABLE_AUTOCOMPACT | boolean | 자동 컨텍스트 압축 비활성화 |
OPENCODE_DISABLE_CLAUDE_CODE | boolean | .claude 읽기 비활성화 |
OPENCODE_DISABLE_CLAUDE_CODE_PROMPT | boolean | ~/.claude/CLAUDE.md 읽기 비활성화 |
OPENCODE_DISABLE_CLAUDE_CODE_SKILLS | boolean | .claude/skills 로드 비활성화 |
OPENCODE_DISABLE_MODELS_FETCH | boolean | 원격 소스에서 모델 가져오기 비활성화 |
OPENCODE_DISABLE_MOUSE | boolean | TUI에서 마우스 캡처 비활성화 |
OPENCODE_FAKE_VCS | string | 테스트 목적으로 VCS provider 흉내 |
OPENCODE_CLIENT | string | 클라이언트 식별자 (기본값 cli) |
OPENCODE_ENABLE_EXA | boolean | Exa 웹 검색 도구 활성화 |
OPENCODE_SERVER_PASSWORD | string | serve/web용 기본 인증 활성화 |
OPENCODE_SERVER_USERNAME | string | 기본 인증 사용자명 재정의 (기본값 opencode) |
OPENCODE_MODELS_URL | string | 모델 구성 가져오기용 커스텀 URL |
Experimental
이 환경 변수는 변경되거나 제거될 수 있는 실험적 기능을 활성화합니다.
| 변수 | 타입 | 설명 |
|---|---|---|
OPENCODE_EXPERIMENTAL | boolean | 실험적 통합 플래그 활성화 |
OPENCODE_EXPERIMENTAL_ICON_DISCOVERY | boolean | 아이콘 검색 활성화 |
OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT | boolean | TUI에서 선택 시 복사 비활성화 |
OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS | number | bash 명령 기본 시간 제한(ms) |
OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX | number | LLM 응답의 최대 출력 토큰 |
OPENCODE_EXPERIMENTAL_FILEWATCHER | boolean | 전체 디렉토리에 파일 감시 활성화 |
OPENCODE_EXPERIMENTAL_OXFMT | boolean | oxfmt 포맷터 활성화 |
OPENCODE_EXPERIMENTAL_LSP_TOOL | boolean | 실험적 LSP 도구 활성화 |
OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER | boolean | 파일 감시 비활성화 |
OPENCODE_EXPERIMENTAL_EXA | boolean | 실험적 Exa 기능 활성화 |
OPENCODE_EXPERIMENTAL_LSP_TY | boolean | Python 파일용 TY LSP 활성화 |
OPENCODE_EXPERIMENTAL_PLAN_MODE | boolean | 계획 모드 활성화 |
OPENCODE_EXPERIMENTAL_BACKGROUND_SUBAGENTS | boolean | 백그라운드 서브 에이전트 작업 활성화 |
OPENCODE_EXPERIMENTAL_EVENT_SYSTEM | boolean | 실험적 이벤트 시스템 활성화 |
OPENCODE_EXPERIMENTAL_NATIVE_LLM | boolean | 네이티브 LLM 요청 경로 활성화 |
OPENCODE_EXPERIMENTAL_PARALLEL | boolean | 병렬 웹 검색 실행 활성화 |
OPENCODE_EXPERIMENTAL_SCOUT | boolean | Scout 서브 에이전트 활성화 |
OPENCODE_EXPERIMENTAL_WORKSPACES | boolean | 워크스페이스 지원 활성화 |