コンテンツにスキップ

機械翻訳

このページは AI によって自動翻訳されており、誤りが含まれる可能性があります。疑義がある場合は、簡体字中国語の原文を優先してください。

簡体字中国語原文 · 翻訳の問題を報告

API リファレンス:GraphQL

1. GraphQL(永続化クエリ APQ)

  • エンドポイントPOST https://www.perplexity.ai/rest/perplexity_ask/graphql
  • 形式:persisted query——body に operationName + variables + sha256 ハッシュを含む(クエリテキスト不要)。
  • 実装:pplx_export/sites/perplexity/graphql.py

1.1 LibraryThreadsRelayQuery(リストトップ)

  • sha256:a5229c390a6a00f81764187a21885cff655670029355c663fe393cc6e98f9ebe
  • 変数:{includeSearchPreview:false, searchTerm:null, sortOrder:"NEWEST", statuses:null, threadTypes:null, sources:null, includeTemporary:null}
  • レスポンスパス:data.viewer.recentGroup.threads{edges[].node, pageInfo{hasNextPage,endCursor}}
  • node フィールド(アダプター使用):name(title)entryId(entryUUID)slug(href)modedisplayModel.modelIDupdatedAt(lastUpdated)statusspace{spaceUuid,title,slug}
  • アーカイブ側契約(2026-07-22 V5-01)web_archive/**/thread.jsonlastUpdated は本フィールドと常に等しい (ISO 全精度でそのまま保存);バッチ/単一エクスポートの冪等比較(is_unchanged)はこれを基準とし、 レンダリング層の表示形式(YYYY-MM-DD HH:MM UTC)は使用しない。
  • アーカイブ側エンリッチメント(2026-07-23):インデックス保存行(index/library_*.json)の search_mode キーは アーカイブ側エンリッチメントフィールド——本クエリの node は search_mode を含まず、pplx-export search-mode-backfill が スレッドレベルデータ(GET /rest/thread/<uuid>entries[].search_mode)から補完する(ローカル raw 優先、 ネットワークでフォールバック);index リフレッシュは entryUUID でマージ保持。batch --mode フィルタリングは このフィールドの信頼できるマッピングを優先する。

1.2 LibraryRecentThreadsPaginationQuery(ページネーション)

  • sha256:4f6dfcb8e9d3c065aca20ca1e82ca7fe464aaffc1faefade295bb7e333199629
  • 変数:トップ変数 + {cursor, count}変数名は cursor/count、after/first ではない
  • レスポンス構造は同上。hasNextPage が真で endCursor が空の場合は停止する必要がある(そうしないと同じページが繰り返される)。

1.3 Computer ダッシュボード操作グループ(2026-07-20 route chunk から抽出、サーバー未登録

ComputerDashboardPage-*.js chunk に Relay 完全クエリテキスト + persisted id が埋め込まれている(抽出方法は §7 参照)。 構造の要点:viewer.threadGroup(type: RECENT|ARCHIVED|PINNED|NEEDS_ATTENTION|SCHEDULED|SPACE, filter:{modes:[COMPUTER]}) ——すなわち threadGroup + mode でフィルタリングされたスレッドリスト;node は contextUUID/entryId/readWriteToken/isPinned/isArchived/isUnread を含む。

操作 persisted id(先頭 16 桁)
ComputerDashboardRecentThreadsPaginationQuery d713e695c82e7927…
ComputerDashboardArchivedThreadsPaginationQuery 1e9bcdb45cd611ca…
ComputerDashboardPinnedThreadsPaginationQuery 814c1d1748157d57…
ComputerDashboardNeedsAttentionThreadsPaginationQuery 2363d5af84392787…
ComputerDashboardScheduledThreadsPaginationQuery 51b18409b05f2e43…
ComputerDashboardSpaceThreadsPaginationQuery da08f207c2d8bbcd…
ComputerDashboardThreadGroupsUpdatesRelaySubscription bcce76383fb03d7e…(WebSocket サブスクリプション)

実測:これらの id で /rest/perplexity_ask/graphql を呼び出すと PERSISTED_QUERY_NOT_FOUND が返る (現在のデプロイでは未登録——バージョン不一致またはダッシュボードコンテキストが必要;完全クエリテキストと id は /tmp 探索記録に保存済み、 必要に応じてテキスト直接送信またはオンライン bundle から再抽出可能)。

1.4 注意事項

  • Web 版のスペースページ/トップページでは graphql 呼び出しは見られない(すべて /rest 経由);graphql は /library リストと computer ダッシュボードで使用されることが確認されている。
  • sha256 ハッシュはフロントエンドバージョンによって変更される可能性がある;無効化は PERSISTED_QUERY_NOT_FOUND として現れる——その場合はブラウザの ネットワークキャプチャから再抽出する(WebBridge network ツールで perplexity_ask/graphql をフィルタリング)、またはオンライン bundle から再抽出する(§7)。

1.5 抽出済みダッシュボード connection keys(Relay キャッシュキー、デバッグ用)

ComputerDashboard(Recent|Archived|Pinned|NeedsAttention|Scheduled|Space)Threads_viewer_threads