メインコンテンツまでスキップ

AI とモデル

アシスタントの能力は背後のモデルに依存するため、Powerduck は特定プロバイダーにあなたを固定しません。あなたがモデルを選んで設定し、アプリは安全なローカル経路でそれを呼び、すべての変更は同じレビュー可能なカードを通ります。

モデルを持ち込む​

設定で、任意の OpenAI 互換の Chat Completions エンドポイントにアシスタントを構成します。

  • 組み込みのプロバイダープリセットを選ぶか、カスタムプロバイダーを定義する。
  • 表示名、ベース URL、API キー、モデル ID を提供する。
  • 複数のプロファイルを構成して選べる。

アプリはモデルが特定プロバイダーから来るとは仮定しません。セルフホストやサードパーティの OpenAI 互換エンドポイントも同じように動き、独自のモデル戦略を持つチームにとって重要です。

高度な能力と優雅なフォールバック​

各プロファイルには高度な能力オプションがあり、デフォルトで有効です。

  • 有効なとき、アプリはモデルのネイティブ関数呼び出しを使い、ツールカタログをネットワーク越しに送り、モデルが適切なツールを直接選んで呼べるようにします。
  • あるエンドポイントがネイティブのツール引数を拒否した場合——ツール非対応の小さなモデルなど——そのエンドポイントは記憶され、コンテンツベースのフォールバックプロトコルで一度リトライします。

目標は常に結果を返すことです。強力なモデルは正確なネイティブ経路を通り、ツール非対応モデルはより単純なプロトコルに降格し、このターンを失敗させません。常に基礎経路を使うべきプロファイルでは、高度な能力を無効にできます。

ツール駆動の作業にも境界があります。エージェントは限られた数のツールターン(デフォルト 3)を実行し、呼び出しを重複排除するため、ツールがループで 2 回実行されることはありません。

なぜリクエストをメインプロセス経由にするか​

デスクトップクライアントでは、補完リクエストは WebView ではなく Node メインプロセスから発行されます。これには 2 つの具体的な利点があります。

  • ブラウザの CORS の壁がない。 Web に適用されるクロスオリジン制限がモデルエンドポイントへの呼び出しを妨げません。
  • プロンプトとキーがブラウザコンソールから離れる。 リクエスト URL、認証ヘッダー、システムプロンプト、ツールリストがレンダラーのネットワークパネルに見えません。

ゲートウェイは開放プロキシとしてではなく、意図的に制約されています。

  • ターゲットを検証し(ループバックと許可ホスト)、ヘッダーをサニタイズし、レスポンスヘッダー越しのレスポンス分割を防ぎます。
  • リクエストはキャンセルできます(ai:cancel)。

デスクトップと Web​

同じアシスタントが両方の実行環境で動き、それぞれに適した経路を使います。

  • デスクトップ(Electron): 能力はローカルに import されて実行され、補完リクエストはメインプロセス経由でプロキシされます。
  • Web: 同じワークフローが HTTP 越しに実行され、ローカルモジュールではなくサービス API を呼びます。

これこそ、アプリが Electron 経路に加えて Web 互換経路を保つ理由です。意図処理とカード表現は一致し、トランスポートだけが実行環境に応じて変わります。

意図はどう識別されるか​

意図は機能ごとにキーワードを列挙して処理されません。代わりにアプリは、明確でよく説明されたツールカタログをモデルに提示します——各ツールの ID、引数、どんな正確な状況で使うか。モデルはカタログから最適なツールを選び、確定的ホストがそれを検証して実行し、書き込み操作は確認を求めます。

そのため能力を足すことは、より長いキーワードリストの保守ではなく、カタログへのツール追加(と正確な記述)を意味します。同じカタログは MCP サーバー越しに外部エージェントとも共有でき、製品と他のツール間で能力が整合します。

プライバシー姿勢​

  • デスクトップでは、API キーとプロンプトはローカルに保たれ、レンダラーに露出しません。
  • 各変更を検証し適用するのはモデルではなく確定的ホストです。
  • すべての書き込みは実行前にあなたの承認を得ます。

関連: アシスタントで設計する、設定、Cloud アクセス制御。