Revert "Feature: Analyse-Anweisungen (Direktiven) fuer Tabellen und Zusammenfassung"
This reverts commit e0bcd85d90.
Dieser Commit ist enthalten in:
@@ -26,18 +26,10 @@ AUFTRAG:
|
||||
4. Übersetze fremdsprachige Überschriften und Inhalte in die Ausgabesprache
|
||||
|
||||
STRUKTUR:
|
||||
- Wenn die Meldungen thematisch klar einen einzelnen Strang behandeln: Fliesstext ohne Ueberschriften
|
||||
- Wenn verschiedene Aspekte oder Themenfelder aufkommen (z.B. Ereignis + Reaktionen + Hintergrund): Gliedere mit kurzen Markdown-Zwischenueberschriften (##)
|
||||
- Die Entscheidung liegt bei dir, Ueberschriften 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.
|
||||
- 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-Zwischenüberschriften (##)
|
||||
- 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
|
||||
|
||||
REGELN:
|
||||
- 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
|
||||
|
||||
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
|
||||
|
||||
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:
|
||||
- Neutral und sachlich - keine Wertungen oder Spekulationen
|
||||
- KEINE Gedankenstriche (—, –) verwenden — stattdessen Kommas, Doppelpunkte oder neue Saetze
|
||||
|
||||
@@ -2653,36 +2653,6 @@ a:hover {
|
||||
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-table-wrap {
|
||||
overflow-x: auto;
|
||||
|
||||
@@ -327,14 +327,6 @@
|
||||
</button>
|
||||
</div>
|
||||
<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 class="form-group">
|
||||
|
||||
@@ -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() {
|
||||
const title = document.getElementById('inc-title').value.trim();
|
||||
const description = document.getElementById('inc-description').value.trim();
|
||||
@@ -1726,22 +1694,9 @@ async generateDescription() {
|
||||
textarea.readOnly = true;
|
||||
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 {
|
||||
const result = await API.enhanceDescription(title, description || null, type, this._enhanceController.signal);
|
||||
var newDesc = result.description;
|
||||
// Gesicherte Direktiven wieder anhaengen
|
||||
if (existingDirectives.length > 0) {
|
||||
newDesc = newDesc.trimEnd() + '\n\n' + existingDirectives.join('\n');
|
||||
}
|
||||
textarea.value = newDesc;
|
||||
textarea.value = result.description;
|
||||
_autoResizeTextarea(textarea);
|
||||
} catch (err) {
|
||||
if (err.name !== 'AbortError') {
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren