Zurück zu den Projekten

FileGPT.dev

Privates Dokumenten-Vault: Dateien hochladen, sofort zitierfähige Antworten. RAG-Chat mit Hybrid-Suche, Konversationsgedächtnis und Supabase-gestützten Vektoren.

Eine Privacy-first Alternative zu allgemeinen KI-Tools für sensible interne Dokumente.

FileGPT.dev app preview
Chat-Oberfläche mit Dokumenten-Upload und Quellenangaben.

FileGPT.dev ist ein privater Dokumententresor, der interne Dateien in ein zitierfähiges Wissens-Erlebnis verwandelt. Nutzer laden PDFs und Office-Dokumente hoch und fragen sie in einem Chat ab — Antworten streamen und zeigen explizite Quellen-Badges. Mit aktivierter Authentifizierung isoliert Supabase Mandantendaten durchgängig. Die Ingestion-Pipeline extrahiert, chunkt und embeddet Inhalte in Postgres über die pgvector-Erweiterung; das Retrieval kombiniert Vektorsuche mit Absicherungen und Observability (Audit-Logs und Usage Events). Die Codebasis entstand aus einer früheren internen Iteration (erkennbar an einigen Migrationsnamen); das ausgelieferte Produkt erscheint ausschließlich unter der Marke FileGPT.dev.

Branchenstudien deuten darauf hin, dass Knowledge Worker rund 12 Stunden pro Woche mit der Suche nach Informationen verlieren — FileGPT.dev macht daraus Sekunden.

Architektur

Funktionen

  • Quellen-First Chat — Streaming-Antworten mit expliziten Badges wie [Source: file.pdf, Page N], die UI rendert daraus Source-Chips.
  • Guarded Hybrid Retrieval — Gemini-Embeddings mit Vektorsuche in Supabase (pgvector) plus Keyword-Fallback bei Bedarf für exakte Begriffe.
  • Konversationsgedächtnis — verdichtet jüngere Nachrichten zu einer eigenständigen Abfrage, damit Follow-ups Kontext behalten.
  • Ingestion mit Lifecycle — Dokumente: PROCESSING → COMPLETE/FAILED mit Chunk-Anzahl; unterstützt PDF/TXT/MD/DOCX/XLSX.
  • Enterprise Controls — optionale Auth + Multi-Tenancy, RBAC (VIEWER), Rate Limiting, Audit-Logs, Usage Events und API-Muster für produktive Nutzung.

Enterprise-Anforderungen (Checkliste)

  • Datenschutz: Dokumente werden nicht zum Training öffentlicher Modelle genutzt; Mandantendaten bleiben in Supabase strikt getrennt.
  • Quellenangaben: Jede Antwort nennt das Ursprungsdokument (und die Seite, wenn verfügbar).
  • Authentifizierung + Zugriff: optionales Sign-in, Rollenrechte (Admin/Editor/Viewer).
  • Nachvollziehbarkeit: Audit-Logs (wer hat wann was abgefragt) und Usage Events für Kostenmonitoring.
  • Integration: Upload- und Abfrage-Flows über authentifizierte API-Routen.

Security & Betrieb

  • Multi-Tenancy: Zeilenbasierte Datenabschirmung in Postgres und privater Objektspeicher verhindern mandantenübergreifenden Zugriff.
  • Guardrails: Rate Limiting gegen Missbrauch und Kosten; Query-Embedding-Cache reduziert redundante Embedding-Aufrufe.
  • Deployment-ready: Vercel-taugliches Next.js-15-Setup mit serverlosen API-Routen und umgebungsbasierter Konfiguration.
  • Observability: strukturierte Logs, Tracing-Anbindung und persistierte Usage Events für Tuning und Budgets.

Tech-Stack

  • Next.js 15 (App Router), TypeScript, Tailwind CSS — UI und Routen
  • Vercel AI SDK — Streaming-Chat und KI-Primitive
  • Google Gemini — Chat, Verdichtung und gemini-embedding-001-Vektoren (768 Dimensionen, abgestimmt auf pgvector)
  • Supabase — Auth, privater Dateispeicher, PostgreSQL mit pgvector für Chunks und Ähnlichkeitssuche

Dokumenten-Erfassungspipeline

  1. Dokument anlegen (PROCESSING), aus dem Speicher einlesen, dann COMPLETE (mit Chunk-Anzahl) oder FAILED setzen.
  2. Extraktion nach Typ: PDF (pdf-parse + optional Vision-Zusammenfassung für kleinere PDFs), DOCX (Mammoth), XLSX (Sheet → CSV-Text), TXT/MD (UTF-8).
  3. Chunking: feste Fenster oder semantisch satzbasiert — je nach Konfiguration.
  4. Embedding mit Gemini, Speicherung der Vektoren in pgvector mit Metadaten (Dateiname, Dokument-ID, Nutzerkontext, Snippets) für die Retrieval-Stufe.