BACR Website-Dokumentation

Umfassende Dokumentation für Website-Inhalte basierend auf der BACR-Anwendung

02

Erste Schritte

Überblick

BACR (Bot Assistant with Contextual Retrieval) ist ein hochentwickelter KI-Chat-Assistent, der fortschrittliche Dokumentenverarbeitung, intelligentes Query-Routing und persistenten Speicher kombiniert. Gebaut mit Python, Flet, LangGraph und FAISS bietet BACR eine leistungsstarke Desktop-KI-Assistenten-Erfahrung mit lokalen Dokumentenverständnisfähigkeiten.

Hauptmerkmale:

  • 🤖 Multi-Modell-KI-Routing mit automatischer Query-Klassifizierung
  • 📚 Hybrides RAG-System mit Vektorsuche und KI-Neuordnung
  • 💾 Sitzungsübergreifender Speicher, der aus Ihren Gesprächen lernt
  • 🎨 Moderne Desktop-GUI mit Theme-Unterstützung
  • 🔐 Sichere Google OAuth-Authentifizierung
  • 📊 Echtzeit-Token-Nutzung und Kostenverfolgung

Warum BACR?

Für Entwickler:

  • Lokale Dokumentenverarbeitung ohne Senden von Dateien an externe APIs
  • Intelligentes code-bewusstes Routing für Programmierfragen
  • Multi-Format-Unterstützung (PDF, DOCX, TXT, MD und mehr)
  • Persistenter Gesprächsverlauf über Sitzungen hinweg

Für Forscher:

  • Fortgeschrittenes RAG mit Jina AI-Neuordnung für genaues Dokumentenabrufen
  • Zitationsverfolgung - nur zitierte Quellen werden angezeigt
  • Sitzungsübergreifender Speicher zum Aufbau von Wissen im Laufe der Zeit
  • Gespräche als PDF für Dokumentation exportieren

Für Teams:

  • Benutzerisolierte Datenbanken für Datenschutz
  • Server-verwaltete API-Schlüssel für einfache Bereitstellung
  • Zero Data Retention (ZDR)-Modus für datenschutzbewusste Benutzer
  • Kostenverfolgung pro Abfrage für Budgetverwaltung

Funktionen

KI & Intelligenz

  • Zweistufiges intelligentes Routing: Abfragen werden automatisch klassifiziert und zum optimalen Modell geleitet
    • Stufe 1: Dateiverwaltung → RAG (Dokumentensuche) → Direktes LLM
    • Stufe 2: Codierung → Reasoning → Chat → Forschung
  • Modellintegration: Zugriff auf über 200 KI-Modelle einschließlich GPT-4, Claude, Gemini, DeepSeek und mehr
  • Echtzeit-Streaming: Token-für-Token-Antworten mit Live-Statusaktualisierungen
  • Kostenverfolgung: Überwachen Sie Token-Nutzung und Kosten pro Abfrage mit detaillierten Aufschlüsselungen
  • Modellmodi: Wechseln Sie zwischen ZDR und Nicht-ZDR

Dokumentenverarbeitung (RAG)

  • Hybride Suche: Kombiniert Vektorähnlichkeit mit Jina AI-Neuordnung
  • Lokale Einbettungen: Verwendet ein lokales Einbettungs-GGUF-Modell - keine API-Aufrufe für Einbettungen
  • Intelligente Filterung: Relevanzschwelle entfernt automatisch irrelevante Chunks
  • Intelligente Zitate: LLM zitiert Quellen als (Doc 1), (Doc 2); nur zitierte Quellen werden angezeigt
  • Persistenter Speicher: Benutzerspezifische FAISS-Indizes gespeichert in ~/.bacr/user_databases/
  • Multi-Format-Unterstützung: PDF, TXT, MD, DOCX, XLSX, PPTX, RTF, CSV, JSON, YAML und mehr

