DocMind — Technischer Überblick

Veröffentlicht am 2026-09-02 14:45 · von mgpock@live.com

DocMind ist eine selbst gehostete, mandantenfähige Webanwendung auf Basis von PHP und MySQL zur KI-gestützten Verwaltung und Analyse von Dokumenten. Im Zentrum steht eine RAG-Pipeline (Retrieval-Augmented Generation), die Dokumenteninhalte durchsuchbar macht und als Grundlage für einen Frage-Antwort-Chat dient. Die Anwendung läuft unter IIS auf Windows; ein begleitender .NET-Windows-Dienst übernimmt den asynchronen Aufbau und Versand von Dokumenten-Exporten.

1. Dokumentenverwaltung — der Kern

  1. Hochladen, mit Speicherlimit- und Duplikat-Prüfung vor dem eigentlichen Speichern
  2. KI-Analyse jedes Dokuments — Kategorie, Sprache, Zusammenfassung, Schlüsselinformationen, Schlagworte, Lesemethode, Dokumentdatum werden automatisch erkannt
  3. Erneute Analyse möglich, mit Vorschau vor der Übernahme (die neue Analyse wird zwischengespeichert, bis der Nutzer sie ausdrücklich bestätigt — erst dann fließt sie in die eigentliche Version ein)
  4. Versionsverwaltung — jede Änderung an einem Dokument legt eine neue Version an, das Original bleibt erhalten
  5. Manuelle Dokumente — Einträge, die nicht auf einem hochgeladenen Original basieren, sondern direkt von Hand angelegt werden
  6. Textextraktion ohne externe Abhängigkeiten — nur eingebaute PHP-Bordmittel (ZipArchive + reines Text-Parsing). PDFs werden bewusst nicht hier ausgelesen, sondern direkt von der KI gelesen (Text und eingescannte Seiten)

2. KI-gestützte Funktionen

  1. Analyse-Engine — nutzt Claude (intern als "DocMind AI" bezeichnet) für die eigentliche Dokumentenanalyse, mit strukturierter Werkzeug-Ausgabe und nativer PDF-Lesefähigkeit
  2. Frage-Antwort-Chat über die eigenen Dokumente (Retrieval-Augmented Generation) — Textabschnitte werden in Vektoren umgewandelt (OpenAI Embeddings), die eigentliche Antwort formuliert weiterhin Claude
  3. Gespeicherte Chat-Verläufe, ähnlich wie bei Claude.ai — entweder über die ganze Bibliothek hinweg oder an ein bestimmtes Dokument gebunden
  4. Automatische Fristenerkennung — läuft im selben Analyseaufruf wie die normale Dokumentanalyse (kein zweiter, kostenpflichtiger KI-Durchgang), mit einer klaren Regel, welches Datum als Bezugspunkt für relative Fristen ("14 Tage ab Rechnungsdatum") herangezogen wird
  5. Große PDFs werden automatisch in Blöcke aufgeteilt, falls die Datei die Größen-/Seitengrenzen einer einzelnen KI-Anfrage überschreiten würde — ebenfalls ohne externe Werkzeuge wie Imagick oder Ghostscript

3. Dokumente zusammenstellen

  1. PDF-Zusammenfügen-Assistent — baut aus Seiten zweier PDF-Dateien ein neues, eigenständiges PDF in frei wählbarer Reihenfolge, wahlweise als neue Version eines bestehenden Dokuments oder als komplett neues Dokument
  2. Nutzt FPDI (reine PHP-Bibliothek), ebenfalls ohne externe Programme

4. Termine & Kalender

  1. Erkannte Fristen lassen sich als echte Kalendereinladungen verschicken (nicht nur als reine .ics-Datei) — mit Zusagen-/Absagen-Schaltflächen in Outlook, Gmail und Apple Mail, bewusst über eine neutrale Absenderadresse statt der eigenen, damit das Mailprogramm die Einladung nicht fälschlich als selbst angelegten Termin behandelt
  2. Spätere Absage einer bereits verschickten Einladung wird ebenfalls unterstützt (echte Kalender-Rücknahme, kein zweiter Doppeleintrag)

5. Freigaben & Zusammenarbeit

  1. Personenbezogene Freigaben (Lese- oder Bearbeitungsrecht) sowie öffentliche Link-Freigaben (nur Lesen)
  2. Jede Zugriffsentscheidung läuft über eine einzige, zentrale Prüffunktion — keine verstreute Zugriffslogik an verschiedenen Stellen im Code

