이 영상에서 단테는 여러 모델 제공자를 한곳에서 쓰는 코딩 에이전트 CLI인 opencode를 설치하고, 이미 결제 중인 ChatGPT·Gemini 구독을 연결한 뒤, 확장 플러그인 oh-my-opencode로 여러 모델을 서브에이전트로 나눠 쓰며 실시간 채팅 앱을 만들어 봅니다. Gemini CLI, Claude Code, Codex CLI를 오가며 개발 환경을 바꾸는 일이 번거로웠던 분께 맞는 내용입니다. 내용은 영상 게시 시점(2026-01-11) 기준입니다.
opencode 설치와 기본 사용
opencode는 여러 모델 제공자 위에서 동작하는 CLI로, 한 터미널 안에서 여러 회사의 모델을 모아 쓸 수 있다는 점이 장점입니다. 공식 사이트에 여러 설치 명령이 있는데, 단테는 npm으로 설치했습니다. 설치 후 opencode를 입력하면 TUI 화면이 뜹니다.
- Tab 키로 Build 모드와 Plan 모드를 전환합니다. Build는 바로 코드를 실행·수정하고, Plan은 먼저 계획을 세운 뒤 승인해야 실행합니다.
/models명령으로 사용 가능한 모델 목록을 봅니다. 오른쪽에 Free 표시가 붙은 모델은 OpenCode Zen 제공자를 통해 무료로 제공되는 모델입니다.- 다른 모델은 API 키나 로그인 인증이 필요하며,
/connect명령으로 각 제공자의 인증 방식을 고를 수 있습니다.
이미 내는 구독을 그대로 연결하기
opencode의 매력은 토큰 단위 API 과금 대신, 이미 결제 중인 구독을 OAuth로 연결해 쓸 수 있다는 데 있습니다.
OpenAI는 OAuth를 공식 지원합니다. /connect에서 OpenAI를 고르고 인증 링크로 ChatGPT에 로그인하면, 그 계정에서 쓸 수 있는 모델을 opencode에서 바로 쓸 수 있습니다. 로그인 후 /models에서 OpenAI를 검색하면 모델이 활성화된 것을 확인할 수 있습니다.
Google은 /connect에서 선택해도 API 키 방식만 나옵니다. Gemini CLI나 Antigravity 같은 Google 구독을 이미 쓰는 사람에게는 불편하므로, 단테는 opencode-gemini-auth 플러그인을 사용했습니다. 홈 디렉터리의 .config/opencode 폴더에 있는 opencode.json을 열고, plugin 항목에 이 플러그인의 최신 버전을 넣어 저장한 뒤 opencode를 다시 실행합니다. 이제 /connect에서 Google을 고르면 Gemini CLI OAuth 로그인 창이 열리고, 연결 완료 메시지 뒤 터미널로 돌아오면 Google 모델이 목록에 나타납니다.
Claude 쪽은 주의가 필요합니다. 영상 게시 시점에 Claude 구독을 opencode에 OAuth로 연결하면 Anthropic이 부적합한 사용으로 판단해 제품 사용을 막는 사례가 있다는 이야기가 있었고, 단테는 공식 지원 전까지 쓰지 않을 것을 권했습니다.
oh-my-opencode로 여러 모델을 서브에이전트로 쓰기
여러 모델을 쓸 수 있어도, 계획은 GPT로 세우고 UI 작업은 Gemini로 하려면 매번 모델을 바꿔야 합니다. oh-my-opencode 플러그인은 하나의 모델이 오케스트레이터 역할을 맡고 다른 모델들을 서브에이전트로 부리는 구조로 이 문제를 풉니다. 오케스트레이터 Sisyphus 아래에 UI 작업, 문서 검색 등 역할별 페르소나가 있어서, 계획에 강한 모델은 계획을, UI에 강한 모델은 UI를 맡도록 알아서 배분합니다.
설치는 직접 할 필요 없이 AI에게 맡기면 됩니다. oh-my-opencode 저장소 README에 opencode 세션에 붙여 넣으라고 준비된 프롬프트가 있어, 이를 복사해 opencode에 붙여 넣었습니다. 설치 도중 선택지가 나오는데, 단테는 Claude는 쓰지 않음, ChatGPT 구독 있음, Gemini 사용함을 골랐습니다. 그러면 Gemini 쪽 Antigravity 모델이 UI 작업을 맡도록 서브에이전트 설정까지 자동으로 잡힙니다. 설치가 끝나면 Sisyphus, Oracle, Librarian, Explore 같은 서브에이전트 목록이 표시됩니다.
서브에이전트 모델 바꾸기
각 서브에이전트가 어떤 모델을 쓰는지는 ~/.config/opencode 아래에 새로 생긴 oh-my-opencode.json에서 확인할 수 있습니다. 기본값에서 Sisyphus는 OpenCode Zen 제공자의 GLM 4.7을, Explore와 프론트엔드 UI/UX 엔지니어는 Gemini를 통한 Antigravity 모델을 썼습니다.
단테는 무료 모델 대신 ChatGPT 구독의 GPT를 쓰고 싶어서, 파일을 직접 고치지 않고 opencode에게 "Sisyphus는 GPT 5.2 Codex, Oracle은 GPT 5.2를 쓰게 해 달라"고 요청했습니다. 이때 제공자를 opencode가 아니라 OpenAI로 지정해야 OAuth로 연결한 구독 모델이 쓰입니다. 변경 후에는 바로 반영되지 않으므로 세션을 종료하고 opencode를 다시 실행해야 합니다. 재시작 후에는 Build/Plan 대신 Sisyphus가 먼저 프롬프트를 받는 화면으로 바뀌고, Tab을 누르면 Planner Sisyphus로 전환됩니다.
실시간 채팅 앱 만들기 결과
마지막으로 단테는 웹소켓 채팅 프로젝트를 만들고 채팅 앱을 요청했습니다. 처음에는 Tailwind 스타일, Railway 배포 예정, Redis와 PostgreSQL 사용 정도만 전달했고, 기술 스택을 다시 묻는 질문에 Next.js와 쿠키 기반 인증을 답했습니다. 채널 생성·삭제 기능과 Railway 설정 파일도 포함해 달라고 했습니다. 실제 배포는 하지 않고 로컬에서만 품질을 확인했습니다.
opencode는 백엔드 작업과 UI 작업으로 할 일을 나눴고, 앞서 모델을 나눠 둔 서브에이전트들이 각자 맡은 일을 진행했습니다. 결과물에서 한쪽 창은 Dante, 다른 쪽 시크릿 창은 Melly로 접속해 채널을 만들자 참여 메시지가 뜨고, 웹소켓으로 채팅이 실시간 갱신됐습니다. 로그아웃도 정상 동작했습니다. 단테는 프롬프트를 엄격하게 쓰지 않아도 오케스트레이터가 서브에이전트를 활용해 완성도 높은 UI와 백엔드를 만들어 냈다고 평가했습니다.
정리
- opencode는 npm으로 설치하고, Tab으로 Build/Plan 모드를,
/models와/connect로 모델과 인증을 관리합니다. - OpenAI는 ChatGPT OAuth를 공식 지원하고, Google 구독은 opencode-gemini-auth 플러그인을
opencode.json에 추가해 연결합니다. - 영상 게시 시점 기준으로 Claude 구독의 OAuth 연결은 계정 제재 우려가 있어 권장하지 않았습니다.
- oh-my-opencode는 Sisyphus 오케스트레이터가 역할별 서브에이전트에 모델을 나눠 배정하며, 모델은
oh-my-opencode.json에서 바꾸고 세션을 재시작해야 반영됩니다. - 간단한 요구만으로도 Next.js 웹소켓 채팅 앱이 백엔드와 UI로 나뉘어 완성됐습니다.