Speicher & Kontext

  • Sitzungsübergreifender Speicher: LangMem semantischer Speicher, der über alle Gespräche hinweg bestehen bleibt
  • Benutzerspezifische Datenbanken: Isolierte SQLite-Datenbanken pro Benutzer für Datenschutz
  • Persistenter Verlauf: Alle Gespräche gespeichert und durchsuchbar
  • Kontextbewusst: Jede Sitzung behält unabhängigen Kontext mit Dateiverfolgung bei

Benutzeroberfläche

  • Moderne Flet-GUI: Saubere, responsive Desktop-Oberfläche gebaut mit Flutter
  • Theme-Unterstützung: Helle, dunkle und System-Themes (bleibt über Neustarts bestehen)
  • Tabbed Sessions: Mehrere unabhängige Gespräche mit einfachem Wechsel
  • Schriftgrößensteuerung: Einstellbare Textgröße mit visuellen Steuerelementen
  • Statusleiste: Echtzeit-Dateianzahl, Token-Nutzung und Kreditguthaben
  • Exportmodus: Wählen und exportieren Sie bestimmte Nachrichten als PDF

Authentifizierung & Sicherheit

  • Google OAuth: Sichere Anmeldung mit Auto-Login-Unterstützung über Refresh-Tokens
  • Profilbilder: Bei jeder Anmeldung frisch von Google abgerufen
  • Benutzerisolierung: Alle Daten nach Benutzerkonto getrennt
  • Datenschutz: Benutzerdaten sind isoliert

Architektur

BACR ist mit einer modularen Architektur gebaut, die Belange trennt und einfache Wartung ermöglicht:

Frontend-Schicht:

  • Flet-basierte GUI mit reaktiven Komponenten
  • Google OAuth-Integration für Authentifizierung
  • Echtzeit-Statusaktualisierungen und Streaming-Antworten
  • Theme- und Präferenzverwaltung

Kernschicht:

  • LangGraph-basiertes Gesprächsmanagement
  • Zweistufiges intelligentes Routing-System
  • Hybrides RAG mit Vektorsuche und Neuordnung
  • Sitzungsübergreifender Speicher mit LangMem

Backend-Schicht:

  • Server-API-Client für Authentifizierung und API-Schlüsselverwaltung
  • Modellmanager mit ZDR/Nicht-ZDR-Moduswechsel
  • Multi-Modell-Zugriff
  • Token-Nutzungsverfolgung und Kostenberechnung

Speicherschicht:

  • Benutzerspezifische SQLite-Datenbanken
  • FAISS-Vektorindizes für Dokumenteneinbettungen
  • Lokales Dateisystem für Dokumenten-Caching
03

Installation

Anforderungen

Systemanforderungen:

  • Betriebssystem: Windows 10/11, Linux (Ubuntu 20.04+, Fedora, Arch), macOS 11+
  • Python: 3.9 oder höher
  • RAM: 4GB Minimum, 8GB empfohlen
  • Festplattenspeicher: 2GB für Anwendung und Abhängigkeiten
  • Internet: Erforderlich für Authentifizierung und API-Zugriff

Windows

Linux

MacOS

Nicht verfügbar

04

CLI-Referenz

Befehle

BACR bietet einen umfassenden Satz von Slash-Befehlen zur Verwaltung von Dateien, Sitzungen und Gesprächen.

Dateiverwaltung

/add <filepath>

  • Fügen Sie ein Dokument zum RAG-System für Kontext hinzu
  • Unterstützt: PDF, TXT, MD, DOCX, XLSX, PPTX, RTF, CSV, JSON, YAML
  • Beispiel: /add C:\Documents\report.pdf
  • Erstellt Einbettungen und indiziert Dokument für Suche

/remove <filename>

  • Entfernen Sie eine bestimmte Datei aus dem RAG-System
  • Beispiel: /remove report.pdf
  • Entfernt Einbettungen und gibt Speicher frei

