Gemini CLI 프로바이더

Gemini CLI 프로바이더

ai-sdk-provider-gemini-cli 커뮤니티 프로바이더를 사용하면 @google/gemini-cli-core 라이브러리를 통해 Google의 Gemini 모델을 사용할 수 있어요. 기존 Gemini Code Assist 구독이나 API 키 인증을 사용하려는 개발자에게 유용해요.

출처: 문서

본문

버전 호환성 (Version Compatibility)

프로바이더 버전 AI SDK 버전 NPM 태그 상태
2.x v6 latest 안정 (Stable)
1.x v5 ai-sdk-v5 유지보수 (Maintenance)
0.x v4 ai-sdk-v4 레거시 (Legacy)
# AI SDK v6 (기본값)
npm install ai-sdk-provider-gemini-cli ai

# AI SDK v5
npm install ai-sdk-provider-gemini-cli@ai-sdk-v5 ai@^5.0.0

# AI SDK v4
npm install ai-sdk-provider-gemini-cli@ai-sdk-v4 ai@^4.0.0

설정 (Setup)

프로바이더 인스턴스 (Provider Instance)

createGeminiProvider를 임포트하고 인증 설정으로 프로바이더 인스턴스를 만들어요:

import { createGeminiProvider } from 'ai-sdk-provider-gemini-cli';

// OAuth 인증 (authType 생략 시 기본값)
const gemini = createGeminiProvider({ authType: 'oauth-personal' });

// API 키 인증
const gemini = createGeminiProvider({
  authType: 'api-key', // 또는 'gemini-api-key'
  apiKey: proces...KEY,
});

// Vertex AI 인증
const gemini = createGeminiProvider({
  authType: 'vertex-ai',
  vertexAI: {
    projectId: 'my-project',
    location: 'us-central1',
  },
});

// Google Auth Library
const gemini = createGeminiProvider({
  authType: 'google-auth-library',
  googleAuth: myGoogleAuthInstance,
});

인증 옵션:

  • authType 'oauth' | 'oauth-personal' | 'api-key' | 'gemini-api-key' | 'vertex-ai' | 'google-auth-library' - 선택 사항. 기본값은 'oauth-personal'이에요.
  • apiKey string - 'api-key' / 'gemini-api-key'에 필요해요.
  • vertexAI \{ projectId, location \} - 'vertex-ai'에 필요해요.
  • googleAuth GoogleAuth - 'google-auth-library'에 필요해요.
  • cacheDir string - OAuth 자격 증명 캐시용 선택 디렉토리.
  • proxy string - HTTP/HTTPS 프록시 URL.

언어 모델 (Language Models)

프로바이더 인스턴스를 사용해 CLI를 통해 Gemini를 호출하는 모델을 만들어요:

const model = gemini('gemini-2.5-pro');

지원 모델:

  • gemini-3.1-pro-preview: 향상된 추론을 갖춘 최신 모델 (thinkingLevel 지원)
  • gemini-3-flash-preview: 빠른 Gemini 3 모델 (thinkingLevel 지원)
  • gemini-3.1-flash-lite-preview: 향상된 추론을 갖춘 최신 모델 (thinkingLevel 지원)
  • gemini-2.5-pro: 64K 출력 토큰을 갖춘 프로덕션 준비 모델 (thinkingBudget 지원)
  • gemini-2.5-flash: 64K 출력 토큰을 갖춘 빠르고 효율적인 모델 (thinkingBudget 지원)

예시 (Example)

import { createGeminiProvider } from 'ai-sdk-provider-gemini-cli';
import { generateText } from 'ai';

const gemini = createGeminiProvider({
  authType: 'oauth-personal',
});

const { text } = await generateText({
  model: gemini('gemini-2.5-pro'),
  prompt: 'Write a vegetarian lasagna recipe for 4 people.',
});

모델 설정 (Model Settings)

const model = gemini('gemini-3.1-pro-preview', {
  temperature: 0.7,
  topP: 0.95,
  topK: 40,
  maxOutputTokens: 8192,
  thinkingConfig: {
    thinkingLevel: 'medium', // 'low' | 'medium' | 'high' | 'minimal'
  },
  verbose: true, // 디버그 로깅 활성화
  logger: customLogger, // 커스텀 로거 (또는 비활성화하려면 false)
});

모델 기능 (Model Capabilities)

모델 이미지 입력 객체 생성 도구 사용 도구 스트리밍
gemini-3.1-pro-preview
gemini-3-pro-preview
gemini-3-flash-preview
gemini-2.5-pro
gemini-2.5-flash

참고: 이미지는 base64로 인코딩된 데이터로 제공해야 해요. 이미지 URL은 지원되지 않아요.

인증 (Authentication)

OAuth 인증 (권장)

Gemini CLI를 전역으로 설치하고 인증하세요:

npm install -g @google/gemini-cli
gemini  # 대화형 인증 설정 진행

그런 다음 코드에서 authType: 'oauth-personal'로 OAuth 인증을 사용하세요.

API 키 인증 (API Key Authentication)

  1. Google AI Studio에서 API 키를 생성하세요.
  2. 환경 변수로 설정하세요: export GEMINI_API_KEY="YOUR_API_KEY"
  3. 키와 함께 authType: 'api-key'를 사용하세요.

요구 사항 (Requirements)

  • Node.js 22 이상
  • OAuth 인증을 위한 전역 설치 Gemini CLI
  • 유효한 Google 계정 또는 Gemini API 키

자세한 내용은 프로바이더 문서를 참고하세요.

더 알아보기 (Learn more)

전체 사이트맵