Was macht Nature Image2PPT?
Verwenden Sie dieses Verzeichnis als vollständige Laufzeitumgebung. Führen Sie deterministische Aktionen nur aus über:
python <image2ppt-root>/cli/image2ppt/cli.py <befehl> ...
Verwenden Sie Python 3.10 oder höher mit installiertem requirements.txt. Wenn eine dedizierte Umgebung existiert, ersetzen Sie unter macOS/Linux <image2ppt-root>/.venv/bin/python oder unter Windows <image2ppt-root>/.venv/Scripts/python.exe für jeden python-Befehl unten. Fahren Sie nach einem fehlgeschlagenen doctor nicht fort; installieren Sie nur die gemeldete fehlende Abhängigkeit und führen Sie ihn erneut aus.
Entdecken oder rufen Sie keinen anderen Skill, kein CLI, kein Prompt, kein Schema, kein Modul und keine Zustandsmaschine auf.
Lesen Sie die lokalen Verträge schrittweise
Lesen Sie immer references/workflow.md. Lesen Sie references/runtime-dependencies.md nur für die Einrichtung oder bei doctor-Fehlern und lesen Sie references/ocr-text-hints-contract.md nur bei der Auswahl oder Fehlerbehandlung von OCR.
Lesen Sie vor dem Schreiben eines Seitenmanifests references/page-decision-tree.md und references/manifest-schema.md. Fügen Sie nur die von dieser Seite benötigten Referenzen hinzu:
- strukturierte oder zusammengesetzte Seite:
references/region-decomposition.mdundreferences/object-routing.md; - Pfeile:
references/manifest-arrow-extension.md; - Raster-Assets oder Bild-Backend-Arbeit:
references/assets-provenance-contract.md.
Lesen Sie vor der Annahme oder Ausgabe references/qa-contract.md.
Bewahren Sie die einzige Quelle der Wahrheit
- Behandeln Sie
page_jobs.jsonals die einzige Seitenstatusquelle. - Behandeln Sie jedes
pages/page_NNN/manifest.jsonals die einzige Seiteninhaltsquelle. - Behandeln Sie
deck_manifest.jsonals die Quelle der endgültigen Zusammenstellung. - Verwenden Sie nur
prepare,run next/dispatch/record/reset/hints/finalizeund die Seitenbefehle im lokalen CLI für zustandsbehaftete Lebenszyklusoperationen. - Halten Sie semantic-region-Evidenz in
manifest.json.image2ppt_region_decomposition. - Erstellen Sie niemals eine zweite Jobdatei, einen Rekonstruktionsplan, einen OCR-Normalisierer, eine Seitensteuerung, einen Packer oder einen Finalisierungspfad.
- Lassen Sie die ergänzende Qualitätssicherung Fehler melden; lassen Sie sie niemals den Lebenszyklusstatus verändern.
Halten Sie jede Schreiboperation in ihrem eigenen Verzeichnis
- Seitenaufbau, Validierung, Hinweise und Qualitätssicherung dürfen nur in diesem Seitenverzeichnis lesen und schreiben. Manifestpfade, aufgezeichnete Assets, Formeln, Berichte, Vorschauen und
--out-Überschreibungen dürfen keine.., Symlinks oder absolute Pfade verwenden, um es zu verlassen. Die einzige externe Eingabeausnahme ist ein explizites Bildwerkzeug-Ergebnis, das fürimage importoder alsprocess-sheet --asset-sheet-sourcebereitgestellt wird; es wird in die Seite kopiert, bevor es zu einer Build-Abhängigkeit wird. - Manifeste auf Ausführungsebene und endgültige Ausgaben müssen im vorbereiteten Ausführungsverzeichnis verbleiben. Die Finalisierung erstellt eine temporäre Datei im selben Verzeichnis und veröffentlicht sie atomar erst nach einem erfolgreichen Build.
- Behandeln Sie jede Grenzablehnung als harten Fehler; kopieren Sie die abgelehnte Datei nicht zurück in den Gültigkeitsbereich und präsentieren Sie sie als Laufzeitausgabe.
Bewahren Sie das Verhalten vor der Migration
- Behandeln Sie die Selbstkapselung als Pfad-/Import-/Einstiegspunkt-Migration, nicht als Neugestaltung des Rekonstruktionsverhaltens.
- Generieren Sie jedes Worker-Prompt aus der vollständigen lokalen Basisschicht plus der beibehaltenen Image2PPT-Profilschicht. Kondensieren, interpretieren oder ersetzen Sie keine der beiden Schichten.
- Bevorzugen Sie die zuvor validierte visuelle Strategie, wenn mehrere Wege die Verträge erfüllen. Behalten Sie einfache messbare Objekte nativ und beschränken Sie begrenzte komplexe Assets dort, wo eine native Neuerstellung die Wiedergabetreue verringern würde.
- Bearbeiten Sie eine akzeptierte Basislinienseite niemals neu, nur um die Laufzeitunabhängigkeit zu beweisen.
Führen Sie den Workflow aus
Bild-Backend-Auswahl
Verwenden Sie builtin-imagegen, wenn die Agentenlaufzeit image_gen.imagegen bereitstellt; dies ist das bevorzugte Backend, da der Worker Bearbeitungseingaben inspizieren und das explizite lokale Ergebnis importieren kann. Verwenden Sie den CLI-Bildvertrag nur, wenn das integrierte Werkzeug nicht verfügbar ist, einen Fehler erzeugt, keine Eingabe lesen kann oder keine gültige lokale Ausgabe zurückgibt. Ein fehlendes optionales Argument wie Modell, Maske, Größe, Qualität oder Ausgabepfad berechtigt niemals zum Fallback. Zeichnen Sie den tatsächlichen Produzenten und den zulässigen Fallback-Grund in imagegen-jobs.json auf.
Der CLI-Bildvertrag ist an der Transportgrenze anbieterneutral. Wählen Sie codex-oauth nur für GPT-Bildmodell-IDs. Wählen Sie openai-compatible-api für jedes anbieterspezifische Modell, dessen Endpunkt das OpenAI Images-kompatible /images/generations- und/oder /images/edits-Schema implementiert. Leiten Sie das Bild-Backend nicht aus dem Sprachmodell der Aufgabe ab. Verwenden Sie ein explizites Backend, wenn die Herkunft wichtig ist; auto verwendet Codex OAuth nur für kompatible GPT-Bild-IDs und wählt andernfalls das konfigurierte API aus, ohne Codex-OAuth-Anmeldeinformationen an Dritte zu senden.
1. Preflight und OCR-Auswahl
python <image2ppt-root>/cli/image2ppt/cli.py doctor --json
Verwenden Sie Baidu AI Studio PADDLE_OCR_TOKEN, wenn konfiguriert. Wenn es fehlt, teilen Sie dem Benutzer einmal mit, dass der lokale builtin-ink-Fallback die Textgeometrie misst, aber keine Zeichen erkennt; bieten Sie den Konfigurationspfad in references/ocr-text-hints-contract.md an. Respektieren Sie eine Offline-Only-Auswahl.
2. Bereiten Sie einen Lauf vor
python <image2ppt-root>/cli/image2ppt/cli.py prepare <eingabe...> \
--out-root output/image2ppt --image-backend builtin-imagegen
Um einen konfigurierten Drittanbieter-/Anbietermodell für überprüfbare Herkunft festzulegen, bereiten Sie mit --image-backend openai-compatible-api vor. Der Ausführungsvertrag zeichnet das genaue IMAGE2PPT_IMAGE_MODEL aus der aktiven Projektkonfiguration oder Umgebung auf; er ersetzt keinen GPT-Bildstandardwert, nur weil kein --model-Flag übergeben wurde.
Verwenden Sie --no-text-hints nur, wenn die OCR-Verarbeitung absichtlich deaktiviert ist. Generieren Sie bei Bedarf Hinweise neu, ohne einen neuen Lauf zu erstellen:
python <image2ppt-root>/cli/image2ppt/cli.py run hints <ausführungs-verz>
3. Seiten vorrücken und beanspruchen
python <image2ppt-root>/cli/image2ppt/cli.py run next <ausführungs-verz> --json
python <image2ppt-root>/scripts/build_page_worker_prompt.py \
<ausführungs-verz> --page <seiten-id> --out <absolutes-seiten-verz>/worker-prompt.md
python <image2ppt-root>/cli/image2ppt/cli.py run dispatch \
<ausführungs-verz> --page <seiten-id> --agent-id <id> --prompt-file <absoluter-pfad>
Für genau eine Seite beanspruchen Sie sie mit --local und rekonstruieren Sie sie im aktuellen Agenten. Dispatching Sie für mehrere Seiten unabhängige Seiten-Worker bis zur Kapazität in page_jobs.json. Setzen Sie einen laufenden Worker nicht zurück, nur weil er langsam ist.
4. Jede Seite rekonstruieren und absichern
Planen Sie eine strukturierte Seite als 3–5 semantische Regionen und leiten Sie jede Region unabhängig. Verwenden Sie gemessene zusammengesetzte Diagramme: Messen Sie jeden Knoten, jede Beziehung und jeden geschützten Anker. Halten Sie messbare Kreise, Karten, gerade/gestrichelte Beziehungen und einfache Verbinder nativ. Verwenden Sie begrenzte transparente Assets nur für komplexe lokale Teile.
Stellen Sie einen dünnen Pfeil als einen Verbinder dar, dessen Pfeilspitze sich auf demselben Objekt befindet. Stellen Sie einen gefüllten Pfeil als eine AutoShape-Pfeilform dar, mit zentriertem Beschriftungstext im selben Objekt. Konstruieren Sie nie einen gewöhnlichen Pfeil aus einer Linie plus Dreieck und flachen Sie nie einen ganzen Wissensgraphen in ein Bild ab.
Schreiben Sie neue Seitenmanifeste mit schema_version: 2. Verwenden Sie strukturierte visual_inventory-Elemente mit expliziten kind- und representation-Werten und schreiben Sie eine konkrete quality_evidence-Beobachtung für jede erforderliche Qualitätsprüfung. Formelrendering ist eine harte Absicherung: Eine fehlende Engine, ein fehlender Konverter oder ein fehlgeschlagener Compiler muss die Seite als fehlgeschlagen belassen, es sei denn, der Benutzer genehmigt ausdrücklich diese bestimmte Formelausnahme und das Manifest zeichnet sowohl user_approved_exception: true als auch eine konkrete approval_note auf.
Das Worker-Prompt führt die deterministische Sequenz aus. Seine letzten Absicherungen sind:
python <image2ppt-root>/cli/image2ppt/cli.py page build <seiten-verz>
python <image2ppt-root>/scripts/run_image2ppt_qa.py <seiten-verz>
# Der erste Lauf schreibt visual-review-evidence.template.json und bleibt ausstehend.
# Überprüfen Sie source.png gegen render/rendered.png, kopieren und vervollständigen Sie die Vorlage
# als visual-review-evidence.json, reparieren Sie bei Bedarf, dann:
python <image2ppt-root>/scripts/run_image2ppt_qa.py <seiten-verz> \
--visual-review-status reviewed \
--visual-review-evidence <seiten-verz>/visual-review-evidence.json
python <image2ppt-root>/cli/image2ppt/cli.py page contact-sheet <seiten-verz>
Die Evidenzdatei muss die aktuellen Quell-/Rendering-Hashes und jede erforderliche Prüfung mit einer spezifischen Beobachtung abdecken. --visual-review-notes ist optionaler Kontext und kann die Evidenzdatei nicht ersetzen.
Zeichnen Sie nur nach bestandener Standardvalidierung und den Image2PPT-Regionen-, Pfeil- und Rendering-Absicherungen auf:
python <image2ppt-root>/cli/image2ppt/cli.py run record \
<ausführungs-verz> --page <seiten-id> --agent-id <id>
Verwenden Sie denselben run reset → dispatch → record-Lebenszyklus, um abgelehnte Seiten zu reparieren.
5. Die wiederhergestellte Präsentation finalisieren und erneut validieren
Wenn run next finalize meldet, führen Sie aus:
python <image2ppt-root>/cli/image2ppt/cli.py run finalize <ausführungs-verz>
python <image2ppt-root>/scripts/run_final_image2ppt_qa.py <ausführungs-verz>
# Der erste Lauf schreibt final/visual-review-evidence.template.json und bleibt ausstehend.
# Überprüfen Sie jede gerenderte Folie, vervollständigen Sie final/visual-review-evidence.json, dann:
python <image2ppt-root>/scripts/run_final_image2ppt_qa.py <ausführungs-verz> \
--visual-review-status reviewed \
--visual-review-evidence <ausführungs-verz>/final/visual-review-evidence.json
Die Finalisierung baut aus Seitenmanifesten neu auf, bewahrt Quell-Sprechernotizen, validiert das Paket und schreibt die von deck_manifest.json aufgezeichnete Ausgabe. Die abschließende Qualitätssicherung wendet Manifestpfeile erneut an, überprüft die Pfeilatomizität und die zusammengesetzte Struktur, rendert jede Folie, überprüft die Integrität der Sprechernotizen und schreibt final/image2ppt_qa.json.
Liefern
Geben Sie den endgültigen PPTX-Pfad, die standardmäßige endgültige Validierung und final/image2ppt_qa.json zurück. Melden Sie, welche komplexen visuellen Elemente als ersetzbare Bitmap-Assets verbleiben. Erklären Sie die Präsentation nicht für vollständig, solange eine Seiten-/Abschlussabsicherung ausstehend oder fehlgeschlagen ist.