Dokumentation / personal-rag

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

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.