Personal RAG – Dokumentation
Personal RAG ist eine kleine persönliche Wissensdatenbank. Texte und strukturierte Fakten werden lokal in SQLite gespeichert und über das Model Context Protocol (MCP) bereitgestellt. Die Volltextsuche verwendet SQLite FTS5; externe Dienste, Embeddings und eine Weboberfläche sind nicht erforderlich.
Links
Downloads
| Plattform | Architektur | Download | | --- | --- | --- | | Windows | AMD64 | ZIP | | Windows | ARM64 | ZIP | | Linux | AMD64 | ZIP | | Linux | ARM64 | ZIP | | macOS | Intel/AMD64 | ZIP | | macOS | Apple Silicon/ARM64 | ZIP |
Nach dem Entpacken muss die Binary unter Linux und macOS gegebenenfalls ausführbar gemacht werden:
chmod +x personal-rag-linux-amd64
Stdio-Modus
Stdio ist der Standardtransport und benötigt keine Authentifizierung:
./personal-rag-linux-amd64 --db-path /var/lib/personal-rag
Der Prozess kommuniziert über stdin/stdout mit dem MCP-Client und sollte nicht interaktiv im Terminal bedient werden.
HTTP-Modus
Streamable HTTP wird mit --http aktiviert. Im HTTP-Modus ist ein Token zwingend:
export PERSONAL_RAG_AUTH_TOKEN='ein-langes-zufälliges-token'
./personal-rag-linux-amd64 --http 127.0.0.1:8080 --db-path /var/lib/personal-rag
Clients senden das Token vorzugsweise als Header:
Authorization: Bearer ein-langes-zufälliges-token
Alternativ akzeptiert der Server für Clients ohne konfigurierbare Header den Pfad
/token=<token>. Diese Variante ist weniger sicher, da URLs in Proxy- und
Zugriffslogs erscheinen können. TLS und Reverse Proxy werden extern betrieben.
Datenbank
--db-path bezeichnet das Verzeichnis für knowledge.db. Fehlt das Verzeichnis,
wird es angelegt. Ohne Parameter wird das aktuelle Arbeitsverzeichnis verwendet.
Die ältere Variable PERSONAL_RAG_DB, die einen vollständigen Dateipfad enthält,
bleibt kompatibel.
Für eine Sicherung sollte der Dienst beendet und anschließend knowledge.db
zusammen mit eventuell vorhandenen Dateien knowledge.db-wal und
knowledge.db-shm kopiert werden. Bestehende Datenbanken werden beim Start nicht
geleert oder neu angelegt.
MCP-Werkzeuge
knowledge_add_text: Text mit Titel, Quelle und Tags speichernknowledge_add_fact: strukturierten Fakt speichernknowledge_search: Texte und Fakten über FTS5 durchsuchenknowledge_update: Titel, Inhalt oder Tags eines Texteintrags ändernknowledge_delete: Text oder Fakt anhand seiner ID löschenknowledge_stats: Anzahl der Einträge und Datenbankpfad anzeigen
Beim Hinzufügen eines exakt identischen Inhalts wird kein Duplikat erzeugt. Das
Werkzeug liefert stattdessen die vorhandene ID und already_exists: true zurück.
Aus dem Quellcode bauen
Voraussetzung ist Go 1.24 oder neuer. Das Repository kann direkt geklont werden:
git clone https://zanvex.de/git/personal-rag.git
cd personal-rag
go test ./...
Unter Windows oder PowerShell 7 erzeugt das Buildskript alle unterstützten Release-Archive:
.\build.ps1
Die ZIP-Dateien werden unter dist/ abgelegt.
Lizenz
Personal RAG steht unter der MIT-Lizenz.