6. Konto & Sicherheit

  1. Registrierung mit E-Mail-Bestätigung
  2. Zwei-Faktor-Anmeldung (TOTP/Authenticator-App), opt-in je Nutzer
  3. Änderung von E-Mail/Passwort nur nach Bestätigung per zugeschicktem 6-stelligen Code, nichts wird sofort übernommen
  4. Kontolöschung: sofortige, endgültige Löschung nach Passwort- und Code-Bestätigung, mit vorherigem Hinweis und der Möglichkeit, zuerst alle eigenen Dokumente herunterzuladen
  5. API-Schlüssel-Verwaltung — Schlüssel werden nie im Klartext gespeichert (AES-256-GCM-Verschlüsselung mit einem zentralen Master-Schlüssel)

7. Abrechnung & Tarife

  1. Anbindung an Stripe (ein zentrales GeekInfinity-Stripe-Konto, nicht je Kunde ein eigenes)
  2. Tarife komplett datengetrieben — alle Tarifstufen (Name, Limits, Preise) liegen in einer einzigen, über die Admin-Oberfläche editierbaren Einstellung, keine Codeänderung nötig, um einen Tarif hinzuzufügen oder zu ändern
  3. 7-tägige kostenlose Testphase direkt über Stripe abgewickelt (Stripe übernimmt automatisch die Abbuchung am 8. Tag und die Umstellung auf den bezahlten Tarif)
  4. Getrennt davon: eigener Marketing-Text je Tarif und Sprache für die öffentliche Preisseite — bewusst getrennt von den reinen Abrechnungsdaten, da unterschiedliche Zuständigkeiten
  5. Individuelle Ausnahmen je Konto möglich (z. B. für Testkonten)

8. Export & Datenmitnahme

  1. Eigenständiger Dokumenten-Export: Nutzer können jederzeit ein passwortgeschütztes ZIP aller eigenen Dokumente anfordern — wird von einem separaten Windows-Hintergrunddienst gebaut (nicht vom Webserver selbst), Benachrichtigung per E-Mail mit zeitlich begrenztem Downloadlink
  2. Diese Infrastruktur wird auch bei der Kontolöschung mitgenutzt, damit Nutzer ihre Daten vorher sichern können

9. Aktive Hilfe

  1. Zustandsgetriebene Hinweise: Die Anwendung weiß deutlich mehr über den eigenen Zustand eines Nutzers, als standardmäßig sichtbar wäre (z. B. noch nicht durchsuchbare Dokumente, fehlgeschlagene Analysen, Scans ohne erkannten Text, bald erschöpftes Tarifkontingent) — diese Zustände werden gesammelt und als Hinweisliste angezeigt, übersetzt im Browser statt fest im Code hinterlegt

10. Erste Einrichtung

  1. Geführte Erstnutzung, deren Fortschritt als einfacher Datensatz je Nutzer gespeichert wird (kein eigenes Datenbankschema dafür) — kann jederzeit übersprungen oder neu gestartet werden

11. Administration

  1. Eigene Admin-Oberfläche für Nutzerverwaltung, mit eingebauten Schutzmechanismen (ein Admin kann sich selbst nie deaktivieren, sich selbst nie die Admin-Rolle entziehen, und den letzten verbleibenden aktiven Admin nicht entfernen — die Instanz kann sich so nie selbst aussperren)
  2. Verwaltung der Tarife, Marketing-Texte, Hilfetexte und weiterer Systemeinstellungen

12. Rechtliches

  1. Eigene Verwaltung von AGB, Impressum, Datenschutzerklärung, mit Versionierung und protokollierter Zustimmung je Nutzer

Technische Grundprinzipien, durchgängig im ganzen Code

  1. Keine eingebettete SQL — jeder Datenbankzugriff läuft über gespeicherte Prozeduren, nirgends rohes SQL direkt im PHP-Code
  2. Keine externen Programme für PDF-Verarbeitung — durchgängig reine PHP-Bibliotheken (FPDI), kein Imagick, kein Ghostscript, keine Kommandozeilen-Aufrufe
  3. mbstring-Ersatzfunktionen eingebaut, falls diese PHP-Erweiterung auf einem Hosting-Paket einmal nicht verfügbar ist

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.