CLI-Befehle und Parameter

Die Installation enthält zwei Kommandozeilenprogramme: eines für Datenabruf und Wartung, eines für die zusätzliche Mandatsträger-Recherche.

Wichtig: Setzen Sie den Projektordner ausdrücklich. Alle Beispiele verwenden D:\Buergerportal. Pfade mit Leerzeichen müssen in Anführungszeichen stehen.

BuergerportalTiefenscanCLI.exe

Grundform: zuerst der Befehl, danach dessen Parameter. continue und new sind technische Alternativnamen für deep-scan und verwenden exakt dieselben Parameter.

BuergerportalTiefenscanCLI.exe <Befehl> --project-root "D:\Buergerportal" [weitere Parameter]
Parameter oder BefehlBedeutung und StandardBeispiel
-h, --helpZeigt die Hilfe des Hauptprogramms oder eines Unterbefehls.BuergerportalTiefenscanCLI.exe deep-scan --help
--project-root <Ordner>Ordner für Datenbank, Dokumente, Cache, Protokolle und Berichte. Ohne Angabe wird BUERGERPORTAL_HOME oder der EXE-Ordner verwendet.--project-root "D:\Buergerportal"
guiÖffnet den grafischen Tiefenscan-Manager.BuergerportalTiefenscanCLI.exe gui --project-root "D:\Buergerportal"

Erstabruf: bootstrap

bootstrap baut den ersten lokalen Bestand aus der mitgelieferten oder einer eigenen Liste öffentlicher Sitzungsadressen auf. Bereits abgeschlossene Sitzungen werden bei einer Fortsetzung nicht unnötig wiederholt.

Zeitbedarf: Der erste vollständige Download kann je nach Internetverbindung, Antwortzeit des öffentlichen Servers und Plattengeschwindigkeit auch länger als einen Tag dauern. Lassen Sie den Rechner dafür am besten eingeschaltet. Ein abgebrochener Lauf kann später mit demselben Befehl fortgesetzt werden.

ParameterBedeutung und StandardBeispiel
--project-root <Ordner>Zielordner des lokalen Bestandes.--project-root "D:\Buergerportal"
--seed-file <Datei>Eigene CSV- oder TXT-Liste mit öffentlichen Sitzungsadressen. Leer bedeutet mitgelieferte Standardliste.--seed-file "D:\Listen\sitzungen.csv"
--delay <Sekunden>Pause zwischen Webabrufen; Standard 0.1.--delay 0.5
--status-every <Sekunden>Zeitabstand der zusammenfassenden Statusmeldung; Standard 10.--status-every 30
--progress-every <Anzahl>Fortschrittsmeldung nach jeweils N Sitzungen; Standard 25.--progress-every 50
--limit-sessions <Anzahl>Begrenzt den Lauf für Tests. 0 bedeutet alle Sitzungen.--limit-sessions 10
--refresh-existingRuft auch bereits vorhandene Sitzungen erneut ab.--refresh-existing
--quietReduziert die laufende Konsolenausgabe.--quiet
--no-download-docsLiest Sitzungsdaten, lädt PDF-Dateien aber nicht lokal herunter.--no-download-docs
--download-mandant <Name>Lädt PDFs nur für den genannten Mandanten. Der Parameter kann für mehrere Mandanten wiederholt werden.--download-mandant "Gemeinde Nebel" --download-mandant "Gemeinde Norddorf auf Amrum"
--close-stale-runsSchließt veraltete Laufmarkierungen vor dem Start; standardmäßig aktiv.--close-stale-runs
--keep-stale-runsBehält alte Laufmarkierungen unverändert.--keep-stale-runs

Vollständiges Beispiel

BuergerportalTiefenscanCLI.exe bootstrap --project-root "D:\Buergerportal" --delay 0.2 --status-every 30 --progress-every 50

Umfassender Tiefenscan: deep-scan

Der Tiefenscan liest variable Sitzungsdaten, öffentliche Linkräume, Personenmitgliedschaften, historische Wahlperioden und auf Wunsch Links erneut ein. Er ist deutlich umfangreicher als ein Nachscan.

