pi 編碼代理 API 設定

使用 TokenHub 提供者、基於環境的 API 金鑰和相容模型來設定 pi(可擴充編碼代理)。

編碼代理 pi 是什麼?

pi 是一個可擴展的命令列編碼代理,具有用於個人開發工作流程的自訂提供者、模型和擴展。

本 pi 代理指南将 TokenHub 添加到 models.json,将 API 密钥保存在环境变量中,并在您在 pi CLI 中选择提供程序之前准确声明模型限制。 pi 屬於 pi-mono 項目,支援自訂提供者、模型功能聲明和擴充。 models.json 值是操作限制而不是装饰性元数据:使用经过验证的上下文和输出值,使用环境变量保护 API 密钥,并在扩展请求其他工具时单独验证扩展。

pi的官方Custom Models機制從~/.pi/agent/models.json載入網關和自訂模型。 TokenHub 使用 openai-completions API 類型。這裡沒有通用的「新增提供者」表單;此設定檔是受支援的入口點。

第 1 步:為 models.json 準備憑證

在啟動 pi 的同一終端機中,設定:

export TOKENHUB_API_KEY="sk-..."

models.json中,讀取環境變數的值必須是"$TOKENHUB_API_KEY"。 pi 的文檔指出,沒有 models.json中,讀取環境變數的值必須是"$TOKENHUB_API_KEY"`。 pi 的文檔指出,沒有 的大寫字串被視為文字鍵,而不是環境變數名稱。

步驟2:編輯~/.pi/agent/models.json

{
  "providers": {
    "tokenhub": {
      "baseUrl": "__API_BASE_URL__/v1",
      "api": "openai-completions",
      "apiKey": "$TOKENHUB_API_KEY",
      "models": [
        {
          "id": "YOUR_TOKENHUB_MODEL_ID",
          "name": "TokenHub / YOUR_TOKENHUB_MODEL_ID",
          "reasoning": false,
          "input": ["text"],
          "contextWindow": 128000,
          "maxTokens": 8192
        }
      ]
    }
  }
}

更正 TokenHub 模型頁面中的每個欄位:

  • id 是發送到 API 的型號 ID,並且是必需的。
  • 僅對於支援擴展推理的模型,將 reasoning 設定為 true
  • input 預設為文字。僅對具有影像輸入的型號使用 ["text", "image"]
  • 雖然contextWindow有預設值,但聲明模型的真實上下文視窗。
  • maxTokens 是最大輸出,而不是上下文視窗。

TokenHub 使用不記名令牌。如果您的 pi 版本未自動新增授權標頭,請在提供者層級新增 "authHeader": true

步驟3:開啟/model重新載入文件

在 pi 會話中執行 /model。每次/model開啟時,pi都會重新載入models.json,因此不需要重新啟動。選擇tokenhub/YOUR_TOKENHUB_MODEL_ID,要求其解釋一個文件,成功後才測試工具呼叫。

如果提供者和模型已顯示但不可選擇,則檔案已載入但憑證未解析。檢查環境變量,或使用 /login / auth.json 儲存提供者金鑰。

僅在需要時應用特定於 pi 的兼容性覆蓋

某些 OpenAI-compatible 服務拒絕 developer 角色或 reasoning_effort。僅在相應的 400 錯誤發生後添加這些標誌:

"compat": {
  "supportsDeveloperRole": false,
  "supportsReasoningEffort": false
}

不要搶先禁用功能。基本請求成功後,僅針對確切型號配置 thinkingLevelMap、影像輸入、取樣參數或定價。

根據pi的負載行為進行故障排除

  • /model 中完全不存在提供者:檢查檔案路徑、JSON 語法、baseUrlapi
  • 提供者存在,但無法選擇模型:$TOKENHUB_API_KEY 未解析,或提供者缺少已儲存的憑證。
  • 401:确认pi进程继承了该变量,并根据需要设置authHeader: true
  • 400或提前截斷:正確的contextWindowmaxTokenscompat;不要簡單地增加數字。
  • 變更未出現:重新開啟 /model,而不是依賴目前會話中顯示的舊選擇。

官方參考資料

如何選擇推薦模型?

工作負載模型選擇適合原因
複雜任務旗艦推理模型適合規劃、多步驟執行與複雜上下文。
日常使用均衡模型平衡效果、速度與成本。
批次工作快速低成本模型降低摘要與簡單任務成本。
前往模型廣場比較價格和能力

pi 編碼代理提供者常見問題解答

pi 代理、pi 編碼代理和 pi-mono 有何關係?

pi-mono 是包含多個元件的專案儲存庫,其中包括 pi Coding Agent CLI。本頁介紹該編碼代理,而非 Raspberry Pi。

為什麼 pi 自訂提供者需要模型限制?

pi 使用上下文和輸出限制來塑造請求和功能。輸入經過驗證的模型規格,而不是複製或發明的值。

pi 擴充會自動使用 TokenHub 模型嗎?

它們通常遵循當前的會話提供程序,但擴充功能可以有單獨的要求或設定。安全地檢查權限並驗證每個擴充功能。

為什麼pi找不到TOKENHUB_API_KEY?

確認 models.json 引用了確切的變數名稱,並從已載入它的新終端啟動 pi。不要將真實密鑰儲存在儲存庫配置中。

如何測試 pi Coding Agent 提供者?

選擇提供者和模型,執行唯讀程式碼任務,並在啟用編輯、命令或擴充功能之前檢查 TokenHub 日誌。

參考資料

本頁設定依據 TokenHub 教學與官方資料,最後驗證日期為 2026-09-08。