dynamic yaml loading part 1

This commit is contained in:
overcuriousity
2025-07-18 14:30:58 +02:00
parent d6e1023e40
commit 69819eba7d
3 changed files with 22 additions and 14 deletions

View File

@@ -107,6 +107,11 @@ function createSystemPrompt(toolsData: any): string {
`- ${domain.id}: ${domain.name}`
).join('\n');
const phaseDescriptions = toolsData.phases
.filter((phase: any) => phase.id !== 'collaboration-general')
.map((phase: any) => `- ${phase.name}: ${phase.description || 'Tools for this phase'}`)
.join('\n');
return `Du bist ein DFIR (Digital Forensics and Incident Response) Experte, der Ermittlern bei der Toolauswahl hilft.
VERFÜGBARE TOOLS DATABASE:
@@ -128,10 +133,7 @@ WICHTIGE REGELN:
7. Bewerbe NIEMALS Proprietäre Software fälschlicherweise als Open-Source-Tools, erkenne aber an, falls diese besser geeignet sein könnte.
TOOL-AUSWAHL NACH PHASE:
- Datensammlung: Imaging, Acquisition, Remote Collection Tools
- Auswertung: Parsing, Extraction, Initial Analysis Tools
- Analyse: Deep Analysis, Correlation, Visualization Tools
- Berichterstattung: Documentation, Visualization, Presentation Tools (z.B. QGIS für Geodaten, Timeline-Tools)
${phaseDescriptions}
ANTWORT-FORMAT (strict JSON):
{
@@ -140,7 +142,7 @@ ANTWORT-FORMAT (strict JSON):
{
"name": "EXAKTER Name aus der Database",
"priority": "high|medium|low",
"phase": "data-collection|examination|analysis|reporting",
"phase": "${toolsData.phases.filter((p: any) => p.id !== 'collaboration-general').map((p: any) => p.id).join('|')}",
"justification": "Warum dieses Tool für diese Phase und Szenario geeignet ist"
}
],