ParameterBedeutung und StandardBeispiel
--project-root <Ordner>Projekt- und Datenordner.--project-root "D:\Buergerportal"
--years <Bereich>auto, ein Jahr oder von:bis. Standard auto, derzeit 2003 bis Folgejahr.--years 2018:2027
--months <Monate>all oder kommagetrennte Monatsnummern; Standard all.--months 1,2,3,4
--delay <Sekunden>Pause zwischen HTTP-Abrufen; Standard 0.1.--delay 0.5
--status-every <Sekunden>Statusintervall; Standard 10.--status-every 60
--progress-every <Anzahl>Fortschritt beim Sitzungs- und Linkabruf; Standard 100.--progress-every 250
--crawl-progress-every <Anzahl>Fortschritt beim öffentlichen Crawl; Standard 50.--crawl-progress-every 100
--max-crawl-rounds <Anzahl>Maximale Runden bis zum stabilen Linkbestand; Standard 20.--max-crawl-rounds 8
--link-batch <Anzahl>Zahl der Links je Prüfrunde; Standard 500.--link-batch 1000
--refresh-variable-dataLiest variable Sitzungsdaten erneut ein; standardmäßig aktiv.--refresh-variable-data
--skip-variable-refreshÜberspringt bereits vorhandene Sitzungen beim Sitzungsscrape.--skip-variable-refresh
--crawl-until-stableWiederholt den öffentlichen Crawl bis keine neuen Einträge entstehen; Standard.--crawl-until-stable
--single-public-crawlFührt höchstens eine öffentliche Crawl-Runde aus.--single-public-crawl
--run-public-crawlAktiviert den öffentlichen Crawl; standardmäßig aktiv.--single-public-crawl --run-public-crawl
--skip-public-crawlÜberspringt den öffentlichen Crawl. Zusammen mit --single-public-crawl verwenden, weil der stabile Crawl sonst Vorrang hat.--single-public-crawl --skip-public-crawl
--check-all-unchecked-linksPrüft alle noch ungeprüften Links batchweise; standardmäßig aktiv.--check-all-unchecked-links
--skip-link-checkÜberspringt die Linkprüfung vollständig.--skip-link-check
--only-problematic-linksBeschränkt die Linkprüfung auf problematische Einträge.--only-problematic-links
--quietReduziert die Konsolenausgabe.--quiet
--no-download-docsLädt keine PDF-Dateien neu herunter.--no-download-docs
--download-mandant <Name>Lädt PDFs nur für den genannten Mandanten. Mehrfach verwendbar.--download-mandant "Stadt Wyk auf Föhr"
--close-stale-runsSchließt veraltete Laufmarkierungen; Standard.--close-stale-runs
--keep-stale-runsBehält veraltete Laufmarkierungen.--keep-stale-runs

Vollständiges Beispiel

BuergerportalTiefenscanCLI.exe deep-scan --project-root "D:\Buergerportal" --years 2018:2027 --months all --delay 0.2 --max-crawl-rounds 10 --link-batch 500

Vorscan zukünftiger Sitzungen: prescan

prescan prüft die Kalender bis Ende des Folgejahres und liest alle bekannten sowie neu veröffentlichten zukünftigen Sitzungen erneut. Dadurch erscheinen auch Vorlagen und Anhänge, die erst nach der ersten Veröffentlichung ergänzt wurden.

ParameterBedeutung und StandardBeispiel
--project-root <Ordner>Projekt- und Datenordner.--project-root "D:\Buergerportal"
--delay <Sekunden>Pause zwischen Webabrufen; Standard 0.1.--delay 0.25
--progress-every <Anzahl>Fortschrittsmeldung nach N Sitzungen; Standard 25.--progress-every 10
--quietReduziert die laufende Ausgabe.--quiet
--no-download-docsAktualisiert Sitzung und Dokumentzuordnungen, lädt PDF-Dateien aber nicht lokal herunter.--no-download-docs
--download-mandant <Name>Lädt neu gefundene PDFs nur für den genannten Mandanten. Mehrfach verwendbar.--download-mandant "Gemeinde Nebel"

Vollständiges Beispiel

BuergerportalTiefenscanCLI.exe prescan --project-root "D:\Buergerportal" --delay 0.2 --progress-every 10

Nachscan: rescan

Der Nachscan führt zunächst den vollständigen Vorscan aller zukünftigen Sitzungen aus und aktualisiert anschließend eine gewählte Gruppe bereits bekannter vergangener Sitzungen.

