Vai al contenuto

Traduzione automatica

Questa pagina è stata tradotta automaticamente dall'IA e potrebbe contenere errori. In caso di dubbi, fare riferimento alla versione inglese.

Versione inglese · Segnala un problema di traduzione

Riferimento API: GraphQL

1. GraphQL (query persistenti / APQ)

  • Endpoint: POST https://www.perplexity.ai/rest/perplexity_ask/graphql
  • Forma: query persistente — il corpo contiene operationName + variabili + un hash sha256 (nessun testo di query necessario).
  • Implementazione: pplx_export/sites/perplexity/graphql.py.

1.1 LibraryThreadsRelayQuery (elenco prima pagina)

  • sha256: a5229c390a6a00f81764187a21885cff655670029355c663fe393cc6e98f9ebe
  • Variabili: {includeSearchPreview:false, searchTerm:null, sortOrder:"NEWEST", statuses:null, threadTypes:null, sources:null, includeTemporary:null}
  • Percorso risposta: data.viewer.recentGroup.threads{edges[].node, pageInfo{hasNextPage,endCursor}}
  • Campi nodo (usati dall'adattatore): name(title), entryId(entryUUID), slug(href), mode, displayModel.modelID, updatedAt(lastUpdated), status, space{spaceUuid,title,slug}
  • Contratto lato archivio (2026-07-22 V5-01): il lastUpdated di web_archive/**/thread.json è sempre uguale a questo campo (scritto su disco con precisione ISO completa, testuale); il confronto di idempotenza per esportazione batch/singola (is_unchanged) si basa su di esso, non più sul formato di presentazione del livello di rendering (YYYY-MM-DD HH:MM UTC).
  • Arricchimento lato archivio (2026-07-23): la chiave search_mode delle righe dell'indice (index/library_*.json) è un campo di arricchimento lato archivio — il nodo di questa query non contiene search_mode; viene riempito da pplx-export search-mode-backfill a partire dai dati a livello di thread (entries[].search_mode di GET /rest/thread/<uuid>) (prima raw locale, fallback online); l'aggiornamento index unisce e preserva per entryUUID. Il filtraggio batch --mode preferisce la mappatura autorevole di questo campo.

1.2 LibraryRecentThreadsPaginationQuery (paginazione)

  • sha256: 4f6dfcb8e9d3c065aca20ca1e82ca7fe464aaffc1faefade295bb7e333199629
  • Variabili: variabili della prima pagina + {cursor, count} (i nomi delle variabili sono cursor/count, non after/first)
  • Stessa struttura di risposta di cui sopra. Quando hasNextPage è true ma endCursor è vuoto, fermati (altrimenti la stessa pagina si ripete).

1.3 Gruppo di operazioni della dashboard Computer (estratto dal chunk di route 2026-07-20, non registrato sul server)

Il chunk ComputerDashboardPage-*.js incorpora testi completi delle query Relay + id persistenti (metodo di estrazione in §7). Elementi strutturali essenziali: viewer.threadGroup(type: RECENT|ARCHIVED|PINNED|NEEDS_ATTENTION|SCHEDULED|SPACE, filter:{modes:[COMPUTER]}) — cioè un elenco di thread filtrato per threadGroup + mode; il nodo contiene contextUUID/entryId/readWriteToken/isPinned/isArchived/isUnread.

operazione id persistente (primi 16 caratteri)
ComputerDashboardRecentThreadsPaginationQuery d713e695c82e7927…
ComputerDashboardArchivedThreadsPaginationQuery 1e9bcdb45cd611ca…
ComputerDashboardPinnedThreadsPaginationQuery 814c1d1748157d57…
ComputerDashboardNeedsAttentionThreadsPaginationQuery 2363d5af84392787…
ComputerDashboardScheduledThreadsPaginationQuery 51b18409b05f2e43…
ComputerDashboardSpaceThreadsPaginationQuery da08f207c2d8bbcd…
ComputerDashboardThreadGroupsUpdatesRelaySubscription bcce76383fb03d7e… (sottoscrizione WebSocket)

Testato: chiamare /rest/perplexity_ask/graphql con questi id restituisce PERSISTED_QUERY_NOT_FOUND (non registrato nel deployment corrente — disallineamento di versione o contesto dashboard richiesto; i testi completi delle query e gli id sono conservati nelle note di esplorazione /tmp; se necessario, inviare il testo della query direttamente o re-estrarre dal bundle live).

1.4 Note

  • Nessuna chiamata graphql osservata sulla pagina web space o sulla home page (tutte passano attraverso /rest); graphql è confermato per l'elenco /library e la dashboard Computer.
  • Gli hash sha256 possono cambiare con le versioni del frontend; la modalità di errore è PERSISTED_QUERY_NOT_FOUND — quindi re-estrarre dalla cattura di rete del browser (strumento WebBridge network filtrando perplexity_ask/graphql), o re-estrarre dal bundle live (§7).

1.5 Chiavi di connessione della dashboard estratte (chiavi cache Relay, per debug)

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