Einstellungen: Vorauswahl für KI-Generierung (Dokumente + Anlagen)
Zwei neue, pro Benutzer gespeicherte Konfigurationswerte: GEN_DOKUMENTE_DEFAULT (Standard: Anschreiben + Lebenslauf) und GEN_ANLAGEN_DEFAULT (Standard: keine). Sie belegen die Häkchen auf der Bewerbungsseite vor; eine bereits getroffene Dokumentenauswahl der Bewerbung gewinnt weiterhin. Die REST-API nutzt die Vorauswahl, wenn dokumente/anlagen im Body fehlen. Die Einstellungsseite kennt dafür jetzt Checkbox-Gruppen, deren Optionen auch erst zur Renderzeit feststehen dürfen (die eigenen Anlagen). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+43
-1
@@ -26,6 +26,12 @@ const DEFAULTS = {
|
||||
OLLAMA_MODEL: 'glm-5.2:cloud',
|
||||
OLLAMA_HOST: 'https://ollama.com',
|
||||
OLLAMA_TIMEOUT_MS: '300000',
|
||||
// Which documents are preselected when a generation is started (comma separated,
|
||||
// see DOKUMENT_TYPEN in lib/documents.js). Empty means both.
|
||||
GEN_DOKUMENTE_DEFAULT: 'anschreiben,lebenslauf',
|
||||
// Which static attachments (basis_anhaenge IDs, comma separated) are preselected.
|
||||
// Empty = none, which is the default.
|
||||
GEN_ANLAGEN_DEFAULT: '',
|
||||
// E-Mail (SMTP submission + IMAP receive).
|
||||
MAIL_HOST: '',
|
||||
MAIL_SMTP_PORT: '587',
|
||||
@@ -57,6 +63,32 @@ const FIELDS = [
|
||||
{ key: 'OLLAMA_TIMEOUT_MS', label: 'Timeout (ms)', help: 'Standard: 300000 (5 Min.)' },
|
||||
],
|
||||
},
|
||||
{
|
||||
titel: 'Bewerbungsunterlagen (Vorauswahl)',
|
||||
beschreibung: 'Was ist auf der Bewerbungsseite vorab angehakt, wenn die KI-Generierung gestartet wird? Pro Bewerbung lässt sich die Auswahl weiterhin ändern; die zuletzt gewählten Dokumente bleiben an der jeweiligen Bewerbung erhalten.',
|
||||
items: [
|
||||
{
|
||||
key: 'GEN_DOKUMENTE_DEFAULT',
|
||||
label: 'Standardmäßig generieren',
|
||||
type: 'checkboxes',
|
||||
options: [
|
||||
{ value: 'anschreiben', label: 'Anschreiben' },
|
||||
{ value: 'lebenslauf', label: 'Lebenslauf' },
|
||||
],
|
||||
help: 'Standard: beides. Die E-Mail-Begleitnachricht wird immer erzeugt. Ohne Häkchen gilt wieder beides.',
|
||||
},
|
||||
{
|
||||
key: 'GEN_ANLAGEN_DEFAULT',
|
||||
label: 'Standardmäßig beigelegte Anlagen',
|
||||
type: 'checkboxes',
|
||||
// Auswahlmöglichkeiten sind die eigenen Anlagen aus „Vorlagen“ und stehen
|
||||
// erst zur Renderzeit fest — die Route reicht sie unter diesem Namen hinein.
|
||||
optionsFrom: 'anlagen',
|
||||
leerHinweis: 'Noch keine Anlagen hinterlegt – unter „Vorlagen“ kannst du Zeugnisse & Co. hochladen.',
|
||||
help: 'Standard: keine. Angehakte Anlagen werden bei jeder Generierung vorausgewählt und im Anschreiben unter „Anlagen“ aufgeführt.',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
titel: 'E-Mail (SMTP-Versand + IMAP-Empfang)',
|
||||
beschreibung: 'Versand läuft über den eigenen Mailserver (DKIM/SPF/DMARC-Alignment). Ohne Host/Benutzer/Passwort ist der E-Mail-Teil deaktiviert. Pro Benutzer eigenes Postfach.',
|
||||
@@ -159,6 +191,16 @@ function getAll() {
|
||||
return out;
|
||||
}
|
||||
|
||||
// The current user's preselected static attachments (GEN_ANLAGEN_DEFAULT) as
|
||||
// basis_anhaenge IDs. Deleted attachments may linger in the list; callers match
|
||||
// them against the existing rows, so stale IDs simply never hit.
|
||||
function anlagenDefaultIds() {
|
||||
return String(get('GEN_ANLAGEN_DEFAULT') || '')
|
||||
.split(',')
|
||||
.map((v) => parseInt(v, 10))
|
||||
.filter((n) => !Number.isNaN(n));
|
||||
}
|
||||
|
||||
// Ollama bundle (shared by lib/documents.js + lib/chat.js), for the current user.
|
||||
function ollama() {
|
||||
return {
|
||||
@@ -213,5 +255,5 @@ async function setForUser(userId, key, value) {
|
||||
|
||||
module.exports = {
|
||||
DEFAULTS, FIELDS, PREFIX,
|
||||
get, getAll, ollama, init, saveAll, setForUser, ensureLoaded, invalidate,
|
||||
get, getAll, ollama, anlagenDefaultIds, init, saveAll, setForUser, ensureLoaded, invalidate,
|
||||
};
|
||||
Reference in New Issue
Block a user