Ausgabestruktur
Ideon schreibt ein Generierungsverzeichnis pro Lauf. Jedes Generierungsverzeichnis enthält eine oder mehrere Markdown-Ausgaben, eine Laufdefinitions-job.json, ein laufebenes Analyseartefakt, ein laufebenes Modellinteraktionsartefakt, eine strukturierte Metadaten-Sidecar (meta.json) und gemeinsame Bildressourcen.
Ideon speichert auch lokale Schreibsitzungs-Artefakte in .ideon/write/ (gitignoriert) zur Fortsetzungsunterstützung.
Standardpfade
- Markdown-Verzeichnis:
/output - Ressourcen-Verzeichnis:
/output/assets - Analyse-Datei:
generation.analytics.jsoninnerhalb jedes Generierungsverzeichnisses - Modellinteraktions-Datei:
model.interactions.jsoninnerhalb jedes Generierungsverzeichnisses - Metadaten-Sidecar:
meta.jsoninnerhalb jedes Generierungsverzeichnisses - Artikelplan-Datei:
plan.mdinnerhalb jedes Generierungsverzeichnisses (für artikelprimäre Läufe)
Pfade, die mit /output beginnen, werden relativ zum aktuellen Arbeitsverzeichnis aufgelöst.
Generierungsverzeichnis-Layout
Beispiel:
output/
20260327-practical-ai-workflows/
article-1.md
x-thread-1.md
x-post-1.md
linkedin-1.md
job.json
plan.md
meta.json
generation.analytics.json
model.interactions.json
practical-ai-workflows-cover.webp
practical-ai-workflows-inline-1.webp
Markdown-Dateien werden nach Inhaltstyp-Präfix nummeriert:
article-1.mdblog-1.mdx-thread-1.mdx-post-1.mdreddit-1.mdlinkedin-1.mdnewsletter-1.mdlanding-1.md
Artikel-Markdown-Inhalte
Generiertes Markdown enthält:
- YAML-Frontmatter:
titlesubtitleslugdescriptionkeywords
- H1-Titel und Untertitelzeile
- Coverbild-Einbettung (wenn vorhanden)
- Einleitungskörper
- Absatzkörper (H2-Überschriften)
- Inline-Bild-Einbettungen, an Absatzpositionen verankert
- Schlussfolgerungsabsatz
Slug-Verhalten
Artikel-Slugs werden während der Planung normalisiert. Generierungsverzeichnisnamen sind zeitgestempelt und eindeutig pro Lauf.
Ressourcen-Links
Markdown-Einbettingen verwendenrelative Pfade von der Markdown-Dateiposition zu den Ressourcendateien.
Analyse-Artefakt
Jeder Generierungslauf gibt generation.analytics.json innerhalb des Generierungsverzeichnisses aus.
Das JSON enthält:
- Laufzusammenfassung: Gesamtdauer, Gesamt-Wiederholungen und Gesamtkosten (wenn verfügbar)
- Stufenmetriken: pro-Stufen-Dauer, Wiederholungen und stufenbezogene Kosten
- Bildprompt-Aufrufe: pro-Bild-Prompt-Erweiterungs-Zeitmessung/Kosten + Token-Verbrauch (wenn verfügbar)
- Bildrender-Aufrufe: pro-Bild-Render-Zeitmessung/Kosten + Ausgabe-Byte-Größe
Um generiertes Markdown und Bild-Einbettingen im Browser zu inspizieren, führen Sie ideon preview aus.
Modellinteraktions-Artefakt
Jeder Generierungslauf gibt auch model.interactions.json innerhalb des Generierungsverzeichnisses aus.
Das JSON enthält:
- Laufhülle:
runId,runMode,dryRun,startedAt,endedAt llmCalls: ein Datensatz pro OpenRouter-Versuch mit Stufen/Betriebs-IDs, Anfragetyp, rohem serialisierten Anfrage-Body, rohem Antwort-Body, Zeitmessung, Versuche/Wiederholungen und Endstatust2iCalls: ein Datensatz pro Bildrender-Versuch mit Stufen/Betriebs-IDs, rohem Prompt, aufgelöstem T2I-Eingabe-Payload, Zeitmessung, Wiederholungen und Endstatus
Dieses Artefakt ist für Prompt-Engineering und Fehleranalyse gedacht, daher bleiben Payloads absichtlich roh.
Job-definitions-Artefakt
Jeder Lauf gibt auch job.json im Generierungsverzeichnis aus. Es erfasst die aufgelöste Laufdefinition:
ideaundprompt, die für den Lauf verwendet wurden- optionales
targetAudience-Seed, wenn bereitgestellt (oder wenn von einer Job-Datei geerbt) - aufgelöste
contentTargetsundstyle - vollständiges aufgelöstes
settings-Objekt (einschließlich aktueller und zukünftiger Einstellungsfelder) - Quell-Job-Payload, wenn bereitgestellt (
sourceJob) - Laufmetadaten (
generatedAt,dryRun,runMode)
Beispielstruktur:
{
"idea": "How teams can operationalize content systems",
"prompt": "How teams can operationalize content systems",
"targetAudience": "Content operators building repeatable publishing systems",
"settings": {
"model": "deepseek/deepseek-v4-pro",
"modelSettings": { "temperature": 0.7, "maxTokens": 4000, "topP": 1 },
"modelRequestTimeoutMs": 90000,
"t2i": { "modelId": "black-forest-labs/flux-schnell", "inputOverrides": {} },
"markdownOutputDir": "/output",
"assetOutputDir": "/output/assets",
"contentTargets": [{ "contentType": "article", "role": "primary", "count": 1 }],
"style": "professional"
},
"sourceJob": null,
"generatedAt": "2026-03-27T10:20:00.000Z",
"dryRun": false,
"runMode": "fresh"
}
Metadaten-Sidecar (meta.json)
Jeder Generierungslauf gibt eine strukturierte meta.json-Sidecar innerhalb des Generierungsverzeichnisses aus. Sie konsolidiert inhaltsbezogene Metadaten in einer einzigen maschinenlesbaren Datei.
Das JSON enthält:
version: Schema-Version (derzeit1)title,slug,idea,description: Kern-Inhaltsmetadatensubtitle,keywords,angle: Langform-Artikelmetadaten (nullable when absent)contentType,style,intent,targetLength: Generierungseinstellungencover: Coverbild-Metadaten (path,relativePath,description) odernullsections: Array von Absatztiteln und -beschreibungen (leer für Kurzform-Inhalte)images: Array aller gerenderten Bilder (Cover und Inline) mit Pfaden, Beschreibungen und Ankerpositionenoutputs: Array aller Markdown-Ausgabedateien mit Inhaltstypen und PfadengeneratedAt: ISO-ZeitstempelgenerationDir: Absoluter Pfad zum Generierungsverzeichnis
Beispielstruktur:
{
"version": 1,
"title": "How teams can operationalize content systems",
"slug": "operationalize-content-systems",
"idea": "How teams can operationalize content systems",
"description": "A practical guide to building repeatable content operations.",
"subtitle": "From one-off posts to predictable publishing pipelines",
"keywords": ["content ops", "publishing", "automation"],
"contentType": "article",
"style": "professional",
"intent": "tutorial",
"targetLength": "medium",
"angle": "Process-first perspective",
"cover": {
"path": "/Users/you/.ideon/output/20260327-slug/cover-1.png",
"relativePath": "cover-1.png",
"description": "A clean editorial workspace with content calendars"
},
"sections": [
{ "title": "Audit your current workflow", "description": "Map existing steps and bottlenecks." },
{ "title": "Design the pipeline", "description": "Choose tools and handoff points." }
],
"images": [
{
"id": "cover",
"kind": "cover",
"path": "/Users/you/.ideon/output/20260327-slug/cover-1.png",
"relativePath": "cover-1.png",
"description": "A clean editorial workspace with content calendars",
"anchorAfterSection": null
},
{
"id": "inline-1",
"kind": "inline",
"path": "/Users/you/.ideon/output/20260327-slug/inline-1-2.png",
"relativePath": "inline-1-2.png",
"description": "Pipeline diagram",
"anchorAfterSection": 1
}
],
"outputs": [
{
"fileId": "article-1",
"contentType": "article",
"path": "/Users/you/.ideon/output/20260327-slug/article-1.md",
"relativePath": "article-1.md"
},
{
"fileId": "x-post-1",
"contentType": "x-post",
"path": "/Users/you/.ideon/output/20260327-slug/x-post-1.md",
"relativePath": "x-post-1.md"
}
],
"generatedAt": "2026-03-27T10:20:00.000Z",
"generationDir": "/Users/you/.ideon/output/20260327-slug"
}
meta.json wird auch von ideon export zusammen mit dem exportierten Markdown und Bildern kopiert.
Lokale Sitzungsartefakte
- Sitzungszustandsdatei:
~/.ideon/sessions/<project-hash>/state.json(OS-spezifisches Konfigurationsverzeichnis) - Enthält gespeicherte Stufen-Ausgaben (Plan, Absatzentwürfe, Bildmetadaten, finales Artefakt-Zusammenfassung)
- Frische Läufe überschreiben vorherige Sitzungsartefakte
ideon write resumeverwendet diesen Zustand, um nach Fehlschlägen oder Unterbrechungen fortzufahren- Sitzungszustand wird im Benutzer-Heim-Konfigurationsverzeichnis gespeichert, nach Projektpfad-Hash verschlüsselt
Verzeichnisbereich-Beispiele:
- Ausführen in
~/project-aerstellt und setzt den Zustand derselben Sitzung fort, unabhängig vom aktuellen Verzeichnis - Ausführen in
~/project-bverwendet eine separate Sitzung, die nach eigenem Projektpfad verschlüsselt ist - Veraltete
.ideon/write/state.json-Dateien werden beim ersten Fortsetzen automatisch migriert
Wichtige Zustandsfelder:
status:running,failedodercompletedlastCompletedStage: letzte geprüfte Stufen-IDfailedStageunderrorMessage: neueste Fehlermetadatenplan,text,imagePrompts,imageArtifacts: zwischengespeicherte Stufen-Artefakte, die von der Fortsetzung verwendet werdenartifact: finales Ausgabe-Zusammenfassung (markdownPaths,generationDir,analyticsPath,interactionsPathund Zählungen)