Pi の設定

はじめに / Pi の設定

Pi の設定

Pi は @earendil-works/pi-coding-agent として公開されているターミナル向けコーディングエージェントです。複数の API 方言に対応するトランスポートを備えているため、OpenAI 互換エンドポイントでも Anthropic 互換エンドポイントでも CodeByAI を利用できます。手作業で用意するのは JSON ファイル 1 つだけです。

1. Pi のインストール

macOS または Linux:

1
curl -fsSL https://pi.dev/install.sh | sh

npm を使用する場合(Node.js 22.19 以降):

1
npm install -g --ignore-scripts @earendil-works/pi-coding-agent

Windows では powershell -c "irm https://pi.dev/install.ps1 | iex" を使用します。

2. モデル設定の作成

Pi は設定を ~/.pi/agent/ に保存し、カスタムエンドポイントを models.json から読み込みます:

  • macOS / Linux: ~/.pi/agent/models.json
  • Windows: C:\Users\YourUserName\.pi\agent\models.json

フォルダーがまだ存在しない場合があります。作成してから models.json を作成してください:

1
{
2
  "$schema": "https://pi.dev/schemas/models.schema.json",
3
  "providers": {
4
    "codebyai": {
5
      "name": "CodeByAI",
6
      "baseUrl": "https://www.codebyai.net/api/agent",
7
      "api": "openai-completions",
8
      "apiKey": "$CODEBYAI_API_KEY",
9
      "models": [
10
        {
11
          "id": "gpt-5.6-terra",
12
          "name": "GPT-5.6 Terra",
13
          "contextWindow": 200000,
14
          "maxTokens": 32768
15
        }
16
      ]
17
    },
18
    "codebyai-claude": {
19
      "name": "CodeByAI (Claude)",
20
      "baseUrl": "https://www.codebyai.net/api/agent",
21
      "api": "anthropic-messages",
22
      "apiKey": "$CODEBYAI_API_KEY",
23
      "models": [
24
        {
25
          "id": "claude-sonnet-5",
26
          "name": "Claude Sonnet 5",
27
          "contextWindow": 200000,
28
          "maxTokens": 32768
29
        }
30
      ]
31
    }
32
  }
33
}

ここで重要なポイントは次のとおりです:

  • api は通信プロトコルです。openai-completions は /chat/completions を呼び出して GPT 系モデルを扱い、anthropic-messages は /v1/messages を呼び出して Claude 系モデルを扱います。プロトコルごとにプロバイダーを 1 つ用意するのが最もシンプルな構成です。
  • baseUrl は /api/agent で止めます。/v1 を追加しないでください: ゲートウェイはパスの残りの部分を上流へ転送するため、/api/agent/v1/chat/completions は 404 page not found を返します。
  • apiKey は $VARIABLE と ${VARIABLE} の展開に対応しているため、秘密情報がファイル内に保存されることはありません。
  • models には モデルプラザ の任意の id を指定できます。contextWindow と maxTokens は Pi 自身のバジェット計算にのみ使われ、上流へ送信されることはありません。

3. API キーの設定

1
export CODEBYAI_API_KEY="sk-proj-xxxx"

~/.zshrc または ~/.bashrc に追加すると、セッションをまたいで保持されます。キー自体は API キー ページで作成してください。Pi は 1 回の実行に限り、コマンドラインで --api-key を指定することもできます。

4. Pi の起動

1
cd your-project
2
pi --model codebyai/gpt-5.6-terra

Anthropic 互換の経路で Claude モデルを使用する場合:

1
pi --model codebyai-claude/claude-sonnet-5

セッションを開始する前に、Pi から何が見えているかを確認する場合:

1
pi --list-models codebyai

5. トラブルシューティング

  • 404 page not found が返る場合: baseUrl が /v1 で終わっています。削除してください。
  • No models available が表示される、または pi --list-models にプロバイダーが出てこない場合: Pi を起動したシェルで CODEBYAI_API_KEY が空のため、Pi はその項目を飛ばしています。存在しないモデル id でも一覧には表示されるので、モデルが見えない原因はほとんどの場合キーの未設定です。
  • 応答が Hello! How can I help you with your software engineering tasks today? で始まる場合(HTTP 403): ゲートウェイが API キーを受け取っておらず、このシェルで変数が空になっています。Invalid key! という 403 応答は、キー自体が削除されたか誤って入力されたことを意味します。
  • 残高不足: ウォレット ページでチャージしてください。