Traduzione automatica
Questa pagina è stata tradotta automaticamente dall'IA e potrebbe contenere errori. In caso di dubbi, fare riferimento alla versione inglese.
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
lastUpdateddiweb_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_modedelle righe dell'indice (index/library_*.json) è un campo di arricchimento lato archivio — il nodo di questa query non contiene search_mode; viene riempito dapplx-export search-mode-backfilla partire dai dati a livello di thread (entries[].search_modediGET /rest/thread/<uuid>) (prima raw locale, fallback online); l'aggiornamentoindexunisce e preserva per entryUUID. Il filtraggiobatch --modepreferisce 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 maendCursorè 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 WebBridgenetworkfiltrandoperplexity_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