Maschinenübersetzung
Diese Seite wurde automatisch von KI übersetzt und kann Fehler enthalten. Bei Unklarheiten konsultieren Sie die englische Quelle.
Wartungsbefehle¶
pplx-export-Wartungsunterbefehle halten ein vorhandenes Archiv gesund: Seiten nach Renderer-Korrekturen neu rendern, Assets/Nutzungs-/Modusmetadaten nachträglich befüllen, remote gelöschte Threads als gelöscht markieren und den Beziehungsgraphen neu aufbauen. Die meisten sind offline-first; ihre Online-Phasen folgen derselben Taktungsdisziplin wie batch (siehe rate-limiting.md). Alle akzeptieren die gemeinsamen Optionen (--account, --out, --cookies-from, --transport, …).
- Prinzip der lokalen Archivaufbewahrung: Kein Wartungsbefehl löscht oder verschiebt jemals archivierte Thread-Inhalte – das Archiv ist die Sicherung.
- Die Offline-Befehle (
re-render,relations,sync-space,spacesohne--fetch-metaund die Standardphasen unten) benötigen überhaupt keinen Transport; siehe ../architecture/offline-operations.md.
a. re-render¶
conversation.md und turns/ aus dem archivierten rohen JSON (raw_entries.json / raw_blocks.json) nach Renderer-Korrekturen neu generieren – kein Netzwerk, und jede andere Datei bleibt unberührt.
| Flag | Bedeutung | Standard |
|---|---|---|
--limit N |
Nur die ersten N Thread-Verzeichnisse verarbeiten | alle |
--dry-run |
Die zu verarbeitenden Verzeichnisse auflisten, nichts schreiben | aus |
--thread-json |
Auch die Schlüssel interruptions und answer_variants in thread.json an Ort und Stelle hinzufügen/entfernen |
aus |
Wichtige Verhaltensweisen:
- Baut Züge offline mit derselben Pipeline wie der Export neu auf: Parsen, Sortieren nach
created_us, Zitationsdeduplizierung und – für Computer/Council – Workflow-Blöcke, Sub-Agent-Zuordnung und den Anhang für nicht verbrauchte Hintergründe. - Nur
conversation.mdundturns/turn_*.mdwerden (neu) geschrieben;sources*,assets/,report.mdundthread.jsonbleiben unverändert. Veralteteturn_*.md-Dateien, deren Nummer über der aktuellen Zuganzahl liegt, werden gelöscht – sonst nichts, sodass unveränderte Dateien ihre mtime behalten. --thread-jsonschreibt nur, wenn sich der Inhalt tatsächlich ändert; neu hinzugefügte/geänderteanswer_variantslösen eineANSWER_VARIANT_DETECTED-Warnung aus und werden anindex/answer_variants_log.jsonlangehängt (idempotente Wiederholungen spammen nicht).- Thread-Verzeichnisse ohne
raw_entries.jsonwerden übersprungen und gezählt.
pplx-export re-render --limit 20 --thread-json --dry-run
b. assets-backfill¶
Behebt Assets, die ohne signierte URL archiviert wurden – drei gestaffelte Abhilfemaßnahmen: erneutes Abrufen fehlender Blöcke, Offline-Inline-Extraktion und optionales Online-Refresh.
| Flag | Bedeutung | Standard |
|---|---|---|
--fetch-blocks |
Zuerst fehlende raw_blocks.json und deren signierte URL-Assets erneut abrufen (online) |
aus |
--online |
Online-Refresh fehlender/veralteter Assets aktivieren | aus (nur Offline-Inline-Extraktion, null Anfragen) |
--limit N |
Nur die ersten N Thread-Verzeichnisse verarbeiten | alle |
Wichtige Verhaltensweisen:
- Standardphase (offline, null Anfragen): Extrahiert Inline-Assets (
ASSET_DIFF/CODE_ASSET) ausraw_blocks.jsoninassets/files/*.mdund registriert Cloud-Workspace-Handle-Arten (DOC_FILE/CODE_FILE/UNKNOWN– noch kein Download-Kanal) inassets/assets_manifest.json. Idempotent: bekannte Datensätze werden nach UUID, dann file_handle dedupliziert; Dateien mit mehreren Versionen und gleichem Namen erhalten einen kurzen UUID-Suffix, sodass Wiederholungen nicht kollidieren. --fetch-blocks(online): Fehlenderaw_blocks.jsonfür Deep-Research/Computer/Council/Study-Threads sowie deren herunterladbare Assets erneut abrufen; Threads werden nach Kontoverzeichnissen gruppiert mit einem lazy erstellten Adapter pro Konto (Cookies wechseln automatisch), 3s zwischen Threads.--online: Für Manifest-Versionen, derendownloaded_tofehlt/veraltet ist, eine frische signierte URL über/rest/assets/<uuid>/dataabrufen (API-Aufrufe seriell, 3s Abstand), dann vom CDN erneut herunterladen (6 gleichzeitige Threads, keine Verzögerung – CDN, nicht API). Ein 404ASSET_NOT_FOUNDsetzt das terminale Flagasset_expired; ein kontenübergreifender 403 wird einmalig mit dem Konto wiederholt, das das Archivverzeichnis besitzt.- Das Manifest
countwird bei jedem Rückschreiben als Gesamtzahl der Versionen neu berechnet.
pplx-export assets-backfill --fetch-blocks --online --limit 30 --account alice
c. usage-backfill¶
Füllt die Nutzung pro Thread (credits/thread-usage) für alle archivierten Threads des Kontos in index/credit_usage_<account>.json nachträglich ein.
| Flag | Bedeutung | Standard |
|---|---|---|
--limit N |
Nur die ersten N Threads verarbeiten | alle |
Wichtige Verhaltensweisen:
- Ein GET pro archiviertem Thread (
thread_id= diepsc_uuiddes Threads), 3s Abstand; idempotent – bereits in der Ausgabedatei vorhandene Threads werden übersprungen. - Ein 403 (
thread_usage_forbidden, d.h. ein kontenübergreifender Thread) wird alserroraufgezeichnet und nie wiederholt; andere Fehler werden für den nächsten Lauf belassen. Der Fortschritt wird alle 25 verarbeiteten Threads gespeichert. - Mehrere Konten: Einmal pro Konto mit
--accountausführen – die Cookies wechseln zwischen den Läufen automatisch.
pplx-export usage-backfill --account alice
d. search-mode-backfill¶
Füllt das plattformautoritative Feld search_mode in jede Zeile von index/library_<account>.json nachträglich ein, sodass batch --mode exakt filtern kann, anstatt auf Heuristiken angewiesen zu sein.
| Flag | Bedeutung | Standard |
|---|---|---|
--limit N |
Nur die ersten N ausstehenden Zeilen verarbeiten | alle |
--offline |
Nur lokale Extraktion – Zeilen ohne lokale Rohdaten warten auf die nächste Runde, kein Online-Fallback | aus |
--delay-min SEC |
Untere Grenze des zufälligen Intervalls zwischen Online-Fallback-Threads | 10 |
--delay-max SEC |
Obere Grenze des zufälligen Intervalls zwischen Online-Fallback-Threads | 20 |
Wichtige Verhaltensweisen:
- Speichert den rohen Plattformwert (
SEARCH/RESEARCH/ASI/AGENTIC_RESEARCH/STUDY/STUDIO…); ein Thread mit mehreren Werten behält den spezifischsten gemäß computer > council > study > deep-research > search. - Local-first: Archivierte Threads werden aus
raw_entries.jsonohne Netzwerk aufgelöst – ein vollständig lokaler Lauf baut nicht einmal einen Transport auf (nicht einmal einen Session-Probe). - Online-Fallback nur für Zeilen ohne lokale Rohdaten:
GET /rest/thread/<uuid>mit einem zufälligen Intervall von 10–20s; Zeilen im terminalen Zustandexpiredwerden übersprungen und aufgezeichnet; Threads, die online neu als abgelaufen/gelöscht gefunden werden, werden inbatch_state.jsonmarkiert, um zukünftige Anfragen zu sparen. - Idempotent und fortsetzbar: Zeilen, die bereits
search_modehaben, werden übersprungen, der Fortschritt wird alle 25 Zeilen gespeichert, und spätereindex-Aktualisierungen bewahren die Anreicherung (zurückgeführt durchentryUUID).
pplx-export search-mode-backfill --account alice --offline
e. sync-deleted¶
Identifiziert Threads, die aus der entfernten Bibliothek verschwunden sind (vom Benutzer oder der Plattform gelöscht), und markiert sie als gelöscht – es löscht oder verschiebt niemals eine Archivdatei.
| Flag | Bedeutung | Standard |
|---|---|---|
--online |
Jeden Kandidaten online überprüfen | aus (Offline-Trockenlauf: nur Kandidaten auflisten) |
--limit N |
Nur die ersten N Kandidaten verarbeiten | alle |
--delay-min SEC |
Untere Grenze des zufälligen Intervalls zwischen Kandidaten | 10 |
--delay-max SEC |
Obere Grenze des zufälligen Intervalls zwischen Kandidaten | 20 |
Wichtige Verhaltensweisen:
- Die Kandidatenerkennung erfolgt offline und kontenübergreifend: Ein Thread mit
batch_state-Statusok, der in derentryUUID-Vereinigung allerindex/library_*.json-Dateien fehlt, wird zum Kandidaten – jeder einzelne Index, der ihn enthält, zählt als lebendig, sodass Threads, die kontenübergreifend über gemeinsame Bereiche exportiert wurden, nicht fälschlich positiv sind. Wenn kein brauchbarer Index existiert, wird alles sicher mit einem Hinweis übersprungen, zuerstindexauszuführen. - Standard ist ein Offline-Trockenlauf: Er listet Kandidaten und sichere Überspringungsgründe auf – null Netzwerk, null Schreibvorgänge.
--onlineüberprüft jeden Kandidaten mitGET /rest/thread/<uuid>unter dem inthread.jsonexport_viaaufgezeichneten Konto (Cookies wechseln automatisch pro Kandidat).- Bestätigt durch
ENTRY_DELETED/ENTRY_EXPIRED/ HTTP 404 →batch_statemarkiert den terminalen Zustanddeleted(gleiche Semantik wieexpired: nie wiederholt,--forceexportiert nicht erneut; siehe incremental-sync.md) und jede derthread.json-Dateien des Threads erhält einenremote_deleted-Zeitstempel an Ort und Stelle (idempotent – ein vorhandener Schlüssel bleibt erhalten). - Thread existiert noch → falsch positiv: wird wie besehen gemeldet mit einem Hinweis,
indexerneut auszuführen, nichts geändert. Transportfehler warten auf die nächste Runde; 3 aufeinanderfolgende Authentifizierungsfehler brechen den Lauf ab, bevor etwas falsch markiert wird.
pplx-export sync-deleted
pplx-export sync-deleted --online --limit 20
Der erste Lauf listet Kandidaten auf (Offline-Trockenlauf); der zweite überprüft sie online und markiert die bestätigten als gelöscht.
f. status¶
Gibt den Archivzustand des Kontos und den inkrementellen Änderungsplan aus – null Netzwerk, schreibgeschützt. Es beantwortet „Wie sieht das Archiv gerade aus und was würde der nächste batch-Lauf tun“, ohne das Netzwerk zu berühren.
| Flag | Bedeutung | Standard |
|---|---|---|
--account X |
Nur über ein Konto berichten | alle Konten, die eine index/library_*.json-Datei haben |
--json |
Vollständiger maschinenlesbarer Bericht auf stdout (ignoriert Ausführlichkeit) | aus (menschliche Logzeilen) |
Wichtige Verhaltensweisen:
- Datenquellen sind rein lokal:
index/library_*.json(pro-Konto-Indexzeilen) undindex/batch_state.json(die einzige Quelle für Exportzustände). Die Änderungsklassifizierung verwendet dieselbeplan_incremental-Reinfunktion wiebatch/schedule, sodass die Semantik vonnew/updated/done/expired/deletedidentisch mit dem ist, wasbatchberechnen würde. - Die Standard-INFO-Ausgabe gibt eine Zusammenfassungszeile pro Konto aus (Indexanzahl + Aktualität,
ok/expired/deleted/error-Zustandszählungen,new/updated-Änderungszählungen und die Frühstoppzahl) plus eine globalebatch_state-Kontenzeile (z.B.559 ok + 13 expired + 12 deleted). - Detailstufen folgen dem standardmäßigen Ausführlichkeits-Flag:
-vfügt die Titel vonnew/updated/error-Threads hinzu (erste Zeile, auf 60 Zeichen gekürzt);-vvfügtdone/expired/deleted-Threads mitlastUpdated/exported_athinzu;-vvvgibt alles ungekürzt mit Index-mode/search_mode-Feldern und der zustandsnur-Liste aus (Datensätze, die inbatch_statevorhanden sind, aber im Index jedes Kontos fehlen – Kandidaten für Remote-Löschung, die mit sync-deleted abgeglichen werden müssen). - Schutzmaßnahmen: Eine fehlende
index/oder fehlende Bibliotheksdatei beendet das Programm mit einem Fehler, der aufpplx-export indexverweist; eine fehlendebatch_state.jsonwird als leerer Zustand behandelt (alles zählt alsnew). Es ist keine Benutzerkonfiguration erforderlich – Konten werden aus den Bibliotheksdateinamen aufgezählt. --jsongibt den vollständigen Bericht (Konten, Änderungen, Threads, zustandsnur, Summen) als einzeiliges JSON auf stdout aus – derselbe Vertragsstil wiepplx-ask.
pplx-export status # summary for every account
pplx-export status -vv # five-state thread details
pplx-export status --account alice --json
g. relations¶
Baut den Konversationsbeziehungsgraphen aus den exportierten Threads neu auf → relations/edges.jsonl plus eine menschenlesbare relations/graph.md unter dem Archivstammverzeichnis.
| Flag | Bedeutung | Standard |
|---|---|---|
(nur gemeinsame Optionen; nur --out ist relevant) |
Wichtige Verhaltensweisen:
- Rein offline, null Netzwerk, schreibgeschützt gegenüber dem Archiv: Es verwendet die Offline-Neubau-Pipeline von re-render (
raw_entries.json/raw_blocks.json), sodasssub_agents,query_sourceund Zitationssignale alle für die Kantenerkennung verfügbar sind. - Threads ohne Rohdaten degradieren zu einer
thread.json+conversation.md-Hülle – nursame_space- und Bare-UUID-Referenzkanten können für sie ausgelöst werden.
pplx-export relations
h. debug-js¶
Führt ein JavaScript-Snippet im aktuellen Browser-Seitenkontext über den lokalen WebBridge-Daemon (127.0.0.1:10086) aus und gibt das Ergebnis als JSON aus – eine Debugging-Notluke.
| Flag | Bedeutung | Standard |
|---|---|---|
JS代码 (positional) |
JavaScript-Code, der im Seitenkontext ausgewertet werden soll (das wörtliche argparse-Metavar) | erforderlich |
Wichtige Verhaltensweisen:
- Erfordert, dass der WebBridge-Daemon erreichbar ist und die Ziel-Perplexity-Seite im Browser geöffnet ist; das Snippet läuft mit der eigenen Session der Seite.
- Das ausgegebene JSON wird auf 5000 Zeichen gekürzt.
pplx-export debug-js 'document.title'