/files

  • Listen Sie alle Dateien auf, die sich derzeit im RAG-System befinden
  • Zeigt Dateinamen und Chunk-Anzahl
  • Zeigt Gesamtkontextgröße

/clear

  • Entfernen Sie alle Dateien aus dem RAG-System
  • Löscht alle Dokumenteneinbettungen
  • Löscht nicht den Chat-Verlauf

Sitzungsverwaltung

/new-chat oder Strg+N

  • Starten Sie ein neues Gespräch in einem neuen Tab
  • Erstellt unabhängigen Kontext
  • Vorherige Sitzungen bleiben zugänglich

/close-tab oder Strg+W

  • Schließen Sie den aktuellen Gesprächs-Tab
  • Speichert Gespräch in Datenbank
  • Kann letzten Tab nicht schließen

/list-chats

  • Zeigen Sie alle gespeicherten Gespräche an
  • Zeigt Sitzungsnamen und Zeitstempel
  • Zeigt Nachrichtenanzahl

/load-chat <name_or_id>

  • Laden Sie ein Gespräch in den aktuellen Tab
  • Ersetzt aktuelles Gespräch
  • Beispiel: /load-chat Project Discussion

/open-chat <name_or_id>

  • Öffnen Sie ein Gespräch in einem neuen Tab
  • Behält aktuelles Gespräch bei
  • Beispiel: /open-chat Meeting Notes

/rename-chat <new_name>

  • Benennen Sie das aktuelle Gespräch um
  • Beispiel: /rename-chat Q1 Planning
  • Kann temporäre Sitzungen nicht umbenennen

/delete-chat <name_or_id>

  • Löschen Sie ein gespeichertes Gespräch dauerhaft
  • Beispiel: /delete-chat Old Notes
  • Kann nicht rückgängig gemacht werden

Chat-Verlauf

/clear-chat oder /clear

  • Löschen Sie den Chat-Verlauf für aktuelles Gespräch
  • Entfernt alle Nachrichten aus Anzeige und Status
  • Löscht nicht gespeichertes Gespräch
  • Dateien bleiben im Kontext

/export-chat

  • Exportieren Sie aktuelles Gespräch in eine Datei
  • Speichert als zeitgestempelte Textdatei
  • Enthält alle Nachrichten und Metadaten
  • Speicherort: ~/.bacr/exports/

/import-chat <filepath>

  • Importieren Sie ein Gespräch aus einer Datei
  • Unterstützt TXT- und PDF-Formate
  • Fügt zum aktuellen Gespräch hinzu
  • Beispiel: /import-chat notes.txt

Dienstprogramme

/tokens

  • Zeigen Sie Token-Nutzung für aktuelles Gespräch
  • Zeigt Eingabe-, Ausgabe- und Gesamt-Tokens
  • Zeigt geschätzte Kosten
  • Aggregiert über alle Sitzungen

/find <query>

  • Suchen Sie über den gesamten Gesprächsverlauf
  • Öffnet Suchoberfläche
  • Hebt übereinstimmende Nachrichten hervor
  • Beispiel: /find API documentation

/help

  • Öffnet Hilfeseite im Browser
  • Zeigt alle verfügbaren Befehle
  • Enthält Beispiele und Beschreibungen

/quit

  • Schließen Sie die Anwendung
  • Speichert alle Gespräche
  • Löscht API-Schlüssel aus dem Speicher

Konfiguration

Theme-Umschaltung

  • Klicken Sie auf Theme-Symbol in der oberen Leiste
  • Wechselt zwischen hell/dunkel
  • Präferenz bleibt über Neustarts bestehen

Schriftgröße

  • Klicken Sie auf Schriftgrößen-Schaltflächen in der oberen Leiste
  • Passt Textgröße für alle Nachrichten an
  • Bereich: 12px bis 20px

ZDR-Modus-Umschaltung

  • Klicken Sie auf ZDR-Umschaltung in Einstellungen
  • Wechselt zwischen kostenlosen und Premium-Modellen
  • Löscht Modell-Cache beim Wechsel

