ニュースマクロPerplexity、ターミナルでSearch APIにアクセスできるpplx CLIを公開

Perplexity、ターミナルでSearch APIにアクセスできるpplx CLIを公開

著者: MarkTechPost·

重要ポイント

  • pplxはPerplexityのSearch API向けコマンドラインクライアントで、チャットインターフェースではなく、検索結果と取得したページコンテンツをJSONで返す。
  • このツールは、ライブWeb検索と、整形済みページ本文を伴うURLコンテンツ取得という2つの実行可能なコマンド面をサポートする。
  • 成功したリクエストはstdoutに1つのJSONオブジェクトを書き出し、失敗時は終了コード1で終了してstderrにJSONエラーオブジェクトを書き出す。
  • インストールではダウンロードしたバイナリをSHA256チェックサムで検証し、現時点の対応環境はmacOS Apple Silicon、Linux x86_64、Linux arm64のみである。
  • 自動化ワークフローでは完全な結果をディスクに保存し、短い出力のためにstdoutプレビューを利用できるが、プレビューには出力ディレクトリの設定が必要である。
Perplexity、ターミナルでSearch APIにアクセスできるpplx CLIを公開

Perplexityは、同社のSearch API向け公式コマンドラインクライアントであるpplxを公開した。pplxは、根拠付けされたWeb検索結果と抽出したページ本文をJSONとしてターミナルに取り込む。プロジェクトのドキュメントによると、このツールは人間のユーザーとコーディングエージェントの双方を対象に設計されている。

このクライアントはチャットインターフェースではない。対話モード、モデル選択、合成された回答は提供しない。代わりに、予測可能な出力形式を持つ制約されたコマンドラインワークフローを通じてSearch APIの機能を公開する。この違いは自動化において重要だ。スクリプトやエージェントは、ブラウザーセッションに依存したり自然言語のチャット応答を解析したりすることなく、検索結果と取得結果を構造化データとして利用できる。

2つのコマンドと厳格なJSON契約

pplxが提供する実行可能なコマンド面は正確に2つである。pplx search webはライブWeb検索を実行し、pplx content fetchはURLを取得して整形済みのページ本文を返す。

公式のpplx-cli Agent Skillは、これらのコマンドに関する出力契約を定義している。リクエストが成功すると終了コード0で終了し、stdoutに正確に1つのJSONオブジェクトを書き出す。検索の場合、レスポンスは{hits: [{url, title, domain, snippet, ...}], total, saved_to?}という形式になる。

失敗は別に扱われる。いずれの失敗も終了コード1で終了し、stdoutは空のまま、stderrに{"error":{"code","message","command","hint"?}}形式のJSONエラーオブジェクトを1つ書き出す。ドキュメント化されているエラーコードには、AUTHENTICATIONUNKNOWN_ARGUMENTARGUMENT_ERRORBAD_REQUESTが含まれる。Agent Skillはこのリストが網羅的ではないと明記しているため、呼び出し側はこれらのコードだけが出現すると仮定するのではなく、error.codeで分岐すべきだとしている。stdoutとstderrを分ける設計は一般的なUnixのパターンにも沿っており、呼び出しプロセスが成功時のデータと運用上のエラーを分離しやすくしている。

インストールと対応プラットフォーム

インストールは、インストールスクリプトをshにパイプする単一のシェルコマンドで提供される。install.shスクリプトは最新リリースからmanifest.jsonをダウンロードし、タグとバージョンを抽出する。その後、残りのすべてのダウンロードをそのタグに固定する。これは、同時進行の公開処理との競合を避けるためだと明示されている。

このスクリプトはSHA256SUMSと該当プラットフォームのバイナリをダウンロードし、チェックサムを検証したうえで、バイナリを~/.local/bin/pplxにインストールする。sudoは不要である。レシートは~/.config/pplx/pplx-receipt.jsonに書き込まれるが、インストールされたバイナリが正常に実行された後に限られる。

対応プラットフォームは、Apple Silicon搭載macOS、Linux x86_64、Linux arm64の3つに限定される。非対応プラットフォームではエラーで終了する。Windowsビルドはなく、Intel macOSビルドもない。

エージェントワークフロー向けのトークン予算管理

エージェント向けの特徴として特に目立つのがトークン予算管理である。--output-dirオプションは結果セット全体をJSONファイルに書き込み、--stdout-preview[=<CHARS>]はstdout内の長い文字列フィールドを切り詰め、...<truncated>マーカーを追加する。

Agent Skillは重要な制限を強調している。--stdout-previewは、保存ディレクトリも設定されていない限り何もしない。stdoutを切り詰めるのは、完全な結果が--output-dirまたは$PPLX_OUTPUT_DIRを通じて保存される場合のみである。単独で使用した場合はフルサイズの出力を返し、個々のヒットはそれぞれ数KBになる可能性がある。

保存された検索結果は{dir}/web/{rand}.jsonに書き込まれ、取得結果は{dir}/fetch/{rand}.jsonに書き込まれる。ファイルはリクエストが成功した後にのみ書き込まれる。PPLX_OUTPUT_DIR環境変数を使うとワークスペースのデフォルトを設定できるため、ディレクトリ指定フラグを繰り返す必要がない。この設計により、自動化ワークフローは完全な成果物をディスクに保持しつつ、コンテキストウィンドウやログストリームには小さなプレビューを渡せる。

コンテンツ取得について、ドキュメントはコスト管理ではなく正確性確認を追加している。取得したコンテンツを信頼する前に、出力内のerroris_paywallを確認すべきだとしている。--htmlオプションはクローラー経由でライブ取得したraw_htmlフィールドを追加し、--no-cacheはライブ取得を強制する。

認証も自動化利用では重要である。pplx auth loginはTTY専用のため、エージェントやCI環境ではPERPLEXITY_API_KEYをエクスポートする必要がある。Search APIの課金は1,000リクエストあたり$5.00とされ、すべての利用ティアで50 QPSの上限がある。

元のレポートが引用した情報源には、perplexityai/perplexity-clipplx-cli SKILL.mdapi-platform-developers、Perplexity APIの料金、レート制限と利用ティア、およびSearch APIクイックスタートが含まれる。