主题
Pi 使用指南
Pi 是一个运行在终端中的轻量级 AI 编程工具。它支持在项目目录中读取文件、修改代码、执行命令,并可以通过自定义 models.json 接入兼容 OpenAI 或 Anthropic 协议的模型服务。
本页按照 Pi 官方文档的使用流程,整理 FlexAPI 的接入方式。
Step 1: 安装 Pi
Pi 官方通过 npm 发布。打开终端执行:
bash
npm install -g --ignore-scripts @earendil-works/pi-coding-agent安装完成后,可以在任意项目目录运行:
bash
cd /path/to/your-project
piWindows 用户可以在 PowerShell 中执行相同的 npm 命令。
Step 2: 准备 FlexAPI API Key
- 登录 FlexAPI。
- 选择要使用的分组。
- 创建或复制 FlexAPI API Key。
- 确认当前分组已经开通目标模型。
Step 3: 配置 FlexAPI
Pi 使用 ~/.pi/agent/models.json 管理自定义供应商和模型。没有该文件时,可以手动创建目录和文件。
macOS / Linux
bash
mkdir -p ~/.pi/agent
export FLEXAPI_API_KEY="替换为你的 FlexAPI API Key"Windows PowerShell
powershell
New-Item -ItemType Directory -Force "$HOME\.pi\agent" | Out-Null
$env:FLEXAPI_API_KEY = "替换为你的 FlexAPI API Key"然后将下面内容保存为 ~/.pi/agent/models.json:
json
{
"providers": {
"flexapi": {
"baseUrl": "https://flexapi.me/v1",
"api": "openai-completions",
"apiKey": "$FLEXAPI_API_KEY",
"models": [
{
"id": "gpt-5.5",
"name": "FlexAPI GPT-5.5"
}
]
}
}
}模型 ID
示例中的 gpt-5.5 只是配置示例。实际使用时,请替换成 FlexAPI 当前分组支持的模型 ID。可以在模型价格表或 FlexAPI 控制台中确认可用模型。
API Key 安全
推荐通过 FLEXAPI_API_KEY 环境变量注入密钥,不要把真实 API Key 直接写入公开仓库或截图。
Step 4: 选择模型并开始使用
在项目目录运行:
bash
pi进入 Pi 后,可以使用以下命令:
text
/model 选择模型
/thinking 调整思考强度
/settings 打开设置
/reload 重新加载配置、扩展和项目上下文
/quit 退出 Pi如果刚刚修改了 models.json,重新打开 /model 即可让 Pi 重新读取模型配置。
第一次使用时,可以输入:
text
请先列出当前项目的目录结构,并说明这个项目如何启动。Pi 默认可以使用读取文件、编辑文件和执行命令等工具。涉及写入文件或执行高风险命令时,请先确认变更内容。
常用功能
引用文件
在输入框中输入 @,可以搜索并引用项目文件:
text
@README.md 请总结这个项目的启动方式也可以直接在命令行中传入文件:
bash
pi @README.md "总结这个项目的启动方式"执行命令
在交互模式中,可以使用 ! 将命令输出发送给模型:
text
!npm run build如果只想执行命令而不把输出加入模型上下文,可以使用 !!:
text
!!git status管理会话
Pi 会自动保存会话。常用命令如下:
bash
pi -c # 继续最近一次会话
pi -r # 浏览历史会话
pi --name "项目重构" # 启动时设置会话名称在 Pi 内还可以使用 /new、/resume、/tree 和 /compact 管理当前会话。
常见问题
找不到 FlexAPI 模型
- 确认文件路径为
~/.pi/agent/models.json。 - 确认 JSON 格式正确,尤其是逗号和引号。
- 确认
FLEXAPI_API_KEY已在当前终端会话中设置。 - 打开
/model,确认FlexAPI GPT-5.5已出现在列表中。
请求地址错误
Pi 当前配置使用 OpenAI 兼容接口,baseUrl 必须填写:
text
https://flexapi.me/v1如果你使用的是 Anthropic 兼容模型或工具,请改用支持 Anthropic Messages 的配置,并按照对应客户端要求使用 https://flexapi.me。
模型不存在
将 models.json 中的 id 改成 FlexAPI 当前支持的模型 ID。Pi 会把该字段原样发送给 FlexAPI。