Pi 구성, 확장, 플랫폼 설정 및 API 참조.

Providers

Pi는 환경 변수 또는 인증 파일을 통해 OAuth 및 API key 공급자를 통해 구독 기반 공급자를 지원합니다. 내장 카탈로그는 pi와 함께 제공됩니다. 구성된 공급자는 최신 카탈로그를 새로 고치고 오프라인 사용을 위해 ~/.pi/agent/models-store.json에 캐시할 수 있습니다.

목차

구독

대화형 모드에서 /login를 사용한 후 제공업체를 선택하세요.

  • ChatGPT Plus/Pro(코덱스)
  • 클로드 프로/맥스
  • GitHub 부조종사
  • xAI(Grok/X 구독)
  • OpenRouter(OAuth 발행 API key OpenRouter 크레딧으로 청구)
  • 반지름

자격 증명을 삭제하려면 /logout를 사용하세요. 토큰은 ~/.pi/agent/auth.json에 저장되며 만료되면 자동으로 새로 고쳐집니다. 대신 OpenRouter는 자동으로 만료되지 않는 사용자 제어 API key를 생성합니다.

오픈AI 코덱스

  • ChatGPT Plus 또는 Pro 구독 필요
  • OpenAI가 공식적으로 승인함: Codex for OSS

클로드 프로/맥스

Claude Pro/Max 계정에 대해 Anthropic 구독 인증이 활성화되어 있습니다. 제3자 하네스 사용량은 extra usage부터이며 Claude 요금제 제한이 아닌 토큰별로 요금이 청구됩니다.

GitHub 부조종사

  • github.com의 경우 Enter 키를 누르거나 GitHub Enterprise Server 도메인을 입력하세요.
  • "모델이 지원되지 않음"이 표시되면 VS Code에서 활성화합니다: Copilot Chat → 모델 선택기 → 모델 선택 → "활성화"

xAI(Grok/X 구독)

  • /login xai를 실행한 다음 구독 사용을 선택하세요.
  • XAI_API_KEYAPI key 사용을 통해 계속 사용할 수 있습니다.

오픈라우터

  • /login openrouter를 실행한 다음 OpenRouter로 로그인을 선택하여 OpenRouter PKCE 인증 흐름을 엽니다.
  • 승인을 통해 OpenRouter 크레딧으로 청구되는 사용자 제어 OpenRouter API key가 생성됩니다.
  • 원격/헤드리스 시스템(예: SSH 이상)에서 브라우저는 루프백 콜백에 도달할 수 없습니다. 대신 최종 리디렉션 URL(또는 인증 코드)을 로그인 프롬프트에 붙여넣으세요.
  • OPENROUTER_API_KEYAPI key 사용을 통해 계속 사용할 수 있습니다.

반지름

Radius는 동적 pi-messages 게이트웨이입니다. /login radiusauth.json에 OAuth 토큰을 저장합니다. 게이트웨이 카탈로그는 독립적으로 새로 고쳐지고 models-store.json에 캐시됩니다. 맞춤 반경 게이트웨이는 models.json에서 "oauth": "radius" 및 게이트웨이 baseUrl로 선언할 수 있습니다.

API 열쇠

환경 변수 또는 인증 파일

대화형 모드에서 /login를 사용하고 공급자를 선택하여 API key를 auth.json에 저장하거나 환경 변수를 통해 자격 증명을 설정하세요.

