Vor dem Generieren waehlen: Anschreiben, Lebenslauf oder beides
Auf der Bewerbungsseite laesst sich jetzt auswaehlen, welche Unterlagen die KI erzeugt. Standard bleibt beides; die letzte Auswahl wird gemerkt und ist beim naechsten Generieren vorbelegt. Ohne Haken bricht das Formular ab statt still beides zu erzeugen. Nicht gewaehlte Dokumente werden gar nicht erst angefragt: JSON-Schema und Skelett im Prompt werden auf die gewuenschten Teile reduziert, das spart einen Gutteil der Generierungszeit. Gerendert wird ebenfalls nur das Gewaehlte - auch wenn das Modell sich nicht an das Schema haelt und trotzdem alles liefert. Fuer den E-Mail-Versand mitgedacht: - Wird kein Lebenslauf erzeugt, fuehrt ihn das Anschreiben nicht mehr unter "Anlagen" auf. Sonst kuendigt der Brief eine Anlage an, die nie mitgeht. - Der Prompt bekommt zusaetzlich die Liste der Dateien, die der Bewerbungsmail tatsaechlich anhaengen (inkl. Anschreiben selbst), damit der Begleittext keine Unterlagen nennt, die nicht dabei sind. - Die Anhang-Checkboxen im Mailformular ziehen sich aus den erzeugten Anhaengen, greifen also automatisch. Die REST-API kennt das Feld ebenfalls (POST .../generate, "dokumente"), inkl. OpenAPI-Doku. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+7
-2
@@ -10,6 +10,7 @@ const path = require('path');
|
||||
const fs = require('fs');
|
||||
const blacklist = require('./blacklist');
|
||||
const { LABEL_OPTIONS, parseLabels, serializeLabels } = require('./labels');
|
||||
const { normalizeDokumente } = require('./documents');
|
||||
|
||||
// Replace the stored labels JSON string with a real array on outgoing rows.
|
||||
function withLabels(row) {
|
||||
@@ -410,8 +411,12 @@ function createExternalApi(deps) {
|
||||
const anlagenIds = Array.isArray((req.body || {}).anlagen)
|
||||
? req.body.anlagen.map((v) => parseInt(v, 10)).filter((n) => !Number.isNaN(n))
|
||||
: [];
|
||||
runGeneration(id, { anlagenIds });
|
||||
res.status(202).json({ success: true });
|
||||
// Optional: which documents to produce (["anschreiben"], ["lebenslauf"] or
|
||||
// both). Omitted / empty means both.
|
||||
const dokumente = normalizeDokumente((req.body || {}).dokumente);
|
||||
await dbRun('UPDATE bewerbungen SET generierung_dokumente = ? WHERE id = ?', [dokumente.join(','), id]);
|
||||
runGeneration(id, { anlagenIds, dokumente });
|
||||
res.status(202).json({ success: true, dokumente });
|
||||
} catch (error) {
|
||||
console.error('API generate error:', error);
|
||||
res.status(500).json({ error: 'Serverfehler' });
|
||||
|
||||
Reference in New Issue
Block a user