概要
Pi コーディング エージェント (コマンドおよび設定ディレクトリ名はpi) は、Earendil Works のオープンソースのターミナル ネイティブ コーディング エージェント (コマンド ライン ツール) です。複数のモデル プロバイダー、カスタム プロバイダー、プラグイン可能なツールをサポートしているため、コマンド ラインからのコード支援やタスクの自動化に最適です。
Pi は、カスタム モデル プロバイダーと Anthropic Messages API をサポートしています。 EvoLink を ~/.pi/agent/models.json のカスタム プロバイダーとして構成すると、Pi の完全なエージェント ツール呼び出し機能を維持しながら、Pi で EvoLink のクロード モデル ファミリを使用できます。
Pi の公式の焦点は ターミナル CLI (4 つの実行モード: インタラクティブ / 印刷 / RPC / SDK) であり、このガイドは CLI に従っています。
始める前に
構成を開始する前に、次の準備が完了していることを確認してください。1.Pi コーディング エージェント CLI をインストールする
Pi には Node.js ≥ 22.19.0 が必要です。まず、
node -v でバージョンを確認します。このバージョンより前のバージョンでは、npm install -g は EBADENGINE を報告するため、最初にノードをアップグレードします。- カールスクリプト
- npm

pi コマンドが使用可能であることを確認します。
2. EvoLink API キーを取得する
- EvoLink コンソール にログインします。
- コンソールで API キーを見つけて、[新しいキーの作成] ボタンをクリックし、生成されたキーをコピーします。
- API キーは通常、
sk-で始まります。大切に保管してください。
ステップ 1: EvoLink プロバイダーを構成する
Pi は、ホーム ディレクトリ (フル パス~/.pi/agent/models.json) 内の .pi/agent/ フォルダーにある models.json という名前の構成ファイルを通じてプロバイダーとモデルを定義します。クロード モデルは Pi で tool_use / tool_result を頻繁に使用するため、このガイドでは EvoLink の Anthropic Messages 互換 API を使用し、タイプ anthropic-messages のカスタム プロバイダーとして構成します。
~ は ホーム ディレクトリ を表します (macOS では /Users/your-username、Linux では /home/your-username)。 .pi はドットで始まるため、デフォルトでは Finder やファイル エクスプローラーに表示されない 隠しフォルダー になっています。そのため、以下のファイルを作成する最も簡単な方法はコマンド ラインを使用することです。コピーして貼り付けるだけです。.piフォルダーはPiが実行されるまで作成されません)、手動で作成する必要があります。次の 3 つの手順に従います。
1
ターミナルを開く
- macOS:
Command + Spaceを押して Spotlight を開き、「Terminal」と入力して Enter を押します。 - Windows: [スタート] メニューで
PowerShellを検索して開きます。
2
configフォルダーと新しいファイルを作成します
次のコマンドをターミナルに貼り付けて Enter キーを押します。必要なフォルダーが自動的に作成され、テキスト エディターで空の これにより、
models.json が開きます。- macOS / Linux
- Windows (PowerShell)
nano エディター (ターミナル内の単純なテキスト エディター) が表示されます。3
設定を貼り付けて保存します
以下の 完全な構成 をコピーし、開いたエディターに貼り付けます。次に保存します。
- nano (macOS / Linux):
Control + Oを押して Enter を押して保存し、Control + Xを押して終了します。 - メモ帳 (Windows):
Control + Sを押して保存し、ウィンドウを閉じます。
api: "anthropic-messages"— EvoLink の Anthropic メッセージ互換ルートを使用するため、Pi はクロードのネイティブtool_use/tool_resultプロトコルを使用します。baseUrlをドメイン ルートにのみ設定しますhttps://direct.evolink.ai—/v1または/v1/messagesを手動で追加しないでください**。 Pi は/v1/messagesを自動的に追加します。手動で追加するとパスが複製され、404 Invalid URLが発生します。authHeader: trueは必須です。 Pi の Anthropic SDK はデフォルトでx-api-keyを使用しますが、EvoLink の/v1/messagesはAuthorization: Bearer <your-key>を想定しています。このフィールドにより、Pi は正しいベアラー認証ヘッダーを送信します。apiKeyには 2 つの形式があります - 1 つを選択してください:- オプション 1 · キーを直接貼り付けます (最も簡単で、ローカルでの個人使用に適しています): 設定内の
"$EVOLINK_API_KEY"を実際のキーに置き換えます。"apiKey": "sk-your-real-key"。ワンステップで完了し、環境変数は必要ありません。欠点は、キーが構成ファイル内のプレーンテキストに存在するため、このファイルを共有したり、Git にコミットしたりしないでください。 - オプション 2 · 環境変数の補間 (より安全、推奨):
"$EVOLINK_API_KEY"をそのままにして、実際のキーを環境変数に置きます (下記の「API キー環境変数の設定」を参照)。これにより、プレーンテキストのキーが構成ファイルに保存されなくなります。 - (上級) Pi の
apiKeyは、${EVOLINK_API_KEY}(同等。変数名の直後にリテラル テキストが続く場合は中括弧を使用して曖昧さをなくす) および!command(先頭の!がコマンドを実行し、その出力をキーとして使用します。たとえば、パスワード マネージャーからの読み取り:"!op read 'op://vault/item/credential'") もサポートします。値にリテラルの**(上級)** Pi のapiKeyは、および$!` としてエスケープします。
- オプション 1 · キーを直接貼り付けます (最も簡単で、ローカルでの個人使用に適しています): 設定内の
設定ファイル内のキーに触れたくないですか?対話モードで
/login を使用して、このプロバイダーを選択し、キーを ~/.pi/agent/auth.json に保存することもできます。効果は同等です。API キー環境変数を設定する
この手順は、上記の オプション 2 (環境変数補間) を選択した場合にのみ必要です。 オプション 1 (キーを直接貼り付ける) を選択した場合、キーはすでに構成ファイル内にあります。このセクションをスキップして、ステップ 2 に進みます。
$EVOLINK_API_KEY が実際のキーを指すようにします。以下は、一時 バージョン (現在のターミナル ウィンドウでのみ有効。ウィンドウを閉じると消えます。最初のテスト実行に適しています) と 永続 バージョン (ターミナルを開くたびに自動的にロードされます) の両方です。
- macOS / Linux
- Windows (PowerShell)
一時 (現在のターミナル ウィンドウ。閉じると失われます):永続 (シェル構成ファイルに書き込まれ、新しいターミナルごとに自動的に適用されます):
どのシェルを使用しているかわからない場合は、ターミナルで
echo $SHELL を実行します。出力に zsh が含まれる場合は、~/.zshrc を使用します。 bash が含まれる場合は、~/.bashrc を使用します。ステップ 2: 使用を開始して確認する
1. モデルの選択
ターミナルで次のコマンドを実行して Pi を起動します。/model」と入力してモデル セレクターを開き、上記で構成した EvoLink モデル (claude-fable-5 など) を選択します。
2. 構成を確認する
モデルを選択した後、最初に簡単なプロンプトを入力してモデルの応答を確認します。
- AI の通常の応答 (数行のテキスト) が表示されます。
- Pi は 2 番目のタスクで
lsツールを呼び出し、応答を続けることができます。 401、404、model_not_found、Unexpected role "tool"などのエラーはありません。
トラブルシューティング
以下は 実際に表示されるエラー ごとにまとめられています。一致するものを見つけてください。401 (無効な API キー) を返します
- 環境変数が有効になりませんでした (最も一般的な): 現在のターミナルで
test -n "$EVOLINK_API_KEY" && echo "Key loaded" || echo "Key not loaded"を実行します。 Windows では、setxを使用した後に ターミナルを再起動する必要があります。 apiKeyフィールドは間違っています。変数名をリテラル キーとして扱うのではなく、models.jsonに"$EVOLINK_API_KEY"(環境変数を参照) が含まれていることを確認してください。"authHeader": trueがありません: EvoLink の/v1/messagesにはベアラー トークンが必要なので、このフィールドがapiKeyと同じプロバイダー構成内にあることを確認してください。- キー自体が無効であるか、無効になっています。EvoLink コンソール で確認してください。
404 Invalid URLを返します
baseUrl に 手動で余分なパスを追加しました。 Pi は自動的に /v1/messages を追加するため、baseUrl をドメイン ルート https://direct.evolink.ai に戻します。
404 model_not_foundを返します
models.json の id が、EvoLink コンソール / /v1/models によって返されたモデル名と正確に一致していることを確認します。
400 Unexpected role "tool"を返します
/v1 で終わる api: "openai-completions" をまだ使用しています。 Pi は、OpenAI の role: "tool" を使用してエージェント ツールの結果を送信しますが、現在の Claude 互換ルートはこれを受け入れません。
解決策: 次の 3 つのプロバイダー フィールドを変更します。
developer ロールや推論パラメーターではないため、この問題は supportsDeveloperRole または supportsReasoningEffort では修正できません。構成を更新した後、新しいセッションを開始します。
コストについて
上記のmodels.json の cost フィールドは、Pi が使用量を見積もる際の参考として使用する EvoLink の実際の価格 (一律 10% 割引、100 万トークンあたりの米ドル) です。
Cache Read は、キャッシュがヒットしたときの価格です (入力の約 0.1 倍)。実際の節約量はキャッシュ ヒット率によって異なります。コンテキストが大きくなるほど、ヒットの安定性が低下するため、メリットが割り引かれます。これを無条件の低価格として扱わないでください。
よくある質問
コマンドラインターミナルを開くにはどうすればよいですか?
- macOS
- 窓
- Linux
- オプション 1:
Command + Spaceを押して Spotlight を開き、「Terminal」と入力して Enter を押します。 - オプション 2: [アプリケーション] → [ユーティリティ] → [ターミナル] に移動します。
1. baseUrl をドメイン ルートのみに設定するのはなぜですか?
Pi の anthropic-messages プロバイダーは、baseUrl の後に /v1/messages を自動的に追加するためです。 /v1 または /v1/messages を追加すると、パスが手動で複製され、404 Invalid URL が返されます。 https://direct.evolink.ai のみを使用してください。
2. authHeader: true を設定する必要がありますか?
はい。 Pi の Anthropic SDK はデフォルトで x-api-key を使用しますが、EvoLink の /v1/messages はベアラー トークンを使用します。 authHeader: true は Pi に Authorization: Bearer <your-key> を送信させます。これを省略すると、401 が発生する可能性があります。
3. このガイドが端末 CLI に従っているのはなぜですか?
Pi の公式の主な形式は ターミナル CLI (4 つの実行モード: インタラクティブ / 印刷 / RPC / SDK) です。 EvoLink 統合の構成と検証はすべて、安定性と信頼性の高い CLI で行われます。このガイドのすべての手順は CLI に従います。4. API キーを構成にプレーンテキストで書き込まないようにするにはどうすればよいですか?
apiKey フィールド ("$EVOLINK_API_KEY" など) で環境変数補間を使用し、実際のキーを環境変数に保持します。
5. EvoLink はどの一般的なモデルをサポートしていますか?
EvoLink は、Claude ファミリ全体をサポートしています (コンソールで表示できる GPT、Gemini などもサポートしています)。計画や複雑な推論には、claude-fable-5 が推奨されます。毎日の実行には、claude-sonnet-5 を使用します。軽量タスクの場合は、claude-haiku-4-5-20251001 を使用します。
