{
"tool_response": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"doc\": {\n \"id\": 26,\n \"parent_id\": 16,\n \"slug\": \"ki-content\",\n \"path\": \"\/ki-system\/ki-content\",\n \"title\": \"Content\",\n \"description\": \"Strukturierte Content-Erstellung mit Autorenprofilen, Contracts und Kritikersystem.\",\n \"content\": \"<nav class=\\\"breadcrumb\\\">\\n <a href=\\\"\/docs\\\">Dokumentation<\/a> » <a href=\\\"\/docs\/content-studio\\\">Content Studio<\/a> » Architektur\\n<\/nav>\\n\\n<h1>Content-Studio Architektur<\/h1>\\n<p class=\\\"doc-meta\\\"><strong>Erstellt:<\/strong> 2025-12-20 | <strong>Aktualisiert:<\/strong> 2025-12-20<\/p>\\n\\n<p>Strukturierte Content-Erstellung mit Autorenprofilen, Contracts und Kritikersystem.<\/p>\\n\\n<table>\\n <tr><th>Tool<\/th><td><a href=\\\"\/content\\\">\/content<\/a><\/td><\/tr>\\n <tr><th>Dokumentation<\/th><td><a href=\\\"\/docs\/content-studio\\\">\/docs\/content-studio<\/a><\/td><\/tr>\\n <tr><th>API-Referenz<\/th><td><a href=\\\"\/docs\/api\/content\\\">\/docs\/api\/content<\/a><\/td><\/tr>\\n <tr><th>LLM<\/th><td>Claude Opus 4.5<\/td><\/tr>\\n <tr><th>Kritiker-Durchläufe<\/th><td>Max. 3<\/td><\/tr>\\n<\/table>\\n\\n<h2>Web-UI (RESTful)<\/h2>\\n<table>\\n <tr><th>URL<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td><a href=\\\"\/content\\\">\/content<\/a><\/td><td>Auftrags-Liste<\/td><\/tr>\\n <tr><td><a href=\\\"\/content\/new\\\">\/content\/new<\/a><\/td><td>Neuer Auftrag<\/td><\/tr>\\n <tr><td>\/content\/{id}<\/td><td>Details anzeigen<\/td><\/tr>\\n <tr><td>\/content\/{id}\/edit<\/td><td>Bearbeiten<\/td><\/tr>\\n<\/table>\\n\\n<h2>Komponenten<\/h2>\\n<pre><code>Content-Erstellungsauftrag\\n├── Briefing (Was soll erstellt werden)\\n├── Autorenprofil (Wer\/Wie schreibt)\\n├── Contract (Qualitätsanforderungen)\\n├── Strukturdatei (Format\/Gliederung)\\n├── Quellen (RAG-Kontext)\\n└── Kritikersystem (Review-Prozess)<\/code><\/pre>\\n\\n<h2>Workflow<\/h2>\\n<pre><code>1. BRIEFING\\n - Thema eingeben\\n - Zielgruppe wählen\\n - Umfang definieren\\n\\n2. KONFIGURATION\\n - Autorenprofil wählen\\n - Contract wählen\\n - Struktur wählen\\n - Quellen auswählen (RAG)\\n\\n3. GENERIERUNG\\n - Kapitel-für-Kapitel\\n - Fortschrittsanzeige\\n\\n4. CRITIQUE (max 3x)\\n - Kritiker analysieren sequenziell\\n - Automatische Revision\\n\\n5. VALIDATE\\n - Contract-Prüfung\\n\\n6. APPROVE\\n - Menschliches OK\\n\\n7. PUBLISH\\n - Export, Archivierung<\/code><\/pre>\\n\\n<h2>Autorenprofile<\/h2>\\n<p>Versioniert in Datenbank gespeichert:<\/p>\\n<pre><code>{\\n \\\"name\\\": \\\"Akademischer Autor\\\",\\n \\\"stimme\\\": {\\n \\\"ton\\\": \\\"sachlich, präzise\\\",\\n \\\"perspektive\\\": \\\"dritte Person\\\"\\n },\\n \\\"stil\\\": {\\n \\\"fachsprache\\\": true,\\n \\\"zitate\\\": \\\"häufig, APA 7\\\"\\n },\\n \\\"tabus\\\": [\\n \\\"Umgangssprache\\\",\\n \\\"Unbelegte Behauptungen\\\"\\n ]\\n}<\/code><\/pre>\\n\\n<h3>Verfügbare Profile<\/h3>\\n<table>\\n <tr><th>Profil<\/th><th>Use-Case<\/th><\/tr>\\n <tr><td>Akademisch<\/td><td>Fachartikel, Studien<\/td><\/tr>\\n <tr><td>Didaktisch<\/td><td>Lernmaterialien<\/td><\/tr>\\n <tr><td>Journalistisch<\/td><td>Blog, News<\/td><\/tr>\\n <tr><td>Therapeutisch<\/td><td>Klientenmaterial<\/td><\/tr>\\n<\/table>\\n\\n<h2>Contracts<\/h2>\\n<p>Qualitätsverträge mit Vererbung:<\/p>\\n<pre><code>{\\n \\\"name\\\": \\\"Fachartikel-Standard\\\",\\n \\\"anforderungen\\\": {\\n \\\"länge\\\": {\\\"min\\\": 1500, \\\"max\\\": 3000},\\n \\\"struktur\\\": [\\\"abstract\\\", \\\"einleitung\\\", \\\"hauptteil\\\", \\\"fazit\\\"],\\n \\\"quellenangaben\\\": 5\\n },\\n \\\"validierung\\\": {\\n \\\"automatisch\\\": [\\\"wortanzahl\\\", \\\"struktur_check\\\"],\\n \\\"manuell\\\": [\\\"inhaltliche_korrektheit\\\"]\\n }\\n}<\/code><\/pre>\\n\\n<h2>Kritikersystem<\/h2>\\n<table>\\n <tr><th>Kritiker<\/th><th>Fokus<\/th><\/tr>\\n <tr><td>Faktenprüfer<\/td><td>Quellen, Logik, Statistik<\/td><\/tr>\\n <tr><td>Stilist<\/td><td>Sprache, Lesbarkeit<\/td><\/tr>\\n <tr><td>Strukturanalyst<\/td><td>Roter Faden, Gliederung<\/td><\/tr>\\n<\/table>\\n\\n<h2>Export-Formate<\/h2>\\n<ul>\\n <li>Markdown (Technische Docs)<\/li>\\n <li>HTML (Web-Publishing)<\/li>\\n <li>DOCX (Word)<\/li>\\n <li>PDF (Finale Dokumente)<\/li>\\n<\/ul>\\n\\n<h2>Pipeline-Scripts<\/h2>\\n<p>Backend-Implementierung der Content-Generierung:<\/p>\\n<pre><code>\/opt\/scripts\/pipeline\/\\n├── generate.py → Content-Generierung Kernlogik\\n└── web_generate.py → Web-API Wrapper<\/code><\/pre>\\n\\n<h3>generate.py<\/h3>\\n<p>Hauptmodul für RAG-basierte Content-Generierung mit Kritikersystem.<\/p>\\n<table>\\n <tr><th>RAG-Context<\/th><td>Qdrant (documents Collection)<\/td><\/tr>\\n <tr><th>LLM Primary<\/th><td>Claude (Anthropic API)<\/td><\/tr>\\n <tr><th>LLM Fallback<\/th><td>Mistral (Ollama lokal)<\/td><\/tr>\\n <tr><th>Versionierung<\/th><td>content_versions Tabelle<\/td><\/tr>\\n<\/table>\\n\\n<h4>Hauptfunktionen<\/h4>\\n<table>\\n <tr><th>Funktion<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td><code>generate_content(order_id, model, collection, context_limit)<\/code><\/td><td>Generiert Content basierend auf Order<\/td><\/tr>\\n <tr><td><code>run_critique_round(version_id, model)<\/code><\/td><td>Führt alle aktiven Kritiker aus<\/td><\/tr>\\n <tr><td><code>revise_content(version_id, model)<\/code><\/td><td>Erstellt Revision basierend auf Feedback<\/td><\/tr>\\n <tr><td><code>run_critic(content, critic_id, model)<\/code><\/td><td>Einzelner Kritiker-Durchlauf<\/td><\/tr>\\n<\/table>\\n\\n<h4>Hilfsfunktionen<\/h4>\\n<table>\\n <tr><th>Funktion<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td><code>get_rag_context(briefing, collection, limit)<\/code><\/td><td>Holt relevanten Kontext aus Qdrant<\/td><\/tr>\\n <tr><td><code>get_author_profile(profile_id)<\/code><\/td><td>Lädt Autorenprofil aus DB<\/td><\/tr>\\n <tr><td><code>get_contract(contract_id)<\/code><\/td><td>Lädt Content-Contract aus DB<\/td><\/tr>\\n <tr><td><code>get_structure(structure_id)<\/code><\/td><td>Lädt Struktur-Template aus DB<\/td><\/tr>\\n <tr><td><code>get_order(order_id)<\/code><\/td><td>Lädt Order mit allen verknüpften Daten<\/td><\/tr>\\n <tr><td><code>build_generation_prompt(...)<\/code><\/td><td>Baut den Generierungs-Prompt<\/td><\/tr>\\n <tr><td><code>save_version(order_id, content, version_number)<\/code><\/td><td>Speichert Content-Version<\/td><\/tr>\\n <tr><td><code>save_sources(order_id, context)<\/code><\/td><td>Speichert RAG-Quellen<\/td><\/tr>\\n<\/table>\\n\\n<h4>CLI-Verwendung<\/h4>\\n<pre><code># Content generieren\\npython \/opt\/scripts\/pipeline\/generate.py generate <order_id> [model]\\n\\n# Kritik-Runde starten\\npython \/opt\/scripts\/pipeline\/generate.py critique <version_id> [model]\\n\\n# Revision erstellen\\npython \/opt\/scripts\/pipeline\/generate.py revise <version_id> [model]\\n\\n# Beispiel mit Anthropic\\npython \/opt\/scripts\/pipeline\/generate.py generate 1 anthropic\\n\\n# Beispiel mit Ollama\\npython \/opt\/scripts\/pipeline\/generate.py generate 1 ollama<\/code><\/pre>\\n\\n<h4>Status-Workflow<\/h4>\\n<pre><code>draft → generating → critique → revision\/validate → approve → published\\n ↑ ↓\\n └────────────┘ (max 3 Runden)<\/code><\/pre>\\n\\n<h4>Rückgabe generate_content<\/h4>\\n<pre><code>{\\n \\\"success\\\": true,\\n \\\"order_id\\\": 1,\\n \\\"version_id\\\": 5,\\n \\\"version_number\\\": 1,\\n \\\"content\\\": \\\"Generierter Text...\\\",\\n \\\"sources\\\": [\\n {\\\"source\\\": \\\"dokument.pdf\\\", \\\"score\\\": 0.89}\\n ]\\n}<\/code><\/pre>\\n\\n<h4>Rückgabe run_critique_round<\/h4>\\n<pre><code>{\\n \\\"success\\\": true,\\n \\\"round\\\": 1,\\n \\\"critiques\\\": [\\n {\\n \\\"critic_name\\\": \\\"Faktenprüfer\\\",\\n \\\"rating\\\": 8,\\n \\\"passed\\\": true,\\n \\\"issues\\\": [],\\n \\\"suggestions\\\": [\\\"Mehr Quellenangaben\\\"],\\n \\\"summary\\\": \\\"Inhaltlich korrekt\\\"\\n }\\n ],\\n \\\"all_passed\\\": true\\n}<\/code><\/pre>\\n\\n<h3>web_generate.py<\/h3>\\n<p>Web-Interface Wrapper für PHP-Integration.<\/p>\\n<pre><code># Content generieren\\npython \/opt\/scripts\/pipeline\/web_generate.py generate <order_id> [model] [collection] [limit]\\n\\n# Kritik-Runde\\npython \/opt\/scripts\/pipeline\/web_generate.py critique <version_id> [model]\\n\\n# Revision\\npython \/opt\/scripts\/pipeline\/web_generate.py revise <version_id> [model]<\/code><\/pre>\\n\\n<h4>Parameter<\/h4>\\n<table>\\n <tr><th>Parameter<\/th><th>Default<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>model<\/td><td>anthropic<\/td><td>LLM-Backend (anthropic\/ollama)<\/td><\/tr>\\n <tr><td>collection<\/td><td>documents<\/td><td>Qdrant Collection für RAG<\/td><\/tr>\\n <tr><td>limit<\/td><td>5<\/td><td>Anzahl Context-Chunks<\/td><\/tr>\\n<\/table>\\n\\n<h2>Datenbank-Tabellen<\/h2>\\n<table>\\n <tr><th>Tabelle<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>content_orders<\/td><td>Aufträge mit Briefing, Status, Verknüpfungen<\/td><\/tr>\\n <tr><td>content_versions<\/td><td>Versionierte Content-Texte (JSON)<\/td><\/tr>\\n <tr><td>content_sources<\/td><td>RAG-Quellen pro Order<\/td><\/tr>\\n <tr><td>content_critiques<\/td><td>Kritiker-Feedback pro Version<\/td><\/tr>\\n <tr><td>author_profiles<\/td><td>Autorenprofile (JSON-Config)<\/td><\/tr>\\n <tr><td>content_contracts<\/td><td>Qualitätsverträge (JSON-Config)<\/td><\/tr>\\n <tr><td>content_structures<\/td><td>Struktur-Templates (JSON-Config)<\/td><\/tr>\\n <tr><td>critics<\/td><td>Kritiker-Definitionen<\/td><\/tr>\\n<\/table>\",\n \"status\": \"published\",\n \"sort_order\": 10,\n \"depth\": 1,\n \"created_at\": \"2025-12-20T11:13:58\",\n \"updated_at\": \"2025-12-27T15:58:19\"\n }\n}"
}
]
}