export ANTHROPIC_API_KEY=sk-ant-...
pi
공급자 환경변수 auth.json
인류학 ANTHROPIC_API_KEY anthropic
앤트 링 ANT_LING_API_KEY ant-ling
Azure OpenAI 응답 AZURE_OPENAI_API_KEY azure-openai-responses
오픈AI OPENAI_API_KEY openai
DeepSeek DEEPSEEK_API_KEY deepseek
엔비디아 NIM NVIDIA_API_KEY nvidia
구글 제미니 GEMINI_API_KEY google
아마존 기반암 AWS_BEARER_TOKEN_BEDROCK amazon-bedrock
미스트랄 MISTRAL_API_KEY mistral
그로크 GROQ_API_KEY groq
대뇌 CEREBRAS_API_KEY cerebras
Cloudflare AI 게이트웨이 CLOUDFLARE_API_KEY (+ CLOUDFLARE_ACCOUNT_ID, CLOUDFLARE_GATEWAY_ID) cloudflare-ai-gateway
Cloudflare 작업자 AI CLOUDFLARE_API_KEY (+ CLOUDFLARE_ACCOUNT_ID) cloudflare-workers-ai
xAI XAI_API_KEY xai
오픈라우터 OPENROUTER_API_KEY openrouter
Vercel AI 게이트웨이 AI_GATEWAY_API_KEY vercel-ai-gateway
ZAI 코딩 계획(글로벌) ZAI_API_KEY zai
ZAI 코딩 계획(중국) ZAI_CODING_CN_API_KEY zai-coding-cn
오픈코드 젠 OPENCODE_API_KEY opencode
오픈코드 고 OPENCODE_API_KEY opencode-go
반지름 RADIUS_API_KEY radius
Hugging Face HF_TOKEN huggingface
불꽃 FIREWORKS_API_KEY fireworks
함께하는 AI TOGETHER_API_KEY together
바스텐 BASETEN_API_KEY baseten
코딩을 위한 키미 KIMI_API_KEY kimi-coding
미니맥스 MINIMAX_API_KEY minimax
미니맥스(중국) MINIMAX_CN_API_KEY minimax-cn
Qwen 토큰 플랜(기존 카탈로그) QWEN_TOKEN_PLAN_API_KEY qwen-token-plan
Qwen 토큰 플랜(개인) QWEN_TOKEN_PLAN_API_KEY qwen-token-plan-individual
Qwen 토큰 플랜(중국) QWEN_TOKEN_PLAN_CN_API_KEY qwen-token-plan-cn
샤오미 미모 XIAOMI_API_KEY xiaomi
Xiaomi MiMo 토큰 플랜(중국) XIAOMI_TOKEN_PLAN_CN_API_KEY xiaomi-token-plan-cn
Xiaomi MiMo 토큰 플랜(암스테르담) XIAOMI_TOKEN_PLAN_AMS_API_KEY xiaomi-token-plan-ams
Xiaomi MiMo 토큰 플랜(싱가포르) XIAOMI_TOKEN_PLAN_SGP_API_KEY xiaomi-token-plan-sgp

환경 변수 및 auth.json 키에 대한 참조: packages/ai/src/env-api-keys.tsconst envMap.

인증 파일

~/.pi/agent/auth.json에 자격 증명을 저장합니다.

{
  "anthropic": { "type": "api_key", "key": "sk-ant-..." },
  "ant-ling": { "type": "api_key", "key": "..." },
  "openai": { "type": "api_key", "key": "sk-..." },
  "deepseek": { "type": "api_key", "key": "sk-..." },
  "nvidia": { "type": "api_key", "key": "nvapi-..." },
  "google": { "type": "api_key", "key": "..." },
  "opencode": { "type": "api_key", "key": "..." },
  "opencode-go": { "type": "api_key", "key": "..." },
  "together": { "type": "api_key", "key": "..." },
  "qwen-token-plan":  { "type": "api_key", "key": "sk-sp-..." },
  "qwen-token-plan-individual": { "type": "api_key", "key": "sk-sp-..." },
  "qwen-token-plan-cn": { "type": "api_key", "key": "sk-sp-..." },
  "xiaomi": { "type": "api_key", "key": "..." },
  "xiaomi-token-plan-cn":  { "type": "api_key", "key": "..." },
  "xiaomi-token-plan-ams": { "type": "api_key", "key": "..." },
  "xiaomi-token-plan-sgp": { "type": "api_key", "key": "..." }
}

qwen-token-plan-individual는 동일한 국제 엔드포인트를 사용하고 QWEN_TOKEN_PLAN_API_KEY는 다음과 같습니다. qwen-token-plan, 그러나 개별 구독에 대해 문서화된 모델로 선택기를 제한합니다. 기존 공급자는 이전 버전과의 호환성을 위해 더 광범위한 카탈로그를 유지합니다. auth.json를 사용할 때 귀하가 선택한 제공업체의 자격 증명 환경 변수는 두 국제 공급자가 공유합니다.

파일은 0600 권한(사용자 읽기/쓰기 전용)으로 생성됩니다. 인증 파일 자격 증명은 환경 변수보다 우선합니다.

API key 자격 증명에는 공급자 범위 환경 값도 포함될 수 있습니다. 이러한 값은 Cloudflare 계정 ID, Azure OpenAI 설정, Vertex 프로젝트/위치, Bedrock 설정, PI_CACHE_RETENTIONHTTP_PROXY/HTTPS_PROXY와 같은 자격 증명 키, 공급자/모델 헤더 및 공급자 구성을 확인할 때 프로세스 환경 변수 앞에 사용됩니다.

