跳轉至

機器翻譯

本頁由 AI 自動翻譯,可能存在錯誤。如有歧義,請以簡體中文原文為準。

簡體中文原文 · 回報翻譯問題

API 參考:GraphQL

1. GraphQL(持久化查詢 APQ)

  • 端點POST https://www.perplexity.ai/rest/perplexity_ask/graphql
  • 形式:persisted query——body 含 operationName + variables + sha256 雜湊(無需 query 文字)。
  • 實現: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

operation 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 探索記錄, 需要時可改用 text 直發或重新從線上 bundle 提取)。

1.4 注意事項

  • 網頁端空間頁/首頁均未見 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