Skip to content

AIDocSynth liest Dokumente (direkt + OCR), analysiert Inhalte mithilfe von KI und legt jede Datei – PDF, Bild oder Office-Dokument – deterministisch in einem passenden Ordner ab. Versionierung sowie reichhaltige Metadaten sind integriert.

License

Notifications You must be signed in to change notification settings

tobit0101/AIDocSynth

Repository files navigation

AIDocSynth

Intelligente Dokumenten‑Assistentin für Ordnung ohne Aufwand Intelligente Dateibenennung & ‑sortierung – Automatisiert – Plattform‑unabhängig – Open Source

Hero‑Bild – AIDocSynth in Aktion


Warum AIDocSynth?

Sammeln sich bei dir PDF‑Rechnungen, gescannte Belege oder Office‑Dateien an und du verlierst den Überblick? AIDocSynth ist dein digitaler Assistent, der Dokumente nicht nur liest und versteht, sondern sie vor allem intelligent benennt und einsortiert. Basierend auf fest definierten Regeln, aber flexibel an deine bestehende Ordnerstruktur, sorgt die KI für perfekte Ordnung – automatisch per Drag‑&‑Drop.

  • Zeit sparen: Keine manuelle Ablage mehr.
  • Alles wiederfinden: Dank KI-basierter, konsistenter Benennung und intelligenter Sortierung in deine Ordnerstruktur.
  • Lokale Kontrolle: Läuft komplett auf deinem Rechner – sensibel bleibt privat.
  • Offen & erweiterbar: Python‑Code, MIT‑Lizenz, Community‑Add‑ons willkommen!

„Ich schiebe nur noch die PDFs in das Feld – Sekunden später ist alles sortiert.“Beta‑Tester


Kern‑Features

Für alle Für Entwickler
🖱️ Einfaches Drag‑&‑Drop in die App Modularer Pipeline‑Aufbau (Services, Provider, UI)
🔎 OCR erkennt Text selbst in Scans LLM‑Abstraktionsschicht (OpenAI, Azure, Ollama u.v.m.)
🤖 Intelligente Benennung & Sortierung: KI wählt Zielordner & Dateiname und erkennt deine Struktur Pydantic‑Modelle für strikte Datenvalidierung
🏷️ Metadaten werden ins Dokument zurückgeschrieben pytest‑Test‑Suite & Smoke‑Tests
📂 Automatische Backups & Versions‑Handling PyInstaller‑Spec für 1‑Klick‑Builds

Schnellstart (für Nicht‑Techniker)

# 1. Download:  Release‑ZIP oder Installer aus dem GitHub‑Reiter »Releases«
# 2. Entpacken / Installieren  →  AIDocSynth starten
# 3. PDF‑ oder Bild‑Dateien auf das Fenster ziehen … fertig! ✨

Wichtiger Hinweis für macOS & Windows: Da AIDocSynth noch nicht digital signiert ist, können Gatekeeper (macOS) oder SmartScreen (Windows) beim ersten Start eine Warnung anzeigen.

  • macOS: Mache einen Rechtsklick auf die AIDocSynth-App und wähle "Öffnen". Bestätige im nächsten Dialog erneut "Öffnen". Alternativ kannst du die App in Systemeinstellungen → Datenschutz & Sicherheit unter "Sicherheit" manuell erlauben.
    Mehr Infos: App auf dem Mac sicher öffnen
  • Windows: Klicke in der SmartScreen-Warnung auf "Weitere Informationen" und dann auf "Trotzdem ausführen".
    Mehr Infos: Windows-Programm trotzdem ausführen

Keine Python‑Kenntnisse nötig. Für Offline‑KI empfiehlt sich ein lokaler Ollama‑Server (optional) – die App funktioniert aber auch ohne.

Lokale KI mit Ollama nutzen

  1. Ollama installieren
    • macOS: brew install ollama
    • Windows / Linux: Installer von ollama.com

  2. Server starten – einfach ollama serve ausführen.
    Die Standard-Adresse http://localhost:11434 wird von AIDocSynth automatisch erkannt.

  3. Modell herunterladen (einmalig):

    ollama pull mistral-small3.1

    Wir empfehlen mistral-small 3.1 (ca. 15 GB) – schnell, sparsam und präzise.

  4. In AIDocSynth auswählen:
    Menü Einstellungen → LLM-Provider öffnen, »Ollama« wählen und als Model Name mistral-small3.1 eingeben.

Beim ersten Lauf wird das Modell heruntergeladen; danach arbeitet AIDocSynth komplett offline.


Entwickler‑Setup

# Klonen
git clone https://github.com/tobit0101/AIDocSynth.git && cd AIDocSynth

# Virtuelle Umgebung
python -m venv .venv && source .venv/bin/activate  # Windows: .venv\Scripts\activate

# Abhängigkeiten
pip install -r requirements.txt

# Dev‑Start (Hot‑Reload via `pytest -q`)
python -m aidocsynth.app

Ordnerstruktur (Kurz‑Überblick)

AIDocSynth/
├─ aidocsynth/           # Hauptpaket
│  ├─ controllers/       # MVC‑Controller (UI‑Logik, Pipeline)
│  ├─ models/            # Pydantic‑ & Dataclasses
│  ├─ services/          # Funktionale Bausteine (OCR, LLM, File‑Ops …)
│  ├─ ui/                # Qt‑Designer .ui oder Python‑Views
│  └─ app.py             # Entry‑Point (Qt‑Application)
├─ tests/                # pytest Smoke‑ & Unit‑Tests
└─ build/                # PyInstaller‑Spec & Ressourcen

Architektur‑Überblick

  1. DropArea → MainController — nimmt Pfade entgegen, legt Job an.
  2. Worker Thread führt asynchrone Pipeline aus: Backup → Text‑Extraktion (direkt + OCR) → LLM‑Klassifizierung → Sortierung.
  3. Provider‑Layer abstrahiert OpenAI, Azure OpenAI, Ollama etc.
  4. JobTableModel aktualisiert UI in Echtzeit (Qt signals).

Roadmap

  • MVP mit OpenAI‑Workflow & Basis‑GUI
  • Job History mit Aktiv/Abgeschlossen Prozessen
  • Wizard für Ersteinrichtung (API‑Keys, Ordnerwahl)
  • Automatische Überwachung eines »Eingang«‑Ordners
  • Mehrsprachige UI (i18n)
  • Plug‑in‑System für Custom‑Prompts & Metadaten‑Schemas

Du hast Ideen? → Issues eröffnen oder Pull Request schicken!


Contributing

  1. Fork das Repo und erstelle einen Branch (feature/xyz).
  2. Halte dich an Conventional Commits & Projekt‑Linting.
  3. Führe pytest aus – alle Tests müssen grün sein.
  4. Öffne einen Pull Request – wir freuen uns! 💚

Sicherheit & Privatsphäre

  • On‑Device OCR (doctr) → keine Cloud‑Uploads nötig.
  • LLM Provider frei wählbar – verwende lokale Modelle für maximale DSGVO‑Konformität.
  • Open Source ⇢ voll einsehbar & auditierbar.

Lizenz

AIDocSynth steht unter der MIT‑Lizenz. Siehe LICENSE für Details.


Kontakt & Community

Made with ♥ in Baden‑Württemberg

About

AIDocSynth liest Dokumente (direkt + OCR), analysiert Inhalte mithilfe von KI und legt jede Datei – PDF, Bild oder Office-Dokument – deterministisch in einem passenden Ordner ab. Versionierung sowie reichhaltige Metadaten sind integriert.

Topics

Resources

License

Stars

Watchers

Forks