opencode CLI 실무 명령어 정리 — 세션·서버·MCP·플러그인
opencode CLI의 실행 모드, 세션 관리, 헤드리스 서버, MCP·ACP 연동, 운영 명령을 실전 예제로 정리한 레퍼런스
2026-08-12 · 최초 발행 2026-04-26
opencode는 터미널에서 AI 에이전트를 돌리는 CLI다. 버전과 도움말부터 확인한다.
# 버전 확인
opencode --version
# 도움말
opencode --help
opencode <command> --help
기본 실행: TUI와 run
인자 없이 실행하면 현재 디렉토리를 기준으로 TUI 인터랙티브 모드가 뜬다. 경로를 지정하면 그 프로젝트를 대상으로 열린다.
# 현재 디렉토리에서 실행 (기본)
opencode
# 특정 프로젝트 경로 지정
opencode /path/to/project
opencode ~/Work/my-project
TUI를 거치지 않고 한 번에 메시지를 던지고 싶으면 run을 쓴다. 모델이나 에이전트를 지정해 실행할 수도 있다.
# 단일 메시지 전달
opencode run "이 코드의 버그를 찾아줘"
# 여러 단어 메시지
opencode run 리팩토링 계획 세워줘
# 특정 모델로 실행
opencode run --model anthropic/claude-opus-4-7 "아키텍처 리뷰해줘"
# 특정 에이전트로 실행
opencode run --agent code-reviewer "PR 리뷰해줘"
이전 세션을 이어가거나 분기하는 것도 명령행 옵션 하나로 끝난다.
# 마지막 세션 계속
opencode --continue
opencode -c
# 특정 세션 계속
opencode --session <sessionID>
opencode -s abc123
# 세션 포크 (기존 세션 유지하며 새 분기 생성)
opencode --continue --fork
opencode -s abc123 --fork
서버 모드: 헤드리스·웹 UI·원격 연결
opencode serve는 CI/CD 파이프라인이나 API 통합에 맞춘 백그라운드 헤드리스 서버다. mDNS를 켜면 로컬 네트워크에서 서비스가 자동으로 검색된다.
# 기본 헤드리스 서버 시작
opencode serve
# 포트 지정
opencode serve --port 3000
# 외부 접근 허용
opencode serve --hostname 0.0.0.0 --port 3000
# mDNS 서비스 디스커버리 활성화 (로컬 네트워크 자동 검색)
opencode serve --mdns
# 커스텀 mDNS 도메인
opencode serve --mdns --mdns-domain myteam.local
브라우저 UI가 필요하면 web을 쓴다.
# 서버 시작 후 브라우저 자동 열기
opencode web
# 포트 지정
opencode web --port 8080
이미 떠 있는 서버에는 attach로 URL을 지정해 붙는다.
# URL로 서버에 연결 (Attach 모드)
opencode attach http://localhost:3000
opencode attach http://192.168.1.100:3000
세션 관리: 조회·백업·복원·통계
세션 서브커맨드로 목록을 보거나 특정 세션을 들여다볼 수 있다.
# 세션 관리 명령어 (서브커맨드 포함)
opencode session
# 세션 목록 보기
opencode session list
# 특정 세션 상세 보기
opencode session show <sessionID>
세션은 JSON으로 내보내고 파일이나 URL에서 다시 불러올 수 있다.
# 현재(마지막) 세션 JSON으로 내보내기
opencode export
# 특정 세션 내보내기
opencode export <sessionID>
# 파일로 저장
opencode export <sessionID> > session-backup.json
# JSON 파일에서 가져오기
opencode import session-backup.json
# URL에서 직접 가져오기
opencode import https://example.com/session.json
토큰 사용량과 비용은 stats로 확인한다.
# 전체 사용량 통계 (토큰 수, 비용)
opencode stats
AI 프로바이더와 모델 관리
프로바이더 인증은 providers(별칭 auth)로 관리한다.
# 프로바이더 관리 (aliases: auth)
opencode providers
opencode auth
# 특정 프로바이더 인증 설정
opencode providers add anthropic
opencode providers add openai
사용 가능한 모델은 models로 조회하고, 프로바이더별로 필터링할 수 있다.
# 전체 모델 목록
opencode models
# 특정 프로바이더 모델만
opencode models anthropic
opencode models openai
opencode models google
실행 시점에 모델을 지정할 때는 provider/model 형식을 그대로 쓴다.
# provider/model 형식
opencode -m anthropic/claude-sonnet-4-6
opencode -m openai/gpt-4o
opencode -m google/gemini-2.0-flash
# run 명령어와 함께
opencode run -m anthropic/claude-opus-4-7 "복잡한 아키텍처 분석해줘"
에이전트와 플러그인
등록된 에이전트 목록을 보고 특정 에이전트로 실행을 지정할 수 있다.
# 에이전트 목록 조회
opencode agent
# 에이전트 목록 보기
opencode agent list
# 특정 에이전트로 실행
opencode --agent <agent-name>
opencode run --agent code-reviewer "코드 리뷰해줘"
플러그인은 npm 패키지 형식이나 로컬 모듈 경로로 설치한다.
# 플러그인 설치 (aliases: plug)
opencode plugin <module>
opencode plug <module>
# npm 패키지 형식
opencode plugin @opencode/plugin-name
# 로컬 모듈
opencode plugin ./my-plugin
외부 플러그인의 영향을 배제하고 순수 환경에서 실행하려면 --pure를 붙인다.
# Pure 모드 (플러그인 비활성화)
opencode --pure
opencode run --pure "순수 환경에서 실행"
GitHub 연동
github 서브커맨드로 GitHub 에이전트를 관리한다.
# GitHub 에이전트 관리
opencode github
opencode pr <번호>는 GitHub에서 PR 정보를 가져와 해당 브랜치를 로컬에 체크아웃한 뒤, 그 컨텍스트로 opencode를 실행하는 흐름을 한 번에 처리한다.
# PR 번호로 브랜치 체크아웃 후 opencode 실행
opencode pr 42
opencode pr 123
# 내부적으로 수행하는 작업:
# 1. GitHub에서 PR 정보 가져오기
# 2. PR 브랜치 로컬 체크아웃
# 3. 해당 브랜치 컨텍스트로 opencode 실행
MCP 서버 관리
MCP(Model Context Protocol) 서버는 외부 도구를 에이전트에 연결하는 통로다.
# MCP 서버 관리
opencode mcp
# MCP 서버 목록
opencode mcp list
# MCP 서버 추가
opencode mcp add <name> <command>
# MCP 서버 제거
opencode mcp remove <name>
ACP 서버
Agent Client Protocol 서버는 외부 클라이언트가 opencode 에이전트에 연결할 때 띄운다.
opencode acp
# 포트 지정
opencode acp --port 4000
운영과 유지보수
버전 업그레이드는 최신 또는 특정 버전을 지정해서 할 수 있다.
# 최신 버전으로 업그레이드
opencode upgrade
# 특정 버전으로 업그레이드
opencode upgrade 1.2.3
opencode upgrade latest
쉘 자동완성 스크립트는 셸별로 생성해 각 설정 파일에 붙인다.
# bash 자동완성 스크립트 생성
opencode completion bash >> ~/.bashrc
# zsh 자동완성
opencode completion zsh >> ~/.zshrc
# fish
opencode completion fish >> ~/.config/fish/completions/opencode.fish
디버깅은 전용 도구와 로그 옵션으로 처리한다.
# 디버그 도구
opencode debug
# 로그 출력 활성화
opencode --print-logs
# 로그 레벨 설정
opencode --log-level DEBUG
opencode --log-level INFO
opencode --log-level WARN
opencode --log-level ERROR
데이터베이스 관련 도구는 db 서브커맨드로 들어간다.
opencode db
설정 파일까지 포함해 완전히 제거하려면 uninstall을 쓴다.
# opencode 완전 제거 (설정 파일 포함)
opencode uninstall
전역 옵션 레퍼런스
| 옵션 | 단축키 | 기본값 | 설명 |
|---|---|---|---|
--help |
-h |
— | 도움말 표시 |
--version |
-v |
— | 버전 표시 |
--model |
-m |
— | 사용할 모델 (provider/model) |
--continue |
-c |
— | 마지막 세션 이어서 실행 |
--session |
-s |
— | 특정 세션 ID로 이어서 실행 |
--fork |
— | — | 세션 포크 (--continue / -s와 함께) |
--agent |
— | — | 사용할 에이전트 이름 |
--prompt |
— | — | 사용할 프롬프트 |
--pure |
— | false |
외부 플러그인 없이 실행 |
--port |
— | 0 (자동) |
리스닝 포트 |
--hostname |
— | 127.0.0.1 |
리스닝 호스트명 |
--mdns |
— | false |
mDNS 서비스 디스커버리 활성화 |
--mdns-domain |
— | opencode.local |
mDNS 커스텀 도메인 |
--cors |
— | [] |
CORS 허용 추가 도메인 |
--print-logs |
— | — | 로그를 stderr로 출력 |
--log-level |
— | — | 로그 레벨 (DEBUG/INFO/WARN/ERROR) |
실전 레시피
CI 파이프라인에서 PR 머지 전 코드 리뷰를 자동화하려면 run에 모델과 에이전트를 함께 지정한다.
#!/bin/bash
# PR 머지 전 자동 코드 리뷰
opencode run \
--model anthropic/claude-sonnet-4-6 \
--agent code-reviewer \
"변경된 파일들의 보안 취약점과 코드 품질을 검토해줘"
팀 내부 네트워크에서는 mDNS와 CORS 설정을 함께 걸어 서버를 공유한다.
# 팀 내부 네트워크에서 mDNS로 서버 공유
opencode serve \
--mdns \
--mdns-domain myteam.local \
--cors http://team-dashboard.local
# 팀원 접속
opencode attach http://opencode.myteam.local
중요 세션은 날짜를 붙여 백업해두면 복원이 간단하다.
# 중요 세션 백업
opencode export $(opencode session list | head -1 | awk '{print $1}') \
> backup-$(date +%Y%m%d).json
# 복원
opencode import backup-20260423.json
같은 작업을 두 모델로 각각 포크해서 비교하는 것도 세션 포크로 처리한다.
# 같은 작업을 두 모델로 포크 비교
SESSION_ID=$(opencode session list | head -1 | awk '{print $1}')
opencode run -s $SESSION_ID --fork \
-m anthropic/claude-opus-4-7 "이 알고리즘의 시간복잡도를 최적화해줘"
opencode run -s $SESSION_ID --fork \
-m anthropic/claude-sonnet-4-6 "이 알고리즘의 시간복잡도를 최적화해줘"
문제가 재현될 때는 디버그 로그를 파일로 캡처해두면 나중에 추적하기 쉽다.
# 문제 재현 시 전체 로그 캡처
opencode --print-logs --log-level DEBUG run "문제가 발생하는 작업 실행" \
2> opencode-debug-$(date +%Y%m%d-%H%M%S).log
opencode <command> --help로 각 서브커맨드의 세부 옵션을 바로 확인할 수 있다.