Providers
本页面是 Pi 官方文档 的中文翻译。仅供学习参考。
Pi 支持两类 Provider:基于订阅的(通过 OAuth)和 API Key 型(通过环境变量或 auth 文件)。对于每个 Provider,Pi 知道所有可用的模型。模型列表随每次 Pi 发布更新。
目录
订阅(Subscriptions)
在交互模式下运行 /login 并选择 Provider:
- ChatGPT Plus/Pro (Codex)
- Claude Pro/Max
- GitHub Copilot
使用 /logout 清除已存储的凭证。Token 存储在 ~/.pi/agent/auth.json 中,过期时自动刷新。
OpenAI Codex
需要 ChatGPT Plus 或 Pro 订阅。由 OpenAI 通过 Codex for OSS 计划正式认可。
Claude Pro/Max
Anthropic 订阅认证适用于 Claude Pro/Max 账户。第三方工具的使用从 extra usage 中扣除,按 Token 计费,不会扣减 Claude 计划额度。
GitHub Copilot
按 Enter 使用 github.com,或输入你的 GitHub Enterprise Server 域名。如果出现"model not supported"错误,在 VS Code 中启用:Copilot Chat → 模型选择器 → 选择模型 → "Enable"。
API Keys
环境变量或 Auth 文件
使用 /login 在交互模式下选择 Provider 将 API Key 存储到 auth.json 中,或通过环境变量设置凭据:
环境变量和 auth.json 键的参考:const envMap 位于 packages/ai/src/env-api-keys.ts。
Auth 文件
凭证存储在 ~/.pi/agent/auth.json 中:
文件以 0600 权限创建(仅用户可读写)。Auth 文件凭证优先于环境变量。
Key 解析
key 字段支持三种格式:
- Shell 命令:
"!command"执行命令并使用 stdout(进程生命周期内缓存) - 环境变量: 使用命名变量的值
- 字面值: 直接使用
OAuth 凭证在使用 /login 后也会存储在这里,并自动管理。
云 Provider
Azure OpenAI
Amazon Bedrock
也支持 ECS 任务角色(AWS_CONTAINER_CREDENTIALS_*)和 IRSA(AWS_WEB_IDENTITY_TOKEN_FILE)。
对于 ID 包含可识别模型名称的 Claude 模型(基础模型和系统定义的推理配置),提示缓存会自动启用。对于应用推理配置(其 ARN 不包含模型名称),设置 AWS_BEDROCK_FORCE_CACHE=1 以启用缓存点:
如果你要连接到 Bedrock API 代理,可以使用以下环境变量:
Cloudflare AI Gateway
CLOUDFLARE_API_KEY 可通过 /login 设置。账户 ID 和网关 slug 必须通过环境变量设置。
通过 Cloudflare AI Gateway 路由到 OpenAI、Anthropic 和 Workers AI。Workers AI 使用 Unified API(/compat)和带前缀的模型 ID(workers-ai/@cf/...)。OpenAI 使用 OpenAI 透传路由(/openai)和原生 OpenAI 模型 ID,如 gpt-5.1。Anthropic 使用 Anthropic 透传路由(/anthropic)和原生 Anthropic 模型 ID,如 claude-sonnet-4-5。
AI Gateway 认证使用 CLOUDFLARE_API_KEY 作为 cf-aig-authorization。上游认证可以是以下之一:
对于普通的 Pi 使用,建议使用统一计费或存储的 BYOK。内联 BYOK 需要配置额外的上游 Authorization 头给 Cloudflare AI Gateway Provider,例如通过 models.json 的 Provider/模型覆盖。
Cloudflare Workers AI
CLOUDFLARE_API_KEY 可通过 /login 设置。CLOUDFLARE_ACCOUNT_ID 必须通过环境变量设置。
Pi 会自动设置 x-session-affinity 以享受前缀缓存折扣。
Google Vertex AI
使用 Application Default Credentials:
或设置 GOOGLE_APPLICATION_CREDENTIALS 为服务账户密钥文件。
自定义 Provider
通过 models.json: 添加 Ollama、LM Studio、vLLM 或任何支持兼容 API(OpenAI Completions、OpenAI Responses、Anthropic Messages、Google Generative AI)的 Provider。详见 models.md。
通过扩展: 对于需要自定义 API 实现或 OAuth 流程的 Provider,创建一个扩展。详见 custom-provider.md 和 examples/extensions/custom-provider-gitlab-duo。
解析顺序
解析 Provider 凭证时:
- CLI
--api-key标志 auth.json条目(API Key 或 OAuth Token)- 环境变量
models.json中的自定义 Provider Key
法律声明:本页面是 pi.dev 官方文档的中文翻译版本,仅供学习参考。本网站与 pi.dev 及 Earendil Inc. 无任何法律关系。

