Skip to content

Google Cloud 고급 구성: 다중 계정 및 모델 관리

학습 완료 후 할 수 있는 것

여러 Google Cloud 계정을 구성하고, 모든 계정의 할당량 사용 현황을 한 번에 확인하며, 4개 모델의 매핑 관계(G3 Pro, G3 Image, G3 Flash, Claude)를 이해하고, 단일 계정의 모델 할당량 부족 문제를 해결합니다.

핵심 개념

다중 계정 지원

opencode-mystatus는 여러 Google Cloud Antigravity 계정을 동시에 조회할 수 있습니다. 각 계정은 4개 모델의 할당량을 독립적으로 표시하여 여러 프로젝트의 할당량 할당을 쉽게 관리할 수 있습니다.

계정은 ~/.config/opencode/antigravity-accounts.json에 저장되며, opencode-antigravity-auth 플러그인에서 관리합니다. Google Cloud 계정을 추가하려면 먼저 해당 플러그인을 설치해야 합니다.

모델 매핑 관계

Google Cloud Antigravity는 여러 모델을 제공하며, 플러그인은 가장 자주 사용되는 4개를 표시합니다:

표시 이름모델 키(주)모델 키(대체)
G3 Progemini-3-pro-highgemini-3-pro-low
G3 Imagegemini-3-pro-image-
G3 Flashgemini-3-flash-
Claudeclaude-opus-4-5-thinkingclaude-opus-4-5

왜 대체 키가 있는가?

일부 모델은 두 가지 버전(high/low)이 있으며, 플러그인은 주 키의 데이터를 우선 표시합니다. 주 키에 할당량 정보가 없으면 대체 키의 데이터를 자동으로 사용합니다.

Project ID 사용

할당량 조회 시 Project ID를 제공해야 하며, 플러그인은 projectId를 우선 사용합니다. 존재하지 않으면 managedProjectId를 사용합니다. 이 두 ID는 계정 추가 시 구성할 수 있습니다.

🎒 시작 전 준비

전제 조건

다음을 확인하세요:

단계별 따라하기

1단계: 첫 번째 Google Cloud 계정 추가

왜 필요한가 첫 번째 계정은 기본이며, 추가에 성공해야 다중 계정 조회를 테스트할 수 있습니다.

opencode-antigravity-auth 플러그인을 사용하여 계정을 추가합니다. 이미 설치되어 있다고 가정합니다:

bash
# AI가 설치를 도와줍니다(권장)
# Claude/OpenCode에서 입력:
Install the opencode-antigravity-auth plugin from: https://github.com/NoeFabris/opencode-antigravity-auth

설치 후, 해당 플러그인의 문서를 따라 Google OAuth 인증을 완료합니다.

다음을 확인해야 합니다:

  • 계정 정보가 ~/.config/opencode/antigravity-accounts.json에 저장됨
  • 파일 내용은 다음과 유사함:
    json
    {
      "version": 1,
      "accounts": [
        {
          "email": "user1@gmail.com",
          "refreshToken": "1//...",
          "projectId": "my-project-123",
          "managedProjectId": "managed-project-456",
          "addedAt": 1737600000000,
          "lastUsed": 1737600000000
        }
      ]
    }

2단계: Google Cloud 할당량 조회

왜 필요한가 첫 번째 계정 구성이 올바른지 확인하고, 4개 모델의 할당량 상황을 봅니다.

bash
/mystatus

다음을 확인해야 합니다:

## Google Cloud Account Quota

### user1@gmail.com

G3 Pro     4h 59m     ████████████████████ 100%
G3 Image   4h 59m     ████████████████████ 100%
G3 Flash   4h 59m     ████████████████████ 100%
Claude     2d 9h      ░░░░░░░░░░░░░░░░░░░░ 0%

3단계: 두 번째 Google Cloud 계정 추가

왜 필요한가 여러 Google Cloud 계정이 있는 경우, 여러 프로젝트의 할당량 할당을 동시에 관리할 수 있습니다.

1단계의 과정을 반복하여 다른 Google 계정으로 로그인합니다.

추가 완료 후, antigravity-accounts.json 파일은 다음과 같이 됩니다:

json
{
  "version": 1,
  "accounts": [
    {
      "email": "user1@gmail.com",
      "refreshToken": "1//...",
      "projectId": "my-project-123",
      "addedAt": 1737600000000,
      "lastUsed": 1737600000000
    },
    {
      "email": "user2@gmail.com",
      "refreshToken": "2//...",
      "projectId": "another-project-456",
      "addedAt": 1737700000000,
      "lastUsed": 1737700000000
    }
  ]
}

