# PDF Umbenenner – vollstaendiges Konfigurationsbeispiel (V2.0) # # Diese Datei zeigt alle unterstuetzten Konfigurationsparameter mit realistischen # Windows-Pfaden und erklaerenden Kommentaren. # # Fuer den produktiven Einsatz: Datei nach config/application.properties kopieren # und Werte anpassen. Der headless Batch-Betrieb liest standardmaessig # config/application.properties relativ zum Arbeitsverzeichnis. # # Die GUI schlaegt beim "Speichern unter" denselben Pfad vor. # --------------------------------------------------------------------------- # Pfade # --------------------------------------------------------------------------- # Quellordner: Ordner, aus dem OCR-verarbeitete PDF-Dateien gelesen werden. # Der Ordner muss vorhanden und lesbar sein. # Beispiel: gemapptes Netzlaufwerk (wird ausdruecklich unterstuetzt) source.folder=S:\\Eingang # Zielordner: Ordner, in den die umbenannten Kopien abgelegt werden. # Wird automatisch angelegt, wenn er noch nicht existiert (Schreibzugriff erforderlich). target.folder=S:\\Archiv # SQLite-Datenbankdatei fuer Bearbeitungsstatus und Versuchshistorie. # Das uebergeordnete Verzeichnis muss vorhanden sein. sqlite.file=S:\\Archiv\\pdf-umbenenner.db # Pfad zur externen Prompt-Datei. Der Dateiname dient als Prompt-Identifikator # in der Versuchshistorie und ermoeg licht die Nachvollziehbarkeit der verwendeten # Prompt-Version. Fehlt die Datei, kann die GUI sie automatisch anlegen (deutsche # Standardvorlage). Ein Beispiel der Standardvorlage liegt unter docs/examples/prompt.txt. prompt.template.file=S:\\Archiv\\prompt.txt # --------------------------------------------------------------------------- # Aktiver KI-Provider # --------------------------------------------------------------------------- # Genau ein Provider ist aktiv. Kein automatischer Fallback, keine parallele Nutzung. # Erlaubte Werte: claude, openai-compatible # # Hinweis: Die GUI-Standardvorlage ("Neu") setzt standardmaessig "claude" als aktiven # Provider, weil Claude alphabetisch der erste unterstuetzte Provider ist. ai.provider.active=claude # --------------------------------------------------------------------------- # Provider: Anthropic Claude # --------------------------------------------------------------------------- # Wird verwendet, wenn ai.provider.active=claude gesetzt ist. # Basis-URL des Anthropic-Dienstes (Standard: https://api.anthropic.com) ai.provider.claude.baseUrl=https://api.anthropic.com # Modellname (z. B. claude-3-5-sonnet-20241022) ai.provider.claude.model=claude-3-5-sonnet-20241022 # HTTP-Timeout fuer KI-Anfragen in Sekunden (muss > 0 sein). ai.provider.claude.timeoutSeconds=60 # API-Schluessel fuer Anthropic. # Vorrangreihenfolge: Umgebungsvariable ANTHROPIC_API_KEY > dieser Wert. # Das Feld darf leer bleiben, wenn die Umgebungsvariable gesetzt ist. ai.provider.claude.apiKey= # --------------------------------------------------------------------------- # Provider: OpenAI-kompatibel # --------------------------------------------------------------------------- # Wird verwendet, wenn ai.provider.active=openai-compatible gesetzt ist. # Geeignet fuer OpenAI selbst und jeden API-kompatiblen Drittanbieter. # Basis-URL des KI-Dienstes (ohne Pfadsuffix wie /chat/completions). ai.provider.openai-compatible.baseUrl=https://api.openai.com/v1 # Modellname (z. B. gpt-4o-mini) ai.provider.openai-compatible.model=gpt-4o-mini # HTTP-Timeout fuer KI-Anfragen in Sekunden (muss > 0 sein). ai.provider.openai-compatible.timeoutSeconds=30 # API-Schluessel fuer OpenAI-kompatible Dienste. # Vorrangreihenfolge: OPENAI_COMPATIBLE_API_KEY (Umgebungsvariable) > # PDF_UMBENENNER_API_KEY (veraltete Umgebungsvariable, weiterhin akzeptiert) > # ai.provider.openai-compatible.apiKey (dieser Wert) # Das Feld darf leer bleiben, wenn die Umgebungsvariable gesetzt ist. ai.provider.openai-compatible.apiKey= # --------------------------------------------------------------------------- # Verarbeitungslimits # --------------------------------------------------------------------------- # Maximale Anzahl historisierter transienter Fehlversuche pro Dokument. # Muss eine ganze Zahl >= 1 sein. Wert 0 ist ungueltige Konfiguration. max.retries.transient=3 # Maximale Seitenzahl pro Dokument. Dokumente mit mehr Seiten werden als # deterministischer Inhaltsfehler behandelt (kein KI-Aufruf). max.pages=10 # Maximale Zeichenanzahl des Dokumenttexts, der an die KI gesendet wird. # Werte bis 1000: unkritisch. # Werte 1001-3000: erhoehte KI-Kosten moeglich (Warnung in der GUI). # Werte ab 3001: deutlich erhoehte KI-Kosten moeglich (starke Warnung in der GUI). # Standardvorlage der GUI: 1000. max.text.characters=1000 # Maximale Länge des Basistitels in Zeichen (10..120). Default 60. # Werte unter 10 oder ueber 120 verhindern den Start. # Werte 10-19: Warnung (fuer die meisten Dokumente nicht empfohlen). # Werte 100-120: Warnung (Dateiname wird sehr lang, Kompatibilitaet mit verschluesselten Volumes pruefen). max.title.length=60 # --------------------------------------------------------------------------- # Optionale Parameter # --------------------------------------------------------------------------- # Lock-Datei fuer den Startschutz (verhindert parallele Instanzen). # Ohne Konfiguration: pdf-umbenenner.lock im Arbeitsverzeichnis. runtime.lock.file=S:\\Archiv\\pdf-umbenenner.lock # Log-Verzeichnis. Ohne Konfiguration: ./logs/ im Arbeitsverzeichnis. log.directory=S:\\Archiv\\logs # Log-Level (DEBUG, INFO, WARN, ERROR). Standard: INFO. log.level=INFO # Sensible KI-Inhalte (vollstaendige Rohantwort und Reasoning) ins Log schreiben. # Erlaubte Werte: true oder false. Standard: false (geschuetzt). # Die KI-Rohantwort wird unabhaengig davon immer in der SQLite-Datenbank gespeichert. log.ai.sensitive=false