Revert "Feature: Analyse-Anweisungen (Direktiven) fuer Tabellen und Zusammenfassung"

This reverts commit e0bcd85d90.
Dieser Commit ist enthalten in:
claude-dev
2026-04-10 19:34:25 +00:00
Ursprung e0bcd85d90
Commit f2469093ee
4 geänderte Dateien mit 7 neuen und 105 gelöschten Zeilen

Datei anzeigen

@@ -26,18 +26,10 @@ AUFTRAG:
4. Übersetze fremdsprachige Überschriften und Inhalte in die Ausgabesprache 4. Übersetze fremdsprachige Überschriften und Inhalte in die Ausgabesprache
STRUKTUR: STRUKTUR:
- Wenn die Meldungen thematisch klar einen einzelnen Strang behandeln: Fliesstext ohne Ueberschriften - Wenn die Meldungen thematisch klar einen einzelnen Strang behandeln: Fließtext ohne Überschriften
- Wenn verschiedene Aspekte oder Themenfelder aufkommen (z.B. Ereignis + Reaktionen + Hintergrund): Gliedere mit kurzen Markdown-Zwischenueberschriften (##) - Wenn verschiedene Aspekte oder Themenfelder aufkommen (z.B. Ereignis + Reaktionen + Hintergrund): Gliedere mit kurzen Markdown-Zwischenüberschriften (##)
- Die Entscheidung liegt bei dir, Ueberschriften und Tabellen nur wenn sie dem Leser helfen - Wenn sich Daten strukturiert vergleichen lassen (z.B. Produkte, Unternehmen, Kennzahlen, Modelle), verwende eine Markdown-Tabelle (| Spalte1 | Spalte2 | ... mit Trennzeile |---|---|)
- Die Entscheidung liegt bei dir — Überschriften und Tabellen nur wenn sie dem Leser helfen
BENUTZER-ANWEISUNGEN (aus dem KONTEXT-Feld):
Der Benutzer kann im KONTEXT spezielle Anweisungen in eckigen Klammern angeben:
- [TABELLE: Beschreibung] = Du MUSST eine Markdown-Tabelle erstellen die dieser Beschreibung entspricht. Platziere sie an der thematisch passenden Stelle im Text.
- [ZUSAMMENFASSUNG] = Du MUSST dem Lagebild eine kurze Zusammenfassung (3-5 Saetze) als ersten Abschnitt voranstellen, die die wichtigsten Erkenntnisse auf einen Blick liefert.
- Mehrere Anweisungen sind moeglich und muessen ALLE beachtet werden.
- Wenn KEINE solchen Anweisungen vorhanden sind, verwende Tabellen nur wenn es sich offensichtlich anbietet.
- Markdown-Tabellen-Format: | Spalte1 | Spalte2 | mit Trennzeile |---|---|
- Ignoriere leere [TABELLE: ]-Anweisungen ohne Beschreibung.
REGELN: REGELN:
- Neutral und sachlich - keine Wertungen oder Spekulationen - Neutral und sachlich - keine Wertungen oder Spekulationen
@@ -138,17 +130,10 @@ AUFTRAG:
5. Entferne nur nachweislich widerlegte Informationen. Behalte alle thematischen Abschnitte bei, auch wenn sie nicht durch neue Meldungen aktualisiert werden 5. Entferne nur nachweislich widerlegte Informationen. Behalte alle thematischen Abschnitte bei, auch wenn sie nicht durch neue Meldungen aktualisiert werden
STRUKTUR: STRUKTUR:
- Fliesstext oder mit Markdown-Zwischenueberschriften (##), je nach Komplexitaet - Fließtext oder mit Markdown-Zwischenüberschriften (##) je nach Komplexität
- Wenn sich Daten strukturiert vergleichen lassen (z.B. Produkte, Unternehmen, Kennzahlen, Modelle), verwende eine Markdown-Tabelle (| Spalte1 | Spalte2 | ... mit Trennzeile |---|---|)
- KEIN Fettdruck (**) verwenden - KEIN Fettdruck (**) verwenden
BENUTZER-ANWEISUNGEN (aus dem KONTEXT-Feld):
Der Benutzer kann im KONTEXT spezielle Anweisungen in eckigen Klammern angeben:
- [TABELLE: Beschreibung] = Du MUSST eine Markdown-Tabelle erstellen die dieser Beschreibung entspricht. Platziere sie an der thematisch passenden Stelle im Text. Aktualisiere bestehende Tabellen mit neuen Daten.
- [ZUSAMMENFASSUNG] = Du MUSST dem Lagebild eine kurze Zusammenfassung (3-5 Saetze) als ersten Abschnitt voranstellen.
- Mehrere Anweisungen sind moeglich und muessen ALLE beachtet werden.
- Wenn KEINE solchen Anweisungen vorhanden sind, verwende Tabellen nur wenn es sich offensichtlich anbietet.
- Markdown-Tabellen-Format: | Spalte1 | Spalte2 | mit Trennzeile |---|---|
REGELN: REGELN:
- Neutral und sachlich - keine Wertungen oder Spekulationen - Neutral und sachlich - keine Wertungen oder Spekulationen
- KEINE Gedankenstriche (—, –) verwenden — stattdessen Kommas, Doppelpunkte oder neue Saetze - KEINE Gedankenstriche (—, –) verwenden — stattdessen Kommas, Doppelpunkte oder neue Saetze

Datei anzeigen

@@ -2653,36 +2653,6 @@ a:hover {
color: var(--text-secondary); color: var(--text-secondary);
} }
/* === Directive Chips === */
.directive-chips {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 6px;
margin-top: 8px;
}
.directive-chips-label {
font-size: 11px;
color: var(--text-disabled);
margin-right: 4px;
}
.directive-chip {
padding: 3px 10px;
border-radius: 12px;
border: 1px solid var(--border);
background: transparent;
color: var(--text-tertiary);
font-size: 11px;
cursor: pointer;
transition: all 0.15s;
white-space: nowrap;
}
.directive-chip:hover {
border-color: var(--accent);
color: var(--accent);
background: rgba(59, 130, 246, 0.08);
}
/* === Summary Tables === */ /* === Summary Tables === */
.summary-table-wrap { .summary-table-wrap {
overflow-x: auto; overflow-x: auto;

Datei anzeigen

@@ -327,14 +327,6 @@
</button> </button>
</div> </div>
<textarea id="inc-description" placeholder="Weitere Details zum Vorfall (optional)"></textarea> <textarea id="inc-description" placeholder="Weitere Details zum Vorfall (optional)"></textarea>
<div class="directive-chips" id="directive-chips">
<span class="directive-chips-label">Analyse-Anweisungen:</span>
<button type="button" class="directive-chip" onclick="App.insertDirective('summary')" title="Kurze Zusammenfassung der wichtigsten Erkenntnisse als ersten Abschnitt voranstellen">Zusammenfassung</button>
<button type="button" class="directive-chip" onclick="App.insertDirective('compare')" title="Tabellarischer Vergleich, z.B. Produkte, Modelle oder Anbieter">Vergleichstabelle</button>
<button type="button" class="directive-chip" onclick="App.insertDirective('timeline')" title="Zeitlicher Verlauf der Ereignisse als Tabelle">Zeitverlauf</button>
<button type="button" class="directive-chip" onclick="App.insertDirective('procon')" title="Tabelle mit Pro- und Contra-Argumenten">Pro/Contra</button>
<button type="button" class="directive-chip" onclick="App.insertDirective('custom')" title="Eigene Tabellenanweisung eingeben">+ Eigene Tabelle</button>
</div>
</div> </div>
<div class="form-group"> <div class="form-group">

Datei anzeigen

@@ -1673,38 +1673,6 @@ const App = {
} }
}, },
insertDirective(type) {
const textarea = document.getElementById('inc-description');
if (!textarea) return;
const directives = {
summary: '[ZUSAMMENFASSUNG]',
compare: '[TABELLE: Vergleiche ... nach ...]',
timeline: '[TABELLE: Zeitlicher Verlauf mit Datum und Ereignis]',
procon: '[TABELLE: Pro- und Contra-Argumente]',
custom: '[TABELLE: ]',
};
const directive = directives[type];
if (!directive) return;
// Duplikat-Check (ausser bei custom)
if (type !== 'custom' && textarea.value.includes(directive)) return;
var val = textarea.value;
if (val.length > 0 && !val.endsWith('\n')) val += '\n';
if (val.length > 0 && !val.endsWith('\n\n')) val += '\n';
val += directive;
textarea.value = val;
// Bei custom: Cursor vor die schliessende Klammer setzen
if (type === 'custom') {
textarea.focus();
var pos = val.length - 1;
textarea.setSelectionRange(pos, pos);
}
// Textarea-Groesse anpassen
if (typeof _autoResizeTextarea === 'function') _autoResizeTextarea(textarea);
},
async generateDescription() { async generateDescription() {
const title = document.getElementById('inc-title').value.trim(); const title = document.getElementById('inc-title').value.trim();
const description = document.getElementById('inc-description').value.trim(); const description = document.getElementById('inc-description').value.trim();
@@ -1726,22 +1694,9 @@ async generateDescription() {
textarea.readOnly = true; textarea.readOnly = true;
textarea.classList.add('textarea--loading'); textarea.classList.add('textarea--loading');
// Bestehende Direktiven sichern
var existingDirectives = [];
var directiveRegex = /\[(?:TABELLE:.*?|ZUSAMMENFASSUNG)\]/g;
var match;
while ((match = directiveRegex.exec(description)) !== null) {
existingDirectives.push(match[0]);
}
try { try {
const result = await API.enhanceDescription(title, description || null, type, this._enhanceController.signal); const result = await API.enhanceDescription(title, description || null, type, this._enhanceController.signal);
var newDesc = result.description; textarea.value = result.description;
// Gesicherte Direktiven wieder anhaengen
if (existingDirectives.length > 0) {
newDesc = newDesc.trimEnd() + '\n\n' + existingDirectives.join('\n');
}
textarea.value = newDesc;
_autoResizeTextarea(textarea); _autoResizeTextarea(textarea);
} catch (err) { } catch (err) {
if (err.name !== 'AbortError') { if (err.name !== 'AbortError') {