カスタムプロバイダーを使用すると、PandaNpc がユーザー管理の API アカウント、プライベートゲートウェイ、またはローカルモデルエンドポイントを利用できるようになります。これは一般に BYOK(bring your own key:自分のキーを持ち込むこと)と呼ばれます。組み込みカタログにないモデルが必要な場合、プロバイダー側での課金、内部プロキシ、Ollama、LM Studio、または自己ホスト型の OpenAI 互換サービスが必要な場合に便利です。
サポートされているダイレクトチャットでは、PandaNpc は組み込みモデルを代用するのではなく、設定されたエンドポイントにリクエストを送信します。アップストリームプロバイダーが、価格、データ保持、レート制限、モデルの利用可能性、許容される利用方法を引き続き管理します。
前提条件とセキュリティ境界
プロバイダーを追加する前に、以下を用意してください。
- プロバイダーの API Key またはローカル認証トークン。
- API Base URL(通常、OpenAI 互換サービスでは
/v1で終わります)。 - API が受け付ける正確なモデル識別子。
- デフォルトを上書きする場合は、文書化されたコンテキストウィンドウと最大出力制限。
最小限の権限を持つ専用キーを使用し、プロバイダーが対応している場合は利用金額の上限を設定してください。キーをドキュメント、チャットプロンプト、スクリーンショット、ブラウザーのコンソール出力、または Git リポジトリに置かないでください。
Web ブラウザーでは、直接リクエストは CORS の対象となります。プロバイダーは https://pandanpc.com からのリクエストを許可する必要があります。http://localhost:11434/v1 のような Base URL は、リモートの PandaPaw マシンではなく、ブラウザーを実行しているコンピューターを指します。デスクトップアプリはブラウザーの CORS による制限を同様には受けないため、ローカルエンドポイントにはより適している場合があります。
ステップ 1: モデル設定を開く
PandaNpc にサインインし、モデル設定を開きます。プロバイダーとモデルは別々のレコードです。プロバイダーには接続情報と認証情報が保存され、各モデルにはその接続に送信される識別子と制限が保存されます。
公式プロバイダーがすでに表示されている場合は、異なるプロトコルを独自に作るのではなく、それを設定またはコピーしてください。新しい OpenAI 互換ゲートウェイの場合は、プロバイダーを追加を選択します。
ステップ 2: プロバイダーを追加
プロバイダーフォームに入力します。
| フィールド | 入力内容 | 例またはガイダンス |
|---|---|---|
| 表示名 | ユーザーに表示されるラベル | Company AI Gateway |
| プロバイダー ID | 安定した内部識別子 | company-openai |
| API Key | ベアラートークンとして使用されるシークレット | プロバイダー発行の値 |
| Base URL | /chat/completions を含まない API ルート |
https://gateway.example.com/v1 |
| プロトコル | アップストリーム API の形式 | OpenAI 互換の Chat Completions には openai を選択 |
| シークレット | オプションの 2 番目のシークレット | プロバイダーが要求しない限り空のままにする |
| 組織 | オプションの組織識別子 | プロバイダーが要求する場合のみ |
| プロジェクト | オプションのプロジェクト識別子 | プロバイダーが要求する場合のみ |
| コンテンツ配列のサポート | メッセージコンテンツが構造化配列を使用できるかどうか | 最新のマルチモーダルメッセージコンテンツを受け入れるプロバイダーでは有効のままにする |
PandaNpc は Base URL から末尾のスラッシュを削除し、ダイレクトな OpenAI 互換チャットリクエストのために /chat/completions を追加します。したがって、次のように入力します。
https://api.example.com/v1次のようには入力しないでください。
https://api.example.com/v1/chat/completionsモデルを追加する前にプロバイダーを保存してください。既存のプロバイダーを編集する場合、API Key またはシークレットフィールドが空であることは「設定済みの値を保持する」ことを意味します。保存済みのシークレットがフォームに表示されることはありません。
ステップ 3: モデルを追加
プロバイダーの下でモデルを追加を選択し、次のフィールドに入力します。
| フィールド | 意味 | 例 |
|---|---|---|
| 表示名 | 人間が読める選択ラベル | My Coding Model |
| モデル値 | 正確なアップストリームモデル ID | model-name-from-provider |
| モデルタイプ | PandaNpc の機能・カテゴリマッピング | フォームから現在の値を選択 |
| プロバイダー | 上記で作成したプロバイダーレコード | Company AI Gateway |
| コンテキストウィンドウ | サポートされる合計トークン数 | プロバイダーの文書化された整数制限を使用 |
| 最大トークン数 | 生成される最大出力トークン数 | プロバイダーの制限以下の正の値を使用 |
Display Name は API 呼び出しに影響を与えずに変更できます。Model Value はマーケティング名から推測できません。プロバイダーの API ドキュメントまたはモデルリストエンドポイントからコピーしてください。
不明な場合は、コンテキストウィンドウと最大トークン数を空のままにしてください。サーバーがサポートするよりも大きいコンテキストウィンドウを宣言するより、控えめなデフォルトの方が安全です。これらのフィールドは、圧縮と出力予算に影響するため、PandaCode にとって特に重要です。
一般的なエンドポイントの例
次のパターンは URL の形状を示しています。利用可能性とモデル ID は、インストール環境やプロバイダーアカウントによって異なります。
| サービス種別 | 一般的な Base URL | 備考 |
|---|---|---|
| OpenAI 互換クラウド API | https://provider.example.com/v1 |
ストリーミングの Chat Completions とベアラー認証をサポートしている必要があります |
| 表示中のコンピューター上の Ollama | http://localhost:11434/v1 |
Ollama の OpenAI 互換エンドポイントを起動します。ブラウザーで使用するには CORS 設定が必要な場合があります |
| 表示中のコンピューター上の LM Studio | http://localhost:1234/v1 |
ローカルサーバーを起動し、読み込まれたモデル ID を選択します |
| プライベートネットワークゲートウェイ | https://ai.internal.example/v1 |
PandaNpc クライアントがホストを解決して到達できる必要があります |
「OpenAI 互換」を宣伝しているすべてのサービスが、ストリーミング、ツール呼び出し、画像、推論フィールド、または同一のエラーレスポンスを実装しているとは限りません。ワークフローに必要な正確な機能をテストしてください。
プロバイダーとモデルを検証する
設定に依存する前に、低コストで機密性の低いプロンプトを使用してください。
- 新しい会話で新しいモデルを選択します。
Reply with exactly: provider connectedを送信します。- 応答がストリーミングされ、プロバイダーダッシュボードにリクエストが記録されることを確認します。
- 短いフォローアップを送信して、会話履歴を検証します。
- ツール、画像、長いコンテキストが必要な場合は、各機能を個別にテストします。
ローカルエンドポイントの場合は、まず PandaNpc の外部で検証してください。OpenAI 互換のモデルリストは、多くの場合、次のコマンドで取得できます。
curl http://localhost:11434/v1/models応答は、到達可能性とモデル ID を確認するためにのみ使用してください。本番環境の API Key をシェル履歴に直接入れないでください。
PandaCode でカスタムモデルを使用する
PandaCode は、DeepSeek、Qwen、OpenAI 互換ゲートウェイ、または内部サービスなど、選択したモデルバックエンドを使用しながら、Claude Code スタイルのコーディングワークフローを提供できます。プロバイダーとモデルを設定した後、関連する PandaCode 接続またはタスクに対してそのモデルを選択します。
モデルは、コーディングエンジンが必要とする対話パターンをサポートしている必要があります。通常のチャットでは機能するプロバイダーでも、ツール呼び出し、長時間実行されるストリーム、または構造化コンテンツでは失敗する場合があります。チャットモデルとローカルコーディングエンジンの違いについては PandaNpc がサポートする AI モデル を、リモートエンジンのセットアップについては PandaPaw のインストールとコマンド を参照してください。
トラブルシューティング
`401` または `403` 認証エラー
新しいプロバイダーキーを作成し、それがアクティブであることを確認して、再入力してください。アップストリームサービスが組織、プロジェクト、または別の認証方法を必要とするかどうかを確認してください。編集画面からコピーしたマスクされたキーは、元のシークレットではありません。
`404` エンドポイントまたはモデルが見つからない
PandaNpc が追加するため、設定済みの Base URL から /chat/completions を削除してください。必要な場合に /v1 が存在すること、およびモデル値がアップストリームのモデル ID と正確に一致することを確認してください。プロバイダーは、間違った URL と利用できないモデルの両方に対して同じ 404 を返す場合があります。
ブラウザーがネットワークまたは CORS エラーを報告する
ブロックされたオリジンを特定するためだけにブラウザーの開発者コンソールを開いてください。そこにシークレットを貼り付けないでください。プロバイダーが https://pandanpc.com を許可するように設定するか、HTTPS エンドポイントを使用するか、PandaNpc デスクトップアプリを使用してください。混合コンテンツのルールにより、HTTPS ページが一部の平文 HTTP エンドポイントを呼び出すことがブロックされます。
ローカルの Ollama または LM Studio に到達できない
サーバーがリクエストを行うクライアントと同じコンピューター上で実行され、設定されたインターフェースとポートでリッスンしていることを確認してください。モデルサーバーが別のコンピューター上で実行されている場合、localhost は正しくありません。到達可能なプライベートホスト名または IP を使用し、公開する前にサービスを保護してください。
応答が開始しても停止する、またはコンテンツがない
API がストリーミングの Chat Completions をサポートし、標準の data: イベントを出力することを確認してください。最大トークン数を減らし、テキストのみのメッセージをテストし、プロバイダーが文字列コンテンツのみを受け入れると文書化している場合にのみ、構造化コンテンツ配列を無効にしてください。
コンテキスト制限に近い長時間セッションが失敗する
設定済みのコンテキストウィンドウをプロバイダーの実際のサポート制限まで引き下げ、出力、システム指示、ツール結果のための領域を確保してください。モデル設定を変更した後は新しいセッションを開始して、新しい制限が一貫して適用されるようにしてください。
アカウントレベルの割り当てとデータフローの詳細については、PandaNpc のアカウント、プラン、API コスト と プライバシーポリシー を参照してください。