{
  "cloudflare-ai-gateway": {
    "type": "api_key",
    "key": "$CLOUDFLARE_API_KEY",
    "env": {
      "CLOUDFLARE_API_KEY": "...",
      "CLOUDFLARE_ACCOUNT_ID": "account-id",
      "CLOUDFLARE_GATEWAY_ID": "gateway-id"
    }
  }
}

pi가 프로젝트 셸 환경과 다른 공급자 설정을 사용해야 하는 경우 이를 사용합니다.

주요 해결

key 필드는 명령 실행, 환경 보간 및 리터럴을 지원합니다.

  • 셸 명령: 시작 시 "!command" 전체 값을 명령으로 실행하고 stdout(프로세스 수명 동안 캐시됨)을 사용합니다.
    { "type": "api_key", "key": "!security find-generic-password -ws 'anthropic'" }
    { "type": "api_key", "key": "!op read 'op://vault/item/credential'" }
  • 환경 보간: "$ENV_VAR" 또는 "${ENV_VAR}"는 명명된 변수의 값을 사용합니다. 보간은 더 큰 리터럴 내에서 작동합니다.
    { "type": "api_key", "key": "$MY_ANTHROPIC_KEY" }
    { "type": "api_key", "key": "${KEY_PREFIX}_${KEY_SUFFIX}" }
    $FOO_BAR는 변수 FOO_BAR입니다. BAR가 리터럴 텍스트인 경우 ${FOO}_BAR를 사용하세요. 환경 변수가 누락되면 값이 확인되지 않습니다.
  • 이스케이프: "
    quot;
    는 리터럴 "
    quot;
    을 내보냅니다. "$!"는 명령 실행을 트리거하지 않고 리터럴 "!"을 내보냅니다.
    { "type": "api_key", "key": "$literal-dollar-prefix" }
    { "type": "api_key", "key": "$!literal-bang-prefix" }
  • 리터럴 값: 직접 사용됩니다. MY_API_KEY와 같은 일반 대문자 문자열은 리터럴입니다. 환경 변수에는 $MY_API_KEY를 사용하세요.
    { "type": "api_key", "key": "sk-ant-..." }
    { "type": "api_key", "key": "public" }

OAuth 자격 증명은 /login 이후에도 여기에 저장되어 자동으로 관리됩니다.

클라우드 Providers

Azure OpenAI

export AZURE_OPENAI_API_KEY=...
export AZURE_OPENAI_BASE_URL=https://your-resource.ai.azure.com
# also supported: https://your-resource.cognitiveservices.azure.com
# also supported: https://your-resource.openai.azure.com
# root endpoints are auto-normalized to /openai/v1
# or use resource name instead of base URL
export AZURE_OPENAI_RESOURCE_NAME=your-resource

# Optional
export AZURE_OPENAI_API_VERSION=2024-02-01
export AZURE_OPENAI_DEPLOYMENT_NAME_MAP=gpt-4=my-gpt4,gpt-4o=my-gpt4o

아마존 기반암

/login amazon-bedrock를 사용하여 Bedrock API key을 저장하거나 아래의 주변 AWS 자격 증명 소스 중 하나를 구성합니다.

# Option 1: AWS Profile
export AWS_PROFILE=your-profile

# Option 2: IAM Keys
export AWS_ACCESS_KEY_ID=AKIA...
export AWS_SECRET_ACCESS_KEY=...

# Option 3: Bearer Token
export AWS_BEARER_TOKEN_BEDROCK=...

# Optional region (defaults to us-east-1)
export AWS_REGION=us-west-2

ECS 작업 역할(AWS_CONTAINER_CREDENTIALS_*) 및 IRSA(AWS_WEB_IDENTITY_TOKEN_FILE)도 지원합니다.

pi --provider amazon-bedrock --model us.anthropic.claude-sonnet-4-20250514-v1:0

ID에 인식 가능한 모델 이름이 포함된 Claude 모델(기본 모델 및 시스템 정의 추론 프로필)에 대해서는 프롬프트 캐싱이 자동으로 활성화됩니다. 애플리케이션 추론 프로필(ARN에 모델 이름이 포함되지 않음)의 경우 AWS_BEDROCK_FORCE_CACHE=1를 설정하여 캐시 포인트를 활성화합니다.

export AWS_BEDROCK_FORCE_CACHE=1
pi --provider amazon-bedrock --model arn:aws:bedrock:us-east-1:123456789012:application-inference-profile/abc123

Bedrock API 프록시에 연결하는 경우 다음 환경 변수를 사용할 수 있습니다.

# Set the URL for the Bedrock proxy (standard AWS SDK env var)
export AWS_ENDPOINT_URL_BEDROCK_RUNTIME=https://my.corp.proxy/bedrock