Shell-Befehle

BACR unterstützt gängige Shell-Befehle zur Dateisystemnavigation:

cd <directory>

  • Aktuelles Arbeitsverzeichnis ändern
  • Beispiel: cd Documents
  • Beeinflusst Dateioperationen

ls oder dir

  • Dateien im aktuellen Verzeichnis auflisten
  • Zeigt Dateinamen und Größen

pwd

  • Arbeitsverzeichnis drucken
  • Zeigt aktuellen Pfad

cat <file>

  • Dateiinhalt anzeigen
  • Beispiel: cat notes.txt

mkdir <directory>

  • Neues Verzeichnis erstellen
  • Beispiel: mkdir projects

rm <file>

  • Datei entfernen (mit Vorsicht verwenden)
  • Beispiel: rm temp.txt

cp <source> <dest>

  • Datei kopieren
  • Beispiel: cp file.txt backup.txt

mv <source> <dest>

  • Datei verschieben oder umbenennen
  • Beispiel: mv old.txt new.txt

usw.

Verwendungsbeispiele

Basis-Chat:

Benutzer: Was ist maschinelles Lernen?
BACR: [Streamt Antwort mit Echtzeit-Status]

Dokumentenverarbeitung:

Benutzer: /add C:\Reports\Q4_Analysis.pdf
BACR: ✔︎ Q4_Analysis.pdf erfolgreich hinzugefügt (45 Chunks)

Benutzer: Was waren die wichtigsten Erkenntnisse in Q4?
BACR: Laut der Q4-Analyse (Doc 1) waren die wichtigsten Erkenntnisse...

Quellen:
• Q4_Analysis.pdf

Multi-Session-Workflow:

Benutzer: /new-chat
Benutzer: /add project_spec.md
Benutzer: Erkläre den Authentifizierungsablauf
BACR: [Bietet detaillierte Erklärung mit Zitaten]

Benutzer: /rename-chat Auth Documentation
Benutzer: /export-chat
BACR: ✔︎ Exportiert nach ~/.bacr/exports/Auth_Documentation_2026-03-07.txt

Verlauf durchsuchen:

Benutzer: /find API endpoints
BACR: [Öffnet Suchoberfläche mit 12 Treffern über 3 Gespräche]
05

API-Referenz

Authentifizierung

BACR verwendet Google OAuth 2.0 für Benutzerauthentifizierung und serverbasierte API-Schlüsselverwaltung.

RAG-System

Das RAG-System (Retrieval-Augmented Generation) kombiniert Vektorsuche, Schlüsselwortsuche und Neuordnung.

Sicherheit

Datenspeicherung:

  • Refresh-Tokens: Windows-Registrierung (verschlüsselt)
  • Gespräche: Lokales SQLite (benutzerspezifisch)
  • Dokumente: Lokale FAISS-Indizes (benutzerspezifisch)
  • Präferenzen: Windows-Registrierung (verschlüsselt)

Datenübertragung:

  • Alle API-Aufrufe verwenden HTTPS
  • Google OAuth verwendet PKCE-Flow
  • JWT-Tokens laufen nach 24 Stunden ab
  • Refresh-Tokens laufen nach 30 Tagen ab

Datenschutz:

  • Benutzerdaten nach Hash isoliert
  • Kein Dokumenteninhalt an Server gesendet
  • Nur Einbettungen lokal gespeichert
  • Token-Nutzung nur für Abrechnung protokolliert

Best Practices:

  • Abmelden, wenn fertig, um API-Schlüssel zu löschen
  • Refresh-Tokens nicht teilen
  • ZDR-Modus für sensible Daten verwenden
  • Wichtige Gespräche regelmäßig exportieren
06

Zusätzliche Ressourcen

Support

Rechtliches

Version: 1.0.0
Zuletzt aktualisiert: 7. März 2026 Dokumentation: https://bacr.app/documentation

Sorgfältig gepflegt von Das BACR-Team