4단계: 다중 계정 할당량 보기

왜 필요한가 두 계정의 할당량이 올바르게 표시되는지 확인하여 각 계정의 사용을 계획할 수 있도록 합니다.

bash
/mystatus

다음을 확인해야 합니다:

## Google Cloud Account Quota

### user1@gmail.com

G3 Pro     4h 59m     ████████████████████ 100%
G3 Image   4h 59m     ████████████████████ 100%
G3 Flash   4h 59m     ████████████████████ 100%
Claude     2d 9h      ░░░░░░░░░░░░░░░░░░░░ 0%

### user2@gmail.com

G3 Pro     2h 30m     ████████████░░░░░░░░ 65%
G3 Image   2h 30m     ██████████░░░░░░░░░ 50%
G3 Flash   2h 30m     ██████████████░░░░░░ 80%
Claude     1d 5h      ████████░░░░░░░░░░░ 35%

주의 사항

계정이 표시되지 않음

문제: 계정을 추가했지만 mystatus에 표시되지 않습니다.

원인: 계정에 이메일 필드가 없습니다. 플러그인은 email이 없는 계정을 필터링합니다(소스 코드 google.ts:318 참조).

해결 방법: antigravity-accounts.json의 각 계정에 email 필드가 있는지 확인하세요.

Project ID 누락

문제: "No project ID found" 오류가 표시됩니다.

원인: 계정 구성에 projectIdmanagedProjectId도 없습니다.

해결 방법: 계정을 다시 추가할 때 Project ID를 입력했는지 확인하세요.

모델 데이터가 비어 있음

문제: 특정 모델이 0% 또는 데이터 없이 표시됩니다.

원인:

  1. 해당 계정이 실제로 해당 모델을 사용하지 않았습니다
  2. 해당 모델의 할당량 정보가 반환되지 않았습니다(일부 모델은 특별한 권한이 필요할 수 있음)

해결 방법:

  • 정상적인 상황입니다. 계정에 할당량 데이터만 있으면 됩니다
  • 모든 모델이 0%이면 계정 권한이 올바른지 확인하세요

이 수업 요약

  • opencode-antigravity-auth 플러그인 설치는 Google Cloud 할당량 조회의 전제 조건입니다
  • 다중 계정 동시 조회를 지원하며, 각 계정은 4개 모델의 할당량을 독립적으로 표시합니다
  • 모델 매핑 관계: G3 Pro(high/low 지원), G3 Image, G3 Flash, Claude(thinking/normal 지원)
  • 플러그인은 projectId를 우선 사용하며, 존재하지 않으면 managedProjectId를 사용합니다
  • 계정에는 조회되기 위해 email 필드가 포함되어야 합니다

다음 수업 예고

다음 수업에서 **GitHub Copilot 인증 구성**을 배웁니다.

학습할 내용:

  • 두 가지 Copilot 인증 방식: OAuth 토큰 및 Fine-grained PAT
  • Copilot 권한 문제 해결 방법
  • 다양한 구독 유형의 할당량 차이

부록: 소스 코드 참조

소스 코드 위치 확인하려면 클릭

업데이트 시간: 2026-01-23

기능파일 경로행번호
모델 구성 매핑plugin/lib/google.ts69-78
다중 계정 병렬 조회plugin/lib/google.ts327-334
계정 필터링(이메일 필수)plugin/lib/google.ts318
Project ID 우선순위plugin/lib/google.ts231
모델 할당량 추출plugin/lib/google.ts132-157
AntigravityAccount 유형 정의plugin/lib/types.ts78-86

핵심 상수:

  • MODELS_TO_DISPLAY: 4개 모델의 구성(key, altKey, display)
  • GOOGLE_QUOTA_API_URL: Google Cloud 할당량 API 주소
  • USER_AGENT: 요청 User-Agent(antigravity/1.11.9)

핵심 함수:

  • queryGoogleUsage(): 모든 Google Cloud 계정의 할당량 조회
  • fetchAccountQuota(): 단일 계정의 할당량 조회(토큰 갱신 포함)
  • extractModelQuotas(): API 응답에서 4개 모델의 할당량 정보 추출
  • formatAccountQuota(): 단일 계정의 할당량 출력 포맷팅