CLI
OpenCode CLI 옵션과 명령어.
OpenCode CLI는 기본적으로 인수 없이 실행하면 TUI를 시작합니다.
opencode하지만 이 페이지에 문서화된 명령어도 받아들입니다. 이를 통해 OpenCode와 프로그래밍 방식으로 상호작용할 수 있습니다.
opencode run "Explain how closures work in JavaScript"tui
OpenCode 터미널 사용자 인터페이스를 시작합니다.
opencode [project]플래그
| 플래그 | 단축 | 설명 |
|---|---|---|
--continue | -c | 마지막 세션 계속하기 |
--session | -s | 계속할 세션 ID |
--fork | 계속할 때 세션 포크(--continue 또는 --session과 함께 사용) | |
--prompt | 사용할 프롬프트 | |
--model | -m | provider/model 형식으로 사용할 모델 |
--agent | 사용할 에이전트 | |
--port | 수신 대기할 포트 | |
--hostname | 수신 대기할 호스트명 | |
--mdns | mDNS 검색 활성화 | |
--mdns-domain | 사용자 정의 mDNS 도메인 이름 | |
--cors | CORS를 허용할 추가 브라우저 출처 |
명령어
OpenCode CLI에는 다음 명령어도 있습니다.
agent
OpenCode용 에이전트를 관리합니다.
opencode agent [command]create
사용자 정의 설정으로 새 에이전트를 만듭니다.
opencode agent create이 명령은 사용자 정의 시스템 프롬프트와 권한 설정으로 새 에이전트를 만드는 과정을 안내합니다. 허용하지 않은 것은 생성된 에이전트의 frontmatter에서 거부됩니다.
플래그
| 플래그 | 단축 | 설명 |
|---|---|---|
--path | 에이전트 파일을 작성할 디렉토리(프롬프트에 따라 전역 또는 .opencode/agent로 기본 설정) | |
--description | 에이전트가 해야 할 일 | |
--mode | 에이전트 모드: all, primary, 또는 subagent | |
--permissions | 허용할 권한의 쉼표로 구분된 목록(기본값: 전체). 사용 가능: bash, read, edit, glob, grep, webfetch, task, todowrite, websearch, lsp, skill. 생략된 것은 거부됩니다. 별칭: --tools | |
--model | -m | provider/model 형식으로 사용할 모델 |
--path, --description, --mode, --permissions를 모두 전달하면 명령어가 비대화형으로 실행됩니다.
list
사용 가능한 모든 에이전트를 나열합니다.
opencode agent listattach
serve 또는 web 명령으로 시작된, 이미 실행 중인 OpenCode 백엔드 서버에 터미널을 연결합니다.
opencode attach [url]이를 통해 원격 OpenCode 백엔드와 함께 TUI를 사용할 수 있습니다. 예를 들어:
# 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플래그
| 플래그 | 단축 | 설명 |
|---|---|---|
--dir | TUI를 시작할 작업 디렉토리 | |
--continue | -c | 마지막 세션 계속하기 |
--session | -s | 계속할 세션 ID |
--fork | 계속할 때 세션 포크(--continue 또는 --session과 함께 사용) | |
--password | -p | 기본 인증 비밀번호(기본값은 OPENCODE_SERVER_PASSWORD) |
--username | -u | 기본 인증 사용자명(기본값은 OPENCODE_SERVER_USERNAME 또는 opencode) |
auth
프로바이더의 자격 증명과 로그인을 관리하는 명령어.
opencode auth [command]login
OpenCode는 Models.dev (opens in a new tab)의 프로바이더 목록으로 구동되므로, opencode auth login을 사용하여 사용하려는 모든 프로바이더의 API 키를 구성할 수 있습니다. 이는 ~/.local/share/opencode/auth.json에 저장됩니다.
opencode auth loginOpenCode가 시작되면 자격 증명 파일에서 프로바이더를 로드합니다. 그리고 환경이나 프로젝트의 .env 파일에 정의된 키가 있으면 함께 로드합니다.
플래그
| 플래그 | 단축 | 설명 |
|---|---|---|
--provider | -p | 로그인할 프로바이더 ID 또는 이름 |
--method | -m | 사용할 로그인 방법 레이블, 방법 선택 건너뛰기 |
list
자격 증명 파일에 저장된 인증된 모든 프로바이더를 나열합니다.
opencode auth list또는 짧은 버전.
opencode auth lslogout
자격 증명 파일에서 프로바이더를 지워 로그아웃합니다.
opencode auth logoutgithub
저장소 자동화를 위한 GitHub 에이전트를 관리합니다.
opencode github [command]install
저장소에 GitHub 에이전트를 설치합니다.
opencode github install이는 필요한 GitHub Actions 워크플로를 설정하고 구성 과정을 안내합니다. 자세히 알아보기.
run
GitHub 에이전트를 실행합니다. 일반적으로 GitHub Actions에서 사용됩니다.
opencode github run플래그
| 플래그 | 설명 |
|---|---|
--event | 에이전트를 실행할 GitHub 모의 이벤트 |
--token | GitHub 개인 액세스 토큰 |
mcp
Model Context Protocol 서버를 관리합니다.
opencode mcp [command]add
설정에 MCP 서버를 추가합니다.
opencode mcp add이 명령은 로컬 또는 원격 MCP 서버를 추가하는 과정을 안내합니다.
list
구성된 모든 MCP 서버와 그 연결 상태를 나열합니다.
opencode mcp list또는 짧은 버전을 사용하세요.
opencode mcp lsauth
OAuth 지원 MCP 서버로 인증합니다.
opencode mcp auth [name]서버 이름을 제공하지 않으면, 사용 가능한 OAuth 지원 서버 중에서 선택하라는 메시지가 표시됩니다.
OAuth 지원 서버와 그 인증 상태를 나열할 수도 있습니다.
opencode mcp auth list또는 짧은 버전을 사용하세요.
opencode mcp auth lslogout
MCP 서버의 OAuth 자격 증명을 제거합니다.
opencode mcp logout [name]debug
MCP 서버의 OAuth 연결 문제를 디버그합니다.
opencode mcp debug <name>models
구성된 프로바이더의 사용 가능한 모든 모델을 나열합니다.
opencode models [provider]이 명령은 구성된 프로바이더 전체에서 사용 가능한 모든 모델을 provider/model 형식으로 표시합니다.
이는 설정에서 사용할 정확한 모델 이름을 파악하는 데 유용합니다.
선택적으로 프로바이더 ID를 전달하여 해당 프로바이더로 모델을 필터링할 수 있습니다.
opencode models anthropic플래그
| 플래그 | 설명 |
|---|---|
--refresh | models.dev에서 모델 캐시 새로 고침 |
--verbose | 더 상세한 모델 출력 사용(비용 같은 메타데이터 포함) |
--refresh 플래그를 사용하여 캐시된 모델 목록을 업데이트하세요. 이는 새 모델이 프로바이더에 추가되어 OpenCode에서 보고 싶을 때 유용합니다.
opencode models --refreshrun
프롬프트를 직접 전달하여 비대화형 모드로 opencode를 실행합니다.
opencode run [message..]이는 스크립팅, 자동화, 또는 전체 TUI를 실행하지 않고 빠른 답변을 원할 때 유용합니다. 예를 들어.
opencode run Explain the use of context in Go실행할 때마다 MCP 서버 콜드 부트 시간을 피하기 위해 실행 중인 opencode serve 인스턴스에 연결할 수도 있습니다:
# 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 | 실행할 명령어, 인수에는 message 사용 | |
--continue | -c | 마지막 세션 계속하기 |
--session | -s | 계속할 세션 ID |
--fork | 계속할 때 세션 포크(--continue 또는 --session과 함께 사용) | |
--share | 세션 공유 | |
--model | -m | provider/model 형식으로 사용할 모델 |
--agent | 사용할 에이전트 | |
--file | -f | 메시지에 첨부할 파일 |
--format | 형식: default(포맷됨) 또는 json(원시 JSON 이벤트) | |
--title | 세션 제목(값이 제공되지 않으면 잘린 프롬프트 사용) | |
--attach | 실행 중인 opencode 서버에 연결(예: http://localhost:4096 (opens in a new tab)) | |
--password | -p | 기본 인증 비밀번호(기본값은 OPENCODE_SERVER_PASSWORD) |
--username | -u | 기본 인증 사용자명(기본값은 OPENCODE_SERVER_USERNAME 또는 opencode) |
--dir | 실행할 디렉토리, 또는 연결할 때 원격 서버의 경로 | |
--port | 로컬 서버의 포트(기본값은 무작위 포트) | |
--variant | 모델 변형(프로바이더별 추론 노력) | |
--thinking | 사고 블록 표시 | |
--dangerously-skip-permissions | 명시적으로 거부되지 않은 권한을 자동 승인(위험!) |
serve
API 접근을 위한 헤드리스 OpenCode 서버를 시작합니다. 전체 HTTP 인터페이스는 서버 문서를 확인하세요.
opencode serve이는 TUI 인터페이스 없이 opencode 기능에 대한 API 접근을 제공하는 HTTP 서버를 시작합니다. HTTP 기본 인증을 활성화하려면 OPENCODE_SERVER_PASSWORD를 설정하세요(사용자명은 기본적으로 opencode).
플래그
| 플래그 | 설명 |
|---|---|
--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(table) |
delete
OpenCode 세션을 삭제합니다.
opencode session delete <sessionID>stats
OpenCode 세션의 토큰 사용량과 비용 통계를 표시합니다.
opencode stats플래그
| 플래그 | 설명 |
|---|---|
--days | 최근 N일에 대한 통계 표시(전체 기간) |
--tools | 표시할 도구 수(전체) |
--models | 모델 사용 내역 표시(기본적으로 숨김). 숫자를 전달하면 상위 N개 표시 |
--project | 프로젝트로 필터링(모든 프로젝트, 빈 문자열: 현재 프로젝트) |
export
세션 데이터를 JSON으로 내보냅니다.
opencode export [sessionID]세션 ID를 제공하지 않으면, 사용 가능한 세션 중에서 선택하라는 메시지가 표시됩니다.
플래그
| 플래그 | 설명 |
|---|---|
--sanitize | 민감한 트랜스크립트/파일 데이터 마스킹 |
import
JSON 파일 또는 OpenCode 공유 URL에서 세션 데이터를 가져옵니다.
opencode import <file>로컬 파일이나 OpenCode 공유 URL에서 가져올 수 있습니다.
opencode import session.json
opencode import https://opncd.ai/s/abc123web
웹 인터페이스가 있는 헤드리스 OpenCode 서버를 시작합니다.
opencode web이는 HTTP 서버를 시작하고 웹 인터페이스를 통해 OpenCode에 접근하기 위해 웹 브라우저를 엽니다. HTTP 기본 인증을 활성화하려면 OPENCODE_SERVER_PASSWORD를 설정하세요(사용자명은 기본적으로 opencode).
플래그
| 플래그 | 설명 |
|---|---|
--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 pathdebug
디버깅 및 문제 해결 도구.
opencode debug [command]uninstall
OpenCode를 제거하고 관련된 모든 파일을 삭제합니다.
opencode uninstall플래그
| 플래그 | 단축 | 설명 |
|---|---|---|
--keep-config | -c | 설정 파일 유지 |
--keep-data | -d | 세션 데이터와 스냅샷 유지 |
--dry-run | 제거하지 않고 제거될 항목 표시 | |
--force | -f | 확인 프롬프트 건너뛰기 |
upgrade
opencode를 최신 버전 또는 특정 버전으로 업데이트합니다.
opencode upgrade [target]최신 버전으로 업그레이드하려면.
opencode upgrade특정 버전으로 업그레이드하려면.
opencode upgrade v0.1.48플래그
| 플래그 | 단축 | 설명 |
|---|---|---|
--method | -m | 사용된 설치 방법; curl, npm, pnpm, bun, brew |
전역 플래그
opencode CLI는 다음 전역 플래그를 받습니다.
| 플래그 | 단축 | 설명 |
|---|---|---|
--help | -h | 도움말 표시 |
--version | -v | 버전 번호 출력 |
--print-logs | stderr에 로그 출력 | |
--log-level | 로그 레벨(DEBUG, INFO, WARN, ERROR) | |
--pure | 외부 플러그인 없이 실행 |
환경 변수
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 프로바이더 |
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 |
실험적
이 환경 변수는 변경되거나 제거될 수 있는 실험적 기능을 활성화합니다.
| 변수 | 타입 | 설명 |
|---|---|---|
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 | 플랜 모드 활성화 |