Skip to main content
Pi 是 Pi Agent Harness 專案。它的 @earendil-works/pi-coding-agent 套件提供互動式編碼代理 CLI,支援檔案、shell、edit、write、session、print、JSON、RPC 與 SDK 工作流程。Pi 可以從 ~/.pi/agent/models.json 載入自訂供應商,因此你可以將 CometAPI 作為與 OpenAI 相容的供應商項目加入,而無需變更 Pi 原始碼。 官方參考資料:
模型可用性會隨時間變動。請將 your-model-id 替換為來自 CometAPI Models page 的可用 model ID。

先決條件

  • Node.js >=22.19.0
  • npm
  • 一個 CometAPI 帳戶,且已從 dashboard 取得啟用中的 API key
  • 已從官方 npm 套件安裝 Pi

了解執行階段權限

Pi 會以啟動它的使用者與程序權限執行。請在你希望它操作的專案目錄中啟動 Pi,保留像是 git 這樣的回復路徑,若你需要更嚴格的檔案系統、程序、網路或憑證邊界,請使用容器或沙箱。

設定提供者

1

安裝 Pi

使用 npm 全域安裝 Pi:
確認 CLI 可用:
2

設定你的 CometAPI API 金鑰

將你的 CometAPI API 金鑰儲存在 COMETAPI_KEY 環境變數中:
如果你希望它在不同終端機工作階段之間持續生效,請將 export 指令加入你的 shell 設定檔。不要將 API 金鑰提交到版本控制。
3

將 CometAPI 提供者加入 models.json

如果 ~/.pi/agent/models.json 不存在,請建立它。如果該檔案已經包含 providers,請將 cometapi-responsescometapi-chat 項目合併到現有的 providers 物件中:
對於需要 OpenAI Responses API 的 model 或工作流程,請使用 cometapi-responses。對於相容 OpenAI 聊天補全的 model,請使用 cometapi-chat。Pi 會在請求時解析 $COMETAPI_KEY。請將 API 金鑰保留在你的環境中,或保留在你自己的 secrets 工作流程中。
4

驗證兩個提供者

列出 Pi 可為 Responses 提供者看到的 model:
使用 Responses 提供者執行簡短的一次性 Prompt:
列出 Pi 可為聊天補全提供者看到的 model:
使用聊天補全提供者執行簡短的一次性 Prompt:
若要互動式使用,請在你的專案中啟動 Pi,並使用 /model 選擇 CometAPI 提供者與 model。如果你在互動式工作階段期間編輯 models.json,請再次開啟 /model,讓 Pi 重新載入自訂 model 項目。

疑難排解

確認 ~/.pi/agent/models.json 是有效的 JSON,且每個 provider 項目都位於最上層的 providers 物件內。儲存檔案後,執行 pi --list-models cometapi-responsespi --list-models cometapi-chat
確認 COMETAPI_KEY 已在啟動 Pi 的同一個 shell 工作階段中設定。如果你使用 shell profile,請在執行 Pi 之前開啟新的終端機,或重新載入該 profile。
models.json 中使用 https://api.cometapi.com/v1 作為 baseUrl。不要將 Pi 指向 dashboard URL,也不要在 OpenAI 相容路由中省略 /v1 後綴。
使用 node --version 檢查你的 Node.js 版本。Pi 套件需要 Node.js >=22.19.0
使用 api 欄位與你的模型所支援路由相符的 provider 項目。openai-responses 使用 Responses API,而 openai-completions 使用 聊天補全。
Pi 會以啟動它的使用者與程序權限執行。當你需要對檔案、程序、網路存取或憑證有更嚴格的邊界時,請在容器或沙箱中執行 Pi。

相關資源