コーディングエージェントであるpiとは何ですか?
pi は、個人開発ワークフロー用のカスタム プロバイダー、モデル、拡張機能を備えた拡張可能なコマンド ライン コーディング エージェントです。
この pi エージェント ガイドでは、pi CLI でプロバイダーを選択する前に、TokenHub を models.json に追加し、API キーを環境変数に保持し、モデル制限を正確に宣言します。 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 バージョンで Authorization ヘッダーが自動的に追加されない場合は、プロバイダー レベルで "authHeader": true を追加します。
ステップ 3: /model を開いてファイルをリロードします
pi セッション内で /model を実行します。 pi は、/model が開くたびに models.json をリロードするため、再起動は必要ありません。 tokenhub/YOUR_TOKENHUB_MODEL_ID を選択し、1 つのファイルを説明するように依頼し、それが成功した場合にのみツールの呼び出しをテストします。
プロバイダーとモデルが表示されても選択できない場合は、ファイルはロードされましたが、資格情報が解決されませんでした。環境変数を確認するか、/login / auth.json でプロバイダー キーを保存してください。
必要な場合にのみ pi 固有の互換性オーバーライドを適用する
一部の OpenAI-compatible サービスは、developer ロールまたは reasoning_effort を拒否します。これらのフラグは、対応する 400 エラーが発生した後にのみ追加してください。
"compat": {
"supportsDeveloperRole": false,
"supportsReasoningEffort": false
}先制的に機能を無効にしないでください。基本的なリクエストが成功したら、thinkingLevelMap、画像入力、サンプリング パラメーター、または正確なモデルのみの価格設定を構成します。
pi のロード動作に応じたトラブルシューティング
- プロバイダーが
/modelにまったくありません: ファイル パス、JSON 構文、baseUrl、およびapiを確認してください。 - プロバイダーは存在しますが、モデルを選択できません:
$TOKENHUB_API_KEYが解決されなかったか、プロバイダーに保存された資格情報がありません。 - 401: pi プロセスが変数を継承したことを確認し、必要に応じて
authHeader: trueを設定します。 - 400 または早期の切り捨て: 正しい
contextWindow、maxTokens、またはcompat。単に数字を増やすだけではありません。 - 変更は表示されません。現在のセッションに表示されている古い選択に依存する代わりに、
/modelを再度開きます。
公式リファレンス
モデルの選び方
pi コーディング エージェント プロバイダーに関するよくある質問
pi エージェント、pi コーディング エージェント、および pi-mono はどのように関連していますか?
pi-mono は、pi コーディング エージェント CLI を含むいくつかのコンポーネントを含むプロジェクト リポジトリです。このページでは、Raspberry Pi ではなく、そのコーディング エージェントについて説明します。
pi カスタム プロバイダーにモデル制限が必要なのはなぜですか?
pi は、コンテキストと出力制限を使用してリクエストと機能を形成します。コピーまたは創作した値ではなく、検証済みのモデル仕様を入力してください。
pi 拡張機能は自動的に TokenHub モデルを使用しますか?
多くの場合、拡張機能は現在のセッション プロバイダーに従いますが、拡張機能には別の要件や設定が存在する場合があります。権限を確認し、各拡張機能を安全に検証します。
pi が TOKENHUB_API_KEY を見つけられないのはなぜですか?
models.json が正確な変数名を参照していることを確認し、それをロードした新しいターミナルから pi を起動します。実際のキーをリポジトリ設定に保存しないでください。
pi コーディング エージェント プロバイダーをテストするにはどうすればよいですか?
編集、コマンド、または拡張機能を有効にする前に、プロバイダーとモデルを選択し、読み取り専用コード タスクを実行して、TokenHub ログを確認してください。
参考資料
この設定は TokenHub と公式ドキュメントに基づいており、最終確認日は 2026-09-08。