KI-Prompts unter Vorlagen editierbar statt hardcoded
Rolle, Tonfall und Regeln der KI (Unterlagen, Chat, E-Mail-Antwort, E-Mail-Absage, gemeinsame Stilregeln) lagen fest im Code. Sie liegen jetzt als Defaults in lib/prompts.js und lassen sich auf der Vorlagen-Seite je Prompt anpassen und wieder zuruecksetzen. Nur die System-Prompts sind editierbar. Die User-Prompts tragen das JSON-Skeleton, gegen das die Antwort geparst wird - ein Tippfehler dort wuerde die Generierung lahmlegen, also bleiben sie im Code. Gespeichert wird nur, was abweicht: ein Override ist eine Zeile in der neuen Tabelle `prompts`, "Zuruecksetzen" loescht sie. Damit bleiben die Defaults im Code die Wahrheit und wandern bei Updates automatisch mit. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+5
-11
@@ -10,6 +10,8 @@
|
||||
// Unlike lib/documents.js, no JSON output schema is enforced — the model just
|
||||
// replies as text, token by token, so the UI can render progressively.
|
||||
|
||||
const promptStore = require('./prompts');
|
||||
|
||||
const OLLAMA_HOST = (process.env.OLLAMA_HOST || 'https://ollama.com').replace(/\/+$/, '');
|
||||
const OLLAMA_MODEL = process.env.OLLAMA_MODEL || 'gpt-oss:120b';
|
||||
const OLLAMA_TIMEOUT_MS = Number(process.env.OLLAMA_TIMEOUT_MS || 300000);
|
||||
@@ -184,17 +186,9 @@ function buildContextPrompt(ctx) {
|
||||
const name = (ctx && ctx.settings && ctx.settings.name) || 'der Bewerber';
|
||||
const heute = (ctx && ctx.heute) || '';
|
||||
const parts = [];
|
||||
parts.push(
|
||||
'Du bist ein hilfreicher, deutschsprachiger Bewerbungs-Assistent für ' + name + '. ' +
|
||||
'Du beantwortest Fragen zu laufenden Bewerbungen, hilfst beim Formulieren von ' +
|
||||
'Antworten, beim Vorbereiten auf Gespräche und beim Überblick über den Status. ' +
|
||||
'Antworte natürlich, knapp und auf Deutsch im lateinischen Alphabet. ' +
|
||||
'Erfinde KEINE Fakten (keine erfundenen Termine, Zahlen, Zusagen, Firmen). ' +
|
||||
'Wenn eine Angabe nötig ist, die du nicht weißt, setze einen klar erkennbaren ' +
|
||||
'Platzhalter in eckigen Klammern. Verwende nur den einfachen Bindestrich "-". ' +
|
||||
'Fasse Stellenbeschreibungen verständlich zusammen, statt sie wörtlich ' +
|
||||
'wiederzugeben, und beziehe sie auf das Profil des Bewerbers.'
|
||||
);
|
||||
// The assistant's role/tone is editable (Vorlagen page); the sections below
|
||||
// describe the runtime wiring (tools, date, profile) and stay in code.
|
||||
parts.push(promptStore.get(ctx && ctx.prompts, 'chat', { name }));
|
||||
parts.push(
|
||||
'# Werkzeuge\n' +
|
||||
'Du hast Werkzeuge, um Bewerbungsdaten nachzuschlagen. Nutze sie, sobald der ' +
|
||||
|
||||
Reference in New Issue
Block a user