@earendil-works/pi-coding-agent パッケージは、file、shell、edit、write、session、print、JSON、RPC、SDK ワークフローに対応した対話型コーディングエージェント CLI を提供します。Pi は ~/.pi/agent/models.json からカスタム provider を読み込めるため、Pi のソースコードを変更せずに、CometAPI を OpenAI-compatible provider エントリとして追加できます。
公式リファレンス:
model の提供状況は時間とともに変化します。
your-model-id は、CometAPI Models page で利用可能な model ID に置き換えてください。前提条件
- Node.js
>=22.19.0 - npm
- dashboard で有効な API key を取得した CometAPI アカウント
- 公式 npm パッケージからインストールされた Pi
実行時権限を理解する
Pi は、それを起動したユーザーおよびプロセスの権限で実行されます。Pi に作業させたいプロジェクトディレクトリで起動し、git などのロールバック手段を維持し、より強いファイルシステム、プロセス、ネットワーク、または認証情報の境界が必要な場合は、コンテナまたはサンドボックスを使用してください。プロバイダーを設定する
1
Pi をインストールする
npm を使って Pi をグローバルにインストールします:CLI が利用可能であることを確認します:
2
CometAPI API キーを設定する
CometAPI API キーを ターミナルセッションをまたいで保持したい場合は、この export コマンドをシェルのプロファイルに追加してください。API キーをバージョン管理にコミットしないでください。
COMETAPI_KEY 環境変数に保存します:3
models.json に CometAPI プロバイダーを追加する
~/.pi/agent/models.json が存在しない場合は作成します。ファイルにすでにプロバイダーが含まれている場合は、cometapi-responses と cometapi-chat のエントリを既存の providers オブジェクトにマージします:cometapi-responses を使います。OpenAI Chat Completions 互換モデルには cometapi-chat を使います。Pi はリクエスト時に $COMETAPI_KEY を解決します。API キーは環境変数または独自のシークレット管理ワークフローに保持してください。4
両方のプロバイダーを検証する
Pi が Responses プロバイダーに対して認識できるモデルを一覧表示します:Responses プロバイダーで短いワンショットプロンプトを実行します:Pi が Chat Completions プロバイダーに対して認識できるモデルを一覧表示します:Chat Completions プロバイダーで短いワンショットプロンプトを実行します:対話的に使用する場合は、プロジェクトで Pi を起動し、
/model で CometAPI プロバイダーとモデルを選択します。対話セッション中に models.json を編集した場合は、Pi がカスタムモデルエントリを再読み込みできるように /model をもう一度開いてください。トラブルシューティング
Pi に CometAPI モデルが表示されない
Pi に CometAPI モデルが表示されない
~/.pi/agent/models.json が有効な JSON であり、各 provider エントリがトップレベルの providers オブジェクト内にあることを確認してください。ファイルを保存した後に pi --list-models cometapi-responses または pi --list-models cometapi-chat を実行してください。Pi が利用可能な API キーがないと報告する
Pi が利用可能な API キーがないと報告する
COMETAPI_KEY が、Pi を起動するのと同じシェルセッションで設定されていることを確認してください。シェルプロファイルを使用している場合は、Pi を実行する前に新しいターミナルを開くか、プロファイルを source してください。base URL が原因でリクエストが失敗する
base URL が原因でリクエストが失敗する
models.json の baseUrl には https://api.cometapi.com/v1 を使用してください。Pi の向き先をダッシュボード URL にしたり、OpenAI 互換ルートで /v1 サフィックスを省略したりしないでください。Pi が model リクエストを送信する前に失敗する
Pi が model リクエストを送信する前に失敗する
node --version で Node.js のバージョンを確認してください。Pi パッケージには Node.js >=22.19.0 が必要です。model が一方のルートでは動作するが、もう一方では動作しない
model が一方のルートでは動作するが、もう一方では動作しない
ご使用の model がサポートするルートに一致する
api フィールドの provider エントリを使用してください。openai-responses は Responses API を使用し、openai-completions は チャット補完 を使用します。Pi が想定以上のアクセス権を持っている
Pi が想定以上のアクセス権を持っている
Pi は、それを起動したユーザーおよびプロセスの権限で実行されます。ファイル、プロセス、ネットワークアクセス、または認証情報に対してより強い境界が必要な場合は、コンテナまたはサンドボックス内で Pi を実行してください。