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 Befehl | Bedeutung und Standard | Beispiel |
|---|---|---|
-h, --help | Zeigt 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.
| Parameter | Bedeutung und Standard | Beispiel |
|---|---|---|
--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-existing | Ruft auch bereits vorhandene Sitzungen erneut ab. | --refresh-existing |
--quiet | Reduziert die laufende Konsolenausgabe. | --quiet |
--no-download-docs | Liest 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-runs | Schließt veraltete Laufmarkierungen vor dem Start; standardmäßig aktiv. | --close-stale-runs |
--keep-stale-runs | Behä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.
| Parameter | Bedeutung und Standard | Beispiel |
|---|---|---|
--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-data | Liest variable Sitzungsdaten erneut ein; standardmäßig aktiv. | --refresh-variable-data |
--skip-variable-refresh | Überspringt bereits vorhandene Sitzungen beim Sitzungsscrape. | --skip-variable-refresh |
--crawl-until-stable | Wiederholt den öffentlichen Crawl bis keine neuen Einträge entstehen; Standard. | --crawl-until-stable |
--single-public-crawl | Führt höchstens eine öffentliche Crawl-Runde aus. | --single-public-crawl |
--run-public-crawl | Aktiviert 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-links | Prü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-links | Beschränkt die Linkprüfung auf problematische Einträge. | --only-problematic-links |
--quiet | Reduziert die Konsolenausgabe. | --quiet |
--no-download-docs | Lä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-runs | Schließt veraltete Laufmarkierungen; Standard. | --close-stale-runs |
--keep-stale-runs | Behä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.
| Parameter | Bedeutung und Standard | Beispiel |
|---|---|---|
--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 |
--quiet | Reduziert die laufende Ausgabe. | --quiet |
--no-download-docs | Aktualisiert 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.
| Parameter | Bedeutung und Standard | Beispiel |
|---|---|---|
--project-root <Ordner> | Projekt- und Datenordner. | --project-root "D:\Buergerportal" |
--scope due | Nur planmäßig fällige Sitzungen; Standard. | --scope due |
--scope recent | Sitzungen aus dem mit --days bestimmten Rückblick. | --scope recent --days 90 |
--scope all | Alle 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 |
--quiet | Reduzierte Ausgabe. | --quiet |
--no-download-docs | PDF-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-runs | Veraltete Laufmarkierungen schließen; Standard. | --close-stale-runs |
--keep-stale-runs | Veraltete 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.
| Parameter | Bedeutung und Standard | Beispiel |
|---|---|---|
--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-mandants | Vervollstä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.
| Parameter | Bedeutung und Standard | Beispiel |
|---|---|---|
--project-root <Ordner> | Projekt- und Datenordner mit Datenbank, PDF-Bestand und Berichten. | --project-root "D:\Buergerportal" |
--force | Prü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
| Befehl | Bedeutung | Vollständiges Beispiel |
|---|---|---|
status | Gibt den aktuellen Daten- und Laufstatus als JSON aus. | BuergerportalTiefenscanCLI.exe status --project-root "D:\Buergerportal" |
maintain | Startet die vorgesehene Datenbankwartung nach einem beendeten Scan. | BuergerportalTiefenscanCLI.exe maintain --project-root "D:\Buergerportal" |
reports | Aktualisiert 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.
| Parameter | Bedeutung und Standard | Beispiel |
|---|---|---|
--project-root <Ordner> | Projekt- und Datenordner mit dem bereits aufgebauten PDF-Bestand. | --project-root "D:\Buergerportal" |
--force | Ordnet 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.
| Parameter | Bedeutung und Standard | Beispiel |
|---|---|---|
--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-browser | Startet 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
| Parameter | Bedeutung und Standard | Beispiel |
|---|---|---|
--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 |
--quiet | Nur reduzierte Statusausgabe. | --quiet |
--refresh-existing | Ruft 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.
| Parameter | Bedeutung und Standard | Beispiel |
|---|---|---|
--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]
| Parameter | Bedeutung und Standard | Beispiel |
|---|---|---|
-h, --help | Zeigt 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 |
--search | Aktiviert 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-seeds | Prüft die hinterlegten Ausgangsquellen nicht. | --no-seeds |
--dry-run | Prüflauf ohne dauerhafte Speicherung neuer Rechercheergebnisse. | --dry-run --limit-people 5 |
--report-only | Erzeugt 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.