Traduzione automatica
Questa pagina è stata tradotta automaticamente dall'IA e potrebbe contenere errori. In caso di dubbi, fare riferimento alla versione inglese.
Comandi di manutenzione¶
I sottocomandi di manutenzione di pplx-export mantengono in salute un archivio esistente: ri-rendono le pagine dopo correzioni al renderer, riempiono asset/crediti/metadati delle modalità, contrassegnano thread eliminati da remoto e ricostruiscono il grafo delle relazioni. La maggior parte sono offline-first; le loro fasi online seguono la stessa disciplina di pacing di batch (vedi rate-limiting.md). Tutti accettano le opzioni comuni (--account, --out, --cookies-from, --transport, …).
- Principio di conservazione dell'archivio locale: nessun comando di manutenzione elimina o sposta il contenuto dei thread archiviati — l'archivio è il backup.
- I comandi offline (
re-render,relations,sync-space,spacessenza--fetch-metae le fasi predefinite sotto) non necessitano di alcun trasporto; vedi ../architecture/offline-operations.md.
a. re-render¶
Rigenera conversation.md e turns/ dal JSON grezzo archiviato (raw_entries.json / raw_blocks.json) dopo correzioni al renderer — zero rete, e ogni altro file viene lasciato intatto.
| Flag | Significato | Predefinito |
|---|---|---|
--limit N |
Elabora solo le prime N directory di thread | tutte |
--dry-run |
Elenca le directory che verrebbero elaborate, non scrive nulla | disattivato |
--thread-json |
Aggiunge/rimuove anche le chiavi interruptions e answer_variants in thread.json sul posto |
disattivato |
Comportamenti chiave:
- Ricostruisce i turni offline con la stessa pipeline dell'esportazione: parsing, ordinamento per
created_us, deduplicazione delle citazioni e — per computer/council — blocchi di workflow, mappatura dei sub-agent e appendice dello sfondo non consumato. - Solo
conversation.mdeturns/turn_*.mdvengono (ri)scritti;sources*,assets/,report.mdethread.jsonrimangono invariati. I fileturn_*.mdobsoleti numerati sopra il conteggio dei turni corrente vengono eliminati — nient'altro, quindi i file invariati mantengono il loro mtime. --thread-jsonscrive solo quando il contenuto cambia effettivamente; glianswer_variantsappena aggiunti/modificati generano un avvisoANSWER_VARIANT_DETECTEDe vengono aggiunti aindex/answer_variants_log.jsonl(le esecuzioni idempotenti non generano spam).- Le directory di thread senza
raw_entries.jsonvengono saltate e conteggiate.
pplx-export re-render --limit 20 --thread-json --dry-run
b. assets-backfill¶
Rimedia agli asset archiviati senza un URL firmato — tre rimedi graduali: recupero dei blocchi mancanti, estrazione inline offline e aggiornamento online opzionale.
| Flag | Significato | Predefinito |
|---|---|---|
--fetch-blocks |
Prima recupera i raw_blocks.json mancanti e i relativi asset con URL firmato (online) |
disattivato |
--online |
Abilita l'aggiornamento online degli asset mancanti/obsoleti | disattivato (solo estrazione inline offline, zero richieste) |
--limit N |
Elabora solo le prime N directory di thread | tutte |
Comportamenti chiave:
- Fase predefinita (offline, zero richieste): estrae gli asset inline (
ASSET_DIFF/CODE_ASSET) daraw_blocks.jsoninassets/files/*.mde registra i tipi di handle del workspace cloud (DOC_FILE/CODE_FILE/UNKNOWN— nessun canale di download ancora) inassets/assets_manifest.json. Idempotente: i record noti vengono deduplicati per uuid, poi file_handle; i file con stesso nome e più versioni ottengono un suffisso breve di uuid in modo che le esecuzioni successive non collidano. --fetch-blocks(online): recupera iraw_blocks.jsonmancanti per i thread deep-research/computer/council/study più i loro asset scaricabili; i thread sono raggruppati per cartella account con un adattatore costruito lazy per account (i cookie cambiano automaticamente), 3 secondi tra i thread.--online: per le versioni del manifest il cuidownloaded_toè mancante/obsoleto, recupera un nuovo URL firmato tramite/rest/assets/<uuid>/data(chiamate API seriali, a 3 secondi di distanza), poi riscarica dal CDN (6 thread concorrenti, nessun ritardo — CDN, non API). Un 404ASSET_NOT_FOUNDimposta il flag terminaleasset_expired; un 403 cross-account viene ritentato una volta con l'account che possiede la cartella dell'archivio.- Il
countdel manifest viene ricalcolato come numero totale di versioni ad ogni riscrittura.
pplx-export assets-backfill --fetch-blocks --online --limit 30 --account alice
c. usage-backfill¶
Riempie l'utilizzo del credito per thread (credits/thread-usage) per tutti i thread archiviati dell'account in index/credit_usage_<account>.json.
| Flag | Significato | Predefinito |
|---|---|---|
--limit N |
Elabora solo i primi N thread | tutti |
Comportamenti chiave:
- Una GET per thread archiviato (
thread_id= ilpsc_uuiddel thread), a 3 secondi di distanza; idempotente — i thread già presenti nel file di output vengono saltati. - Un 403 (
thread_usage_forbidden, cioè un thread cross-account) viene registrato comeerrore mai ritentato; altri fallimenti vengono lasciati per l'esecuzione successiva. Il progresso viene salvato ogni 25 thread elaborati. - Multi-account: esegui una volta per account con
--account— i cookie cambiano automaticamente tra le esecuzioni.
pplx-export usage-backfill --account alice
d. search-mode-backfill¶
Riempie il campo search_mode autorevole della piattaforma in ogni riga di index/library_<account>.json, in modo che batch --mode possa filtrare esattamente invece di affidarsi a euristiche.
| Flag | Significato | Predefinito |
|---|---|---|
--limit N |
Elabora solo le prime N righe in sospeso | tutte |
--offline |
Solo estrazione locale — le righe senza dati grezzi locali aspettano il giro successivo, nessun fallback online | disattivato |
--delay-min SEC |
Limite inferiore dell'intervallo casuale tra i thread di fallback online | 10 |
--delay-max SEC |
Limite superiore dell'intervallo casuale tra i thread di fallback online | 20 |
Comportamenti chiave:
- Memorizza il valore grezzo della piattaforma (
SEARCH/RESEARCH/ASI/AGENTIC_RESEARCH/STUDY/STUDIO…); un thread con più valori mantiene il più specifico secondo computer > council > study > deep-research > search. - Prima locale: i thread archiviati vengono risolti da
raw_entries.jsoncon zero rete — un'esecuzione completamente locale non costruisce mai un trasporto (nemmeno un probe di sessione). - Fallback online solo per righe senza dati grezzi locali:
GET /rest/thread/<uuid>con un intervallo casuale di 10–20 secondi; le righe nello stato terminaleexpiredvengono saltate e registrate; i thread trovati appena scaduti/eliminati online vengono contrassegnati inbatch_state.jsonper risparmiare richieste future. - Idempotente e riprendibile: le righe che hanno già
search_modevengono saltate, il progresso viene salvato ogni 25 righe, e successiviindexaggiornamenti preservano l'arricchimento (uniti daentryUUID).
pplx-export search-mode-backfill --account alice --offline
e. sync-deleted¶
Identifica i thread che sono scomparsi dalla libreria remota (eliminati dall'utente o dalla piattaforma) e li contrassegna — non elimina né sposta mai alcun file di archivio.
| Flag | Significato | Predefinito |
|---|---|---|
--online |
Verifica ogni candidato online | disattivato (dry-run offline: elenca solo i candidati) |
--limit N |
Elabora solo i primi N candidati | tutti |
--delay-min SEC |
Limite inferiore dell'intervallo casuale tra i candidati | 10 |
--delay-max SEC |
Limite superiore dell'intervallo casuale tra i candidati | 20 |
Comportamenti chiave:
- Il rilevamento dei candidati è offline e cross-account: un thread con stato
batch_stateokche manca dall'unioneentryUUIDdi tutti i fileindex/library_*.jsondiventa un candidato — qualsiasi singolo indice che lo contiene conta come vivo, quindi i thread esportati cross-account tramite spazi condivisi non vengono falsi positivi. Quando non esiste un indice utilizzabile, tutto viene saltato in sicurezza con un suggerimento di eseguire primaindex. - Il predefinito è un dry-run offline: elenca i candidati e le ragioni di skip sicuro — zero rete, zero scritture.
--onlineverifica ogni candidato conGET /rest/thread/<uuid>sotto l'account registrato inthread.jsonexport_via(i cookie cambiano automaticamente per candidato).- Confermato da
ENTRY_DELETED/ENTRY_EXPIRED/ HTTP 404 →batch_statesegna lo stato terminaledeleted(stessa semantica diexpired: mai ritentato,--forcenon riesporta; vedi incremental-sync.md) e ogni filethread.jsondel thread riceve un timestampremote_deletedsul posto (idempotente — una chiave esistente viene mantenuta). - Il thread esiste ancora → falso positivo: segnalato così com'è con un suggerimento di eseguire di nuovo
index, nulla è cambiato. Gli errori di trasporto rimandano al giro successivo; 3 fallimenti di autenticazione consecutivi interrompono l'esecuzione prima che qualcosa venga contrassegnato erroneamente.
pplx-export sync-deleted
pplx-export sync-deleted --online --limit 20
La prima esecuzione elenca i candidati (dry-run offline); la seconda li verifica online e contrassegna quelli confermati.
f. status¶
Stampa lo stato dell'account dell'archivio e il piano di modifica incrementale — zero rete, sola lettura. Risponde a "com'è l'archivio in questo momento e cosa farebbe la prossima esecuzione di batch" senza toccare la rete.
| Flag | Significato | Predefinito |
|---|---|---|
--account X |
Segnala su un solo account | tutti gli account che hanno un file index/library_*.json |
--json |
Report completo machine-readable su stdout (ignora la verbosità) | disattivato (righe di log umane) |
Comportamenti chiave:
- Le fonti dati sono puramente locali:
index/library_*.json(righe indice per account) eindex/batch_state.json(l'unica fonte degli stati di esportazione). La classificazione delle modifiche riutilizza la stessa funzione puraplan_incrementaldibatch/schedule, quindi le semantiche dinew/updated/done/expired/deletedsono identiche a quelle chebatchcalcolerebbe. - L'output INFO predefinito stampa una riga di riepilogo per account (conteggio indice + freschezza, conteggi stato
ok/expired/deleted/error, conteggi modificanew/updatede il numero di early-stop) più una riga globale dell'accountbatch_state(es.559 ok + 13 expired + 12 deleted). - I livelli di dettaglio seguono il flag di verbosità standard:
-vaggiunge i titoli dei threadnew/updated/error(prima riga, troncata a 60 caratteri);-vvaggiunge i threaddone/expired/deletedconlastUpdated/exported_at;-vvvstampa tutto senza troncamento con i campi dell'indicemode/search_modee l'elenco solo-stato (record presenti inbatch_statema mancanti dall'indice di ogni account — candidati alla rimozione remota da riconciliare con sync-deleted). - Protezioni: un
index/mancante o un file di libreria mancante esce con un errore che punta applx-export index; unbatch_state.jsonmancante viene trattato come uno stato vuoto (tutto conta comenew). Non è richiesta alcuna configurazione a livello utente — gli account vengono enumerati dai nomi dei file di libreria. --jsonemette il report completo (account, modifiche, thread, solo-stato, totali) come JSON su una riga su stdout — lo stesso stile di contratto dipplx-ask.
pplx-export status # summary for every account
pplx-export status -vv # five-state thread details
pplx-export status --account alice --json
g. relations¶
Ricostruisce il grafo delle relazioni di conversazione dai thread esportati → relations/edges.jsonl più un relations/graph.md leggibile dall'uomo sotto la radice dell'archivio.
| Flag | Significato | Predefinito |
|---|---|---|
(solo opzioni comuni; solo --out è rilevante) |
Comportamenti chiave:
- Puramente offline, zero rete, sola lettura sull'archivio: riutilizza la pipeline di ricostruzione offline di re-render (
raw_entries.json/raw_blocks.json), quindisub_agents,query_sourcee i segnali di citazione sono tutti disponibili per il rilevamento degli archi. - I thread senza dati grezzi degradano a un guscio
thread.json+conversation.md— solo gli archi di riferimentosame_spacee bare-uuid possono attivarsi per loro.
pplx-export relations
h. debug-js¶
Esegue uno snippet JavaScript nel contesto della pagina del browser corrente tramite il demone WebBridge locale (127.0.0.1:10086) e stampa il risultato come JSON — un portello di fuga per debug.
| Flag | Significato | Predefinito |
|---|---|---|
JS代码 (posizionale) |
Codice JavaScript da valutare nel contesto della pagina (il metavar letterale di argparse) | obbligatorio |
Comportamenti chiave:
- Richiede che il demone WebBridge sia raggiungibile e che la pagina Perplexity di destinazione sia aperta nel browser; lo snippet viene eseguito con la sessione propria della pagina.
- Il JSON stampato è troncato a 5000 caratteri.
pplx-export debug-js 'document.title'