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_KEY는 API key 사용을 통해 계속 사용할 수 있습니다.
오픈라우터
/login openrouter를 실행한 다음 OpenRouter로 로그인을 선택하여 OpenRouter PKCE 인증 흐름을 엽니다.- 승인을 통해 OpenRouter 크레딧으로 청구되는 사용자 제어 OpenRouter API key가 생성됩니다.
- 원격/헤드리스 시스템(예: SSH 이상)에서 브라우저는 루프백 콜백에 도달할 수 없습니다. 대신 최종 리디렉션 URL(또는 인증 코드)을 로그인 프롬프트에 붙여넣으세요.
OPENROUTER_API_KEY는 API key 사용을 통해 계속 사용할 수 있습니다.
반지름
Radius는 동적 pi-messages 게이트웨이입니다. /login radius는 auth.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.ts의 const 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_RETENTION 및 HTTP_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-2ECS 작업 역할(AWS_CONTAINER_CREDENTIALS_*) 및 IRSA(AWS_WEB_IDENTITY_TOKEN_FILE)도 지원합니다.
pi --provider amazon-bedrock --model us.anthropic.claude-sonnet-4-20250514-v1:0ID에 인식 가능한 모델 이름이 포함된 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/abc123Bedrock 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=1Cloudflare 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_KEY를 cf-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.md 및 examples/extensions/custom-provider-gitlab-duo를 참조하세요.
해결 순서
공급자에 대한 자격 증명을 확인할 때:
- CLI
--api-key깃발 auth.json항목(API key 또는 OAuth 토큰)- 환경변수
models.json의 맞춤 공급자 키