# Set if your proxy does not require authentication
export AWS_BEDROCK_SKIP_AUTH=1

# Set if your proxy only supports HTTP/1.1
export AWS_BEDROCK_FORCE_HTTP1=1

Cloudflare AI 게이트웨이

CLOUDFLARE_API_KEY/login를 통해 설정할 수 있습니다. 계정 ID와 게이트웨이 슬러그는 환경 변수로 설정하거나 auth.json에 있는 API key 자격 증명의 env 개체에서 설정할 수 있습니다.

export CLOUDFLARE_API_KEY=...           # or use /login
export CLOUDFLARE_ACCOUNT_ID=...
export CLOUDFLARE_GATEWAY_ID=...        # create at dash.cloudflare.com → AI → AI Gateway
pi --provider cloudflare-ai-gateway --model "claude-sonnet-4-5"

Cloudflare AI Gateway를 통해 OpenAI, Anthropic 및 Workers AI로 라우팅합니다. Workers AI는 통합 API(/compat) 및 접두사가 붙은 모델 ID(workers-ai/@cf/...)를 사용합니다. OpenAI는 gpt-5.1와 같은 기본 OpenAI 모델 ID와 함께 OpenAI 통과 경로(/openai)를 사용합니다. Anthropic은 claude-sonnet-4-5와 같은 기본 Anthropic 모델 ID와 함께 Anthropic 통과 경로(/anthropic)를 사용합니다.

AI Gateway 인증에서는 CLOUDFLARE_API_KEYcf-aig-authorization로 사용합니다. 업스트림 인증은 다음 중 하나일 수 있습니다.

방법 인증 요청 업스트림 인증
노동자 AI Cloudflare 토큰만 Cloudflare 기반
통합 결제 Cloudflare 토큰만 Cloudflare는 업스트림 인증을 처리하고 크레딧을 차감합니다.
BYOK 저장됨 Cloudflare 토큰만 Cloudflare는 AI Gateway 대시보드에 저장된 공급자 키를 삽입합니다.
인라인 BYOK Cloudflare 토큰과 업스트림 Authorization 헤더 요청은 업스트림 공급자 키를 제공합니다.

일반적인 Pi 사용의 경우 통합 청구 또는 저장된 BYOK를 선호합니다. 인라인 BYOK를 사용하려면 models.json 공급자/모델 재정의 등을 통해 Cloudflare AI Gateway 공급자에 대한 추가 업스트림 Authorization 헤더를 구성해야 합니다.

Cloudflare 작업자 AI

CLOUDFLARE_API_KEY/login를 통해 설정할 수 있습니다. CLOUDFLARE_ACCOUNT_ID는 환경 변수로 설정하거나 auth.json에 있는 API key 자격 증명의 env 개체에 설정할 수 있습니다.

export CLOUDFLARE_API_KEY=...           # or use /login
export CLOUDFLARE_ACCOUNT_ID=...
pi --provider cloudflare-workers-ai --model "@cf/moonshotai/kimi-k2.6"

Pi는 prefix caching 할인을 위해 x-session-affinity를 자동으로 설정합니다.

구글 버텍스 AI

애플리케이션 기본 자격 증명 사용:

gcloud auth application-default login
export GOOGLE_CLOUD_PROJECT=your-project
export GOOGLE_CLOUD_LOCATION=us-central1

또는 GOOGLE_APPLICATION_CREDENTIALS를 서비스 계정 키 파일로 설정하세요.

llama.cpp

Pi는 llama.cpp 라우터 서버를 지원합니다. /login llama.cpp로 구성하고, /llama로 로드된 모델을 관리하고, /model로 로드된 모델을 선택하세요.

서버 설정, 모델 디렉터리 레이아웃, 환경 변수 및 명령 사용법은 llama.cpp를 참조하세요.

맞춤 Providers

models.json을 통해: Ollama, LM Studio, vLLM 또는 지원되는 API(OpenAI Completions, OpenAI Responses, Anthropic Messages, Google Generative AI)을 사용하는 모든 공급자를 추가하세요. models.md를 참조하세요.

확장 프로그램을 통해: 맞춤 API 구현 또는 OAuth 흐름이 필요한 공급자의 경우 확장 프로그램을 만듭니다. custom-provider.mdexamples/extensions/custom-provider-gitlab-duo를 참조하세요.

해결 순서

공급자에 대한 자격 증명을 확인할 때:

  1. CLI --api-key 깃발
  2. auth.json 항목(API key 또는 OAuth 토큰)
  3. 환경변수
  4. models.json의 맞춤 공급자 키