Zum Inhalt

Maschinenübersetzung

Diese Seite wurde automatisch von KI übersetzt und kann Fehler enthalten. Bei Unklarheiten konsultieren Sie die englische Quelle.

Englische Quelle · Übersetzungsproblem melden

API-Referenz: GraphQL

1. GraphQL (persistierte Abfragen / APQ)

  • Endpunkt: POST https://www.perplexity.ai/rest/perplexity_ask/graphql
  • Form: persistierte Abfrage – der Body enthält operationName + Variablen + einen SHA-256-Hash (kein Abfragetext erforderlich).
  • Implementierung: pplx_export/sites/perplexity/graphql.py.

1.1 LibraryThreadsRelayQuery (erste Seite auflisten)

  • SHA-256: a5229c390a6a00f81764187a21885cff655670029355c663fe393cc6e98f9ebe
  • Variablen: {includeSearchPreview:false, searchTerm:null, sortOrder:"NEWEST", statuses:null, threadTypes:null, sources:null, includeTemporary:null}
  • Antwortpfad: data.viewer.recentGroup.threads{edges[].node, pageInfo{hasNextPage,endCursor}}
  • Knotenfelder (vom Adapter verwendet): name(title), entryId(entryUUID), slug(href), mode, displayModel.modelID, updatedAt(lastUpdated), status, space{spaceUuid,title,slug}
  • Archivseitiger Vertrag (2026-07-22 V5-01): der lastUpdated von web_archive/**/thread.json ist immer gleich diesem Feld (auf Disk mit voller ISO-Genauigkeit, wörtlich geschrieben); der Idempotenzvergleich (is_unchanged) für Batch-/Einzelexport basiert darauf, nicht mehr auf dem Präsentationsformat der Rendering-Ebene (YYYY-MM-DD HH:MM UTC).
  • Archivseitige Anreicherung (2026-07-23): der search_mode-Schlüssel von Indexzeilen (index/library_*.json) ist ein archivseitiges Anreicherungsfeld – dieser Abfrageknoten enthält kein search_mode; es wird von pplx-export search-mode-backfill aus Thread-Level-Daten (entries[].search_mode von GET /rest/thread/<uuid>) nachgefüllt (lokal roh zuerst, Online-Fallback); index-Aktualisierung führt zusammen und bewahrt es nach entryUUID. batch --mode-Filterung bevorzugt die autoritative Zuordnung dieses Felds.

1.2 LibraryRecentThreadsPaginationQuery (Paginierung)

  • SHA-256: 4f6dfcb8e9d3c065aca20ca1e82ca7fe464aaffc1faefade295bb7e333199629
  • Variablen: Variablen der ersten Seite + {cursor, count} (die Variablennamen sind cursor/count, nicht after/first)
  • Gleiche Antwortstruktur wie oben. Wenn hasNextPage wahr ist, aber endCursor leer ist, anhalten (andernfalls wiederholt sich dieselbe Seite).

1.3 Computer-Dashboard-Operationsgruppe (extrahiert aus Routen-Chunk 2026-07-20, nicht auf dem Server registriert)

Der ComputerDashboardPage-*.js-Chunk enthält vollständige Relay-Abfragetexte + persistierte IDs (Extraktionsmethode in §7). Strukturelle Grundlagen: viewer.threadGroup(type: RECENT|ARCHIVED|PINNED|NEEDS_ATTENTION|SCHEDULED|SPACE, filter:{modes:[COMPUTER]}) — d.h. eine Thread-Liste gefiltert nach threadGroup + Modus; Knoten enthält contextUUID/entryId/readWriteToken/isPinned/isArchived/isUnread.

Operation Persistierte ID (erste 16 Zeichen)
ComputerDashboardRecentThreadsPaginationQuery d713e695c82e7927…
ComputerDashboardArchivedThreadsPaginationQuery 1e9bcdb45cd611ca…
ComputerDashboardPinnedThreadsPaginationQuery 814c1d1748157d57…
ComputerDashboardNeedsAttentionThreadsPaginationQuery 2363d5af84392787…
ComputerDashboardScheduledThreadsPaginationQuery 51b18409b05f2e43…
ComputerDashboardSpaceThreadsPaginationQuery da08f207c2d8bbcd…
ComputerDashboardThreadGroupsUpdatesRelaySubscription bcce76383fb03d7e… (WebSocket-Abonnement)

Getestet: Aufruf von /rest/perplexity_ask/graphql mit diesen IDs gibt PERSISTED_QUERY_NOT_FOUND zurück (nicht in der aktuellen Bereitstellung registriert – Versionsabweichung oder Dashboard-Kontext erforderlich; die vollständigen Abfragetexte und IDs werden in /tmp-Erkundungsnotizen aufbewahrt; falls erforderlich, den Abfragetext direkt senden oder aus dem Live-Bundle erneut extrahieren).

1.4 Hinweise

  • Keine GraphQL-Aufrufe auf der Web-Space-Seite oder Startseite beobachtet (alle gehen über /rest); GraphQL ist für die /library-Liste und das Computer-Dashboard bestätigt.
  • Die SHA-256-Hashes können sich mit Frontend-Versionen ändern; der Fehlermodus ist PERSISTED_QUERY_NOT_FOUND – dann erneut aus dem Browser-Netzwerk-Mitschnitt extrahieren (WebBridge network-Tool-Filterung perplexity_ask/graphql) oder aus dem Live-Bundle erneut extrahieren (§7).

1.5 Extrahierte Dashboard-Verbindungsschlüssel (Relay-Cache-Schlüssel, zum Debuggen)

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