身份认证与 Provider
Pi 支持通过 OAuth 的订阅型 Provider 和通过环境变量或认证文件的 API 密钥型 Provider。对于每个 Provider,Pi 了解所有可用模型。模型列表随每次 Pi 发布更新。
目录
订阅
在交互模式下使用 /login,然后选择 Provider:
- Claude Pro/Max
- ChatGPT Plus/Pro (Codex)
- GitHub Copilot
- Google Gemini CLI
- Google Antigravity
使用 /logout 清除凭证。令牌存储在 ~/.pi/agent/auth.json 中,过期时自动刷新。
GitHub Copilot
- 按 Enter 使用 github.com,或输入你的 GitHub Enterprise Server 域名
- 如果出现"model not supported"错误,请在 VS Code 中启用:Copilot Chat → 模型选择器 → 选择模型 → "Enable"
Google Provider
- Gemini CLI:通过 Cloud Code Assist 使用标准 Gemini 模型
- Antigravity:提供 Gemini 3、Claude 和 GPT-OSS 模型的沙盒环境
- 两者对任何 Google 账户免费,受速率限制
- 对于付费的 Cloud Code Assist:设置
GOOGLE_CLOUD_PROJECT环境变量
OpenAI Codex
- 需要 ChatGPT Plus 或 Pro 订阅
- 仅限个人使用;生产用途请使用 OpenAI Platform API
API 密钥
环境变量或认证文件
通过环境变量设置:
认证文件
将凭证存储在 ~/.pi/agent/auth.json 中:
文件以 0600 权限创建(仅用户可读写)。认证文件中的凭证优先于环境变量。
密钥解析
key 字段支持三种格式:
- Shell 命令:
"!command"执行命令并使用 stdout(进程生命周期内缓存) - 环境变量: 使用指定变量的值
- 字面值: 直接使用
OAuth 凭证也存储在此文件中,在 /login 后自动管理。
云 Provider
Azure OpenAI
Amazon Bedrock
也支持 ECS 任务角色(AWS_CONTAINER_CREDENTIALS_*)和 IRSA(AWS_WEB_IDENTITY_TOKEN_FILE)。
如果连接到 Bedrock API 代理,可以使用以下环境变量:
Google Vertex AI
使用应用默认凭证:
或将 GOOGLE_APPLICATION_CREDENTIALS 设置为服务账户密钥文件。
自定义 Provider
通过 models.json: 添加 Ollama、LM Studio、vLLM 或任何支持已知 API(OpenAI Completions、OpenAI Responses、Anthropic Messages、Google Generative AI)的 Provider。详见 自定义模型。
通过扩展: 对于需要自定义 API 实现或 OAuth 流程的 Provider,创建扩展。
凭证解析顺序
为 Provider 解析凭证时的优先级:
- CLI
--api-key标志 auth.json条目(API 密钥或 OAuth 令牌)- 环境变量
models.json中的自定义 Provider 密钥