ParameterBedeutung und StandardBeispiel
--project-root <Ordner>Projekt- und Datenordner.--project-root "D:\Buergerportal"
--scope dueNur planmäßig fällige Sitzungen; Standard.--scope due
--scope recentSitzungen aus dem mit --days bestimmten Rückblick.--scope recent --days 90
--scope allAlle bekannten Sitzungen nachscannen.--scope all --limit 0
--days <Anzahl>Rückblick für recent; Standard 56 Tage.--days 120
--limit <Anzahl>Höchstens N Sitzungen; Standard 200, 0 bedeutet unbegrenzt.--limit 500
--delay <Sekunden>Abrufpause; Standard 0.1.--delay 0.25
--status-every <Sekunden>Statusintervall; Standard 10.--status-every 30
--progress-every <Anzahl>Fortschrittsmeldung nach N Sitzungen; Standard 100.--progress-every 50
--quietReduzierte Ausgabe.--quiet
--no-download-docsPDF-Dateien nicht herunterladen.--no-download-docs
--download-mandant <Name>Lädt PDFs nur für den genannten Mandanten. Mehrfach verwendbar.--download-mandant "Gemeinde Nebel"
--close-stale-runsVeraltete Laufmarkierungen schließen; Standard.--close-stale-runs
--keep-stale-runsVeraltete Laufmarkierungen behalten.--keep-stale-runs

Vollständiges Beispiel

BuergerportalTiefenscanCLI.exe rescan --project-root "D:\Buergerportal" --scope recent --days 90 --limit 500 --delay 0.2

Fehlende PDFs laden: download-documents

Dieser Befehl ergänzt fehlende PDF-Dateien aus bereits bekannten Dokumentverweisen. Er kann einen, mehrere oder alle Mandanten vervollständigen. Bereits lokal vorhandene Dateien werden nicht erneut geladen. Nach einem erfolgreichen Lauf werden standardmäßig die davon abhängigen lokalen Fach- und Logikauswertungen aktualisiert.

ParameterBedeutung und StandardBeispiel
--project-root <Ordner>Projekt- und Datenordner.--project-root "D:\Buergerportal"
--mandant <Name>Vervollständigt den genannten Mandanten. Für mehrere Mandanten wiederholen.--mandant "Gemeinde Nebel" --mandant "Gemeinde Norddorf auf Amrum"
--all-mandantsVervollständigt alle bekannten Mandanten. Nicht zusammen mit einer eingeschränkten Auswahl verwenden.--all-mandants
--delay <Sekunden>Pause zwischen Dokumentabrufen; Standard 0.1.--delay 0.25
--skip-analysisÜberspringt die anschließende Aktualisierung der bestandsabhängigen Auswertungen.--skip-analysis

Zwei Mandanten vervollständigen

BuergerportalTiefenscanCLI.exe download-documents --project-root "D:\Buergerportal" --mandant "Gemeinde Nebel" --mandant "Gemeinde Norddorf auf Amrum" --delay 0.2

Gesamten Dokumentbestand aufbauen

BuergerportalTiefenscanCLI.exe download-documents --project-root "D:\Buergerportal" --all-mandants --delay 0.2

PDF-Texte prüfen: normalize-ocr

Dieser lokale, fortsetzbare Lauf verbindet echte Worttrennungen am PDF-Zeilenende mit dem deutschen LibreOffice-Wörterbuch und quellenbezogenen Schutzregeln. Beginnt die Folgezeile mit einem Großbuchstaben, bleibt der Bindestrich immer erhalten und nur der Zeilenumbruch entfällt, etwa Nord-\nFriesland zu Nord-Friesland. Der Originaltext bleibt erhalten. Anschließend werden Abstimmungen, Fristen, logische Prüfhilfen und interne, bewusst nicht aus der Anwendung verlinkte Prüftabellen aktualisiert.

ParameterBedeutung und StandardBeispiel
--project-root <Ordner>Projekt- und Datenordner mit Datenbank, PDF-Bestand und Berichten.--project-root "D:\Buergerportal"
--forcePrüft auch PDF-Texte erneut, die bereits mit genau derselben Wörterbuch- und Profilversion bearbeitet wurden. Ohne diesen Schalter werden sie übersprungen.--force
--limit <Anzahl>Begrenzt die Prüfung für eine Stichprobe auf die ersten N PDF-Texte. 0 bedeutet den gesamten Bestand.--limit 100
--skip-analysisÜberspringt nach der Textnormalisierung die erneute Abstimmungs-, Fristen- und Logikprüfung. Das eignet sich nur für eine technische Stichprobe.--limit 100 --skip-analysis

Gesamten Bestand fortsetzen

BuergerportalTiefenscanCLI.exe normalize-ocr --project-root "D:\Buergerportal"

Technische 100er-Stichprobe

BuergerportalTiefenscanCLI.exe normalize-ocr --project-root "D:\Buergerportal" --limit 100 --skip-analysis

Status, Wartung und Berichte

BefehlBedeutungVollständiges Beispiel
statusGibt den aktuellen Daten- und Laufstatus als JSON aus.BuergerportalTiefenscanCLI.exe status --project-root "D:\Buergerportal"
maintainStartet die vorgesehene Datenbankwartung nach einem beendeten Scan.BuergerportalTiefenscanCLI.exe maintain --project-root "D:\Buergerportal"
reportsAktualisiert die stabilen Berichte und die Scanstand-Grafik.BuergerportalTiefenscanCLI.exe reports --project-root "D:\Buergerportal"

Fachregister aktualisieren: classify-documents

Ordnet lokale PDF-Dokumente inkrementell den Registern Bebauungspläne, Haushalt / Finanzen und Satzungen samt Unterart und erkennbarem Verfahrensstand zu. Bei Bauleitplanungen werden außerdem zusammengehörige Dokumente zu einer Verfahrensakte gruppiert. Anschließend aktualisiert der Befehl die vollständig lokalen, regelbasierten Bewertungen: Entwicklung und Bestandsabdeckung von Bebauungsplänen, belastbare Rechenbeziehungen und verständliche Zusammenfassungen von Haushalten sowie Struktur und Fassungsstand von Satzungen. Unveränderte Dokumente und Bewertungen werden anhand gespeicherter Quellfingerabdrücke übersprungen; manuelle Zuordnungen bleiben erhalten. Es wird keine Online-KI aufgerufen.

ParameterBedeutung und StandardBeispiel
--project-root <Ordner>Projekt- und Datenordner mit dem bereits aufgebauten PDF-Bestand.--project-root "D:\Buergerportal"
--forceOrdnet auch unveränderte PDF-Dokumente erneut ein und berechnet sämtliche Fachbewertungen neu. Ohne diesen Schalter werden nur neue oder inhaltlich geänderte Quellen bearbeitet.--force

Nur neue und geänderte Dokumente einordnen

BuergerportalTiefenscanCLI.exe classify-documents --project-root "D:\Buergerportal"

Gesamten Bestand neu einordnen

BuergerportalTiefenscanCLI.exe classify-documents --project-root "D:\Buergerportal" --force

Interne Prüftabellen: internal-reports

Öffnet die bewusst nicht aus der normalen Anwendung verlinkte Übersicht auf einem lokalen Hintergrundserver. Nur über diesen lokalen Server können die Haken für OCR-Ausnahmen unmittelbar und dauerhaft in der Datenbank gespeichert werden. Der Dienst bindet ausschließlich an 127.0.0.1 und ist nicht aus dem Internet erreichbar.

ParameterBedeutung und StandardBeispiel
--project-root <Ordner>Projekt- und Datenordner, dessen interne Berichte geöffnet werden.--project-root "D:\Buergerportal"
--port <Nummer>Lokaler TCP-Port. 0 wählt automatisch einen freien Port.--port 8766
--no-browserStartet den lokalen Dienst, öffnet die Übersicht aber nicht automatisch im Browser.--no-browser

Übersicht automatisch öffnen

BuergerportalTiefenscanCLI.exe internal-reports --project-root "D:\Buergerportal" --port 8766

Nur den lokalen Dienst starten

BuergerportalTiefenscanCLI.exe internal-reports --project-root "D:\Buergerportal" --port 8766 --no-browser

Historische Mandatsträger: historical-memberships

ParameterBedeutung und StandardBeispiel
--project-root <Ordner>Projekt- und Datenordner.--project-root "D:\Buergerportal"
--period <Wahlperiode>Nur eine Wahlperiode, als Bezeichnung oder SessionNet-ID. Leer bedeutet alle.--period 2023-2028
--limit <Anzahl>Maximale Personenzahl für Tests; 0 bedeutet alle.--limit 25
--delay <Sekunden>Abrufpause; Standard 0.1.--delay 0.3
--progress-every <Anzahl>Fortschrittsmeldung nach N Seiten; Standard 50.--progress-every 100
--quietNur reduzierte Statusausgabe.--quiet
--refresh-existingRuft bereits gespeicherte historische Seiten erneut ab.--refresh-existing

Vollständiges Beispiel

BuergerportalTiefenscanCLI.exe historical-memberships --project-root "D:\Buergerportal" --period 2023-2028 --delay 0.2 --refresh-existing

Lokaler Webserver: serve

Stellt die lokale Rechercheoberfläche im eigenen Rechner oder bewusst gewählten lokalen Netz bereit. Die Voreinstellung bindet ausschließlich an diesen Rechner.

ParameterBedeutung und StandardBeispiel
--project-root <Ordner>Projekt- und Datenordner.--project-root "D:\Buergerportal"
--host <Adresse>Bindeadresse; Standard 127.0.0.1, also nur der eigene Rechner.--host 127.0.0.1
--port <Nummer>TCP-Port; Standard 8765.--port 9000

Vollständiges Beispiel

BuergerportalTiefenscanCLI.exe serve --project-root "D:\Buergerportal" --host 127.0.0.1 --port 8765

Danach im Browser http://127.0.0.1:8765/ öffnen. Mit Strg+C wird der Server beendet.

BuergerportalRechercheCLI.exe

Dieses Programm erzeugt aus dem lokalen Mandatsträgerbestand einen gesonderten Recherchebericht. Websuche wird nur mit --search aktiviert. Google wird ausschließlich über die offizielle Custom Search JSON API angesprochen.

BuergerportalRechercheCLI.exe [Parameter]
ParameterBedeutung und StandardBeispiel
-h, --helpZeigt alle Parameter der Recherche-CLI.BuergerportalRechercheCLI.exe --help
--db <Datei>Pfad zur SQLite-Datenbank; Standard ist data\buergerportal.sqlite beim Programmordner.--db "D:\Buergerportal\data\buergerportal.sqlite"
--seed-file <Datei>Textdatei mit vertrauenswürdigen Ausgangsquellen.--seed-file "D:\Buergerportal\config\mandatstraeger_recherche_quellen.txt"
--snippet-file <Datei>JSON-Datei mit bereits belegten Suchtreffer-Auszügen.--snippet-file "D:\Buergerportal\config\mandatstraeger_recherche_suchtreffer.json"
--html <Datei>Ziel des HTML-Berichts.--html "D:\Buergerportal\reports\recherche.html"
--csv <Datei>Ziel des CSV-Exports.--csv "D:\Buergerportal\reports\recherche.csv"
--json <Datei>Ziel des JSON-Exports.--json "D:\Buergerportal\reports\recherche.json"
--limit-people <Anzahl>Personenzahl für Tests begrenzen; 0 bedeutet alle.--limit-people 20
--delay <Sekunden>Pause zwischen Webabrufen; Standard 1.0.--delay 2.0
--searchAktiviert zusätzlich die Suche über die gewählten Provider.--search
--providers <Liste>Kommagetrennt bing und optional google; Standard bing.--providers "bing,google"
--google-api-key <Schlüssel>API-Schlüssel der Google Custom Search JSON API.--google-api-key "DEIN_API_SCHLUESSEL"
--google-cse-id <ID>Kennung der Google Custom Search Engine, auch cx genannt.--google-cse-id "DEINE_CSE_ID"
--max-search-results <Anzahl>Maximale Treffer je Suchabfrage; Standard 4.--max-search-results 8
--max-queries-per-person <Anzahl>Maximale Suchabfragen je Person; Standard 14.--max-queries-per-person 6
--no-seedsPrüft die hinterlegten Ausgangsquellen nicht.--no-seeds
--dry-runPrüflauf ohne dauerhafte Speicherung neuer Rechercheergebnisse.--dry-run --limit-people 5
--report-onlyErzeugt die Ausgabedateien nur aus bereits gespeicherten Treffern.--report-only

Bericht aus vorhandenem Bestand

BuergerportalRechercheCLI.exe --db "D:\Buergerportal\data\buergerportal.sqlite" --report-only --html "D:\Buergerportal\reports\recherche.html" --csv "D:\Buergerportal\reports\recherche.csv" --json "D:\Buergerportal\reports\recherche.json"

Internetrecherche mit Bing

BuergerportalRechercheCLI.exe --db "D:\Buergerportal\data\buergerportal.sqlite" --search --providers bing --delay 2 --max-search-results 4 --max-queries-per-person 6

Abbruch, Protokolle und parallele Läufe

Ein sichtbarer CLI-Lauf kann mit Strg+C abgebrochen werden. Erstabruf, Nachscan und Tiefenscan schreiben ihre ausführlichen Protokolle in den Ordner logs des Projektordners. Ein späterer Start kann vorhandene Ergebnisse weiterverwenden.

Starten Sie keine zwei schreibenden Scanläufe gleichzeitig für denselben Projektordner. Die Anwendung besitzt dafür eine Projektsperre und lehnt einen tatsächlich parallelen Lauf ab.