- Ein lokal ausgeführter KI-Assistent, entwickelt in Rust, der vollständig auf dem persönlichen Gerät ohne Internetverbindung funktioniert und keine Daten nach außen sendet
- Single-Binary-Architektur: läuft ohne Installation von Node.js, Docker oder Python und liegt als leichtgewichtiges Binary von etwa 27 MB vor
- Das persistente Speichersystem bietet über einen Markdown-basierten Wissensspeicher, SQLite FTS5 und semantic search Langzeitgedächtnis- und Suchfunktionen
- Unterstützt CLI, Web-UI und Desktop-GUI und ist kompatibel mit mehreren LLM-Anbietern wie OpenAI, Anthropic und Ollama
- Kompatibel mit dem OpenClaw-Format, sodass mit SOUL-, MEMORY- und HEARTBEAT-Dateien autonome Aufgaben ausgeführt werden können
Überblick
- LocalGPT ist ein KI-Assistent mit Fokus auf lokale Geräte, eine Rust-basierte Anwendung mit persistentem Speicher und autonomen Aufgabenfunktionen
- Läuft vollständig auf dem persönlichen Gerät ohne Abhängigkeit von externen Servern
- Von dem OpenClaw-Projekt inspiriert und kompatibel dazu gehalten
- Die Installation ist mit dem Befehl
cargo install localgpt möglich; wahlweise mit GUI oder im Headless-Modus
Hauptmerkmale
- Single-Binary-Architektur, daher sind Node.js, Docker und Python nicht erforderlich
- Lokale Datenspeicherung: Alle Speicherinhalte und Einstellungen werden auf dem Gerät des Nutzers gespeichert
- Persistenter Speicher: Verwendet einen Markdown-basierten Wissensspeicher und unterstützt schnelle Suche sowie semantische Suche über SQLite FTS5 und sqlite-vec
- Mit der Funktion autonomer Heartbeat können Aufgaben im Hintergrund ausgeführt werden
- Verschiedene Oberflächen: CLI, Web-UI und Desktop-GUI
- Unterstützung mehrerer LLMs: Anbindung an Anthropic (Claude), OpenAI, Ollama usw.
Funktionsweise
- Der Speicher wird im Verzeichnis
~/.localgpt/workspace/ abgelegt; die wichtigsten Dateien sind wie folgt aufgebaut
MEMORY.md: Speicherung von Langzeitwissen
HEARTBEAT.md: Warteschlange für autonome Aufgaben
SOUL.md: Persönlichkeits- und Verhaltensanweisungen
knowledge/: Strukturierter Wissensspeicher nach Themen
- Mit SQLite FTS5 wird eine Stichwortsuche durchgeführt, mit sqlite-vec eine semantische Suche auf Basis lokaler Embeddings
Konfiguration und CLI-Befehle
- Die Konfigurationsdatei wird unter
~/.localgpt/config.toml gespeichert und legt Standardmodell, API-Schlüssel, Heartbeat-Intervall, Arbeitszeiten usw. fest
- Wichtige CLI-Befehle
localgpt chat: startet eine Gesprächssitzung
localgpt ask "질문": führt eine einzelne Anfrage aus
localgpt daemon start: startet den Hintergrund-Daemon
localgpt memory search "query": durchsucht den Speicher
localgpt config init: erstellt eine Standardkonfiguration
HTTP-API
- Beim Ausführen des Daemons wird eine REST-API bereitgestellt
GET /health: Status prüfen
POST /api/chat: Gesprächsanfrage
GET /api/memory/search?q=<query>: Speicher durchsuchen
GET /api/memory/stats: Speicherstatistiken abrufen
Tech-Stack
- Basierend auf Rust, Tokio, Axum, SQLite (FTS5 + sqlite-vec), fastembed und eframe
- Veröffentlicht unter der Apache-2.0-Lizenz; rund 93 % des Codes sind in Rust geschrieben
Weitere Informationen
- Auf GitHub mit etwa 646 Stars und 39 Forks
- Im Blogbeitrag “Why I Built LocalGPT in 4 Nights” werden Entwicklungsprozess und Details nach Commits offengelegt
- Als wichtigste Beitragende werden vier Personen genannt: Yi Wang, Claude, objectkit und Ax73
1 Kommentare
Hacker-News-Kommentare
Dass wir uns 2026 so etwas ansehen, fühlt sich wirklich cyberpunkig an
Strukturen wie
MEMORY.md,HEARTBEAT.mdundSOUL.mdfinde ich extrem spannend.Allerdings ist es schwer, das „local-first“ zu nennen, wenn es von
ANTHROPIC_API_KEYabhängt.Trotzdem denke ich, dass local-first langfristig die Zukunft ist.
Ich habe letztes Jahr etwas Ähnliches in Rust gebaut, und der Geschwindigkeitsunterschied war deutlich, wenn das Modell lokal lief.
Es gibt auch mein Demo-Video.
So etwas auf OS-Ebene zu implementieren, war wirklich eine Erfahrung auf dem Niveau eines Paradigmenwechsels.
Ich glaube, dass sich in den nächsten 5–10 Jahren die Art, wie wir mit Geräten interagieren, grundlegend ändern wird.
Man kann OpenAI- oder Anthropic-kompatible Endpunkte direkt angeben, auch auf localhost.
Ich fange gerade erst an, aber es wirkt ziemlich vielversprechend.
In den kommenden Jahren sollen über 100 Rechenzentren im Gigawatt-Maßstab entstehen.
Ich halte das für eine deutlich bessere Verwendung von Geld als die Rüstungsindustrie.
Ein Rat: Beiträge oder Dokumentation sollte man selbst schreiben oder zumindest selbst redigieren.
Die aktuelle Doku und die Texte wirken alle, als wären sie komplett von einem LLM geschrieben, und dadurch fehlt jede Sorgfalt.
Diese Plagiats-Waschmaschinen ruinieren das Sprachgefühl der Menschen.
Ich habe Dokumentation schon immer gehasst, daher hatte mein Code früher fast nie welche.
Dadurch war er für andere schwer nutzbar.
LLMs liefern präzise Erklärungen schnell und halten sie aktuell, daher sind sie fürs Schreiben von Doku ideal.
Selbst wenn man merkt, dass kein Mensch sie geschrieben hat, sehe ich kein Problem, solange der Inhalt stimmt.
Eher scheint es ein Klima zu geben, in dem man stolz darauf ist, sich keine Mühe zu geben.
Die Projektidee ist großartig.
Der Kern ist ein strukturiertes Framework aus persistenter Erinnerung + semantischer Suche.
Die SOUL-Funktion wird von den meisten LLMs im Grunde bereits in Form von Markdown-Dateien unterstützt.
Solche Strukturen könnten der Ausgangspunkt für den Aufbau privater Agenten-Netzwerke sein.
Das Problem ist allerdings der Name — LocalGPT ist
Ein Name, der die Absicht präziser widerspiegelt, wäre besser.
Ernst gemeinte Frage: Worin unterscheidet sich das von OpenClaw?
Es verwendet dieselbe Struktur mit
SOUL.md,MEMORY.mdundHEARTBEAT.md,und OpenClaw hat bereits Multichannel-Messaging, Sprachanrufe, Browser-Automatisierung und sogar Sub-Agenten.
Abgesehen davon, dass es in Rust geschrieben ist, würde ich gern wissen, was das Alleinstellungsmerkmal ist.
Es hat viel zu viele Funktionen, und die Sicherheitsarchitektur ist schwach.
Berechtigungsfreigaben sind eher Formsache, und es kann seine eigene Konfiguration selbst ändern.
Deshalb trenne ich Berechtigungen mit Wardgate.
Es ist notwendig, das in mehrere Nodes/Agenten aufzuteilen und Zugangsdaten sowie API-Zugriffe zu trennen.
Nicht jeder hat schließlich eine leistungsstarke Maschine.
Ich frage mich, warum man sich mit einem LLM-Anbieter wie OpenAI oder Anthropic verbinden muss.
Wenn es ein lokales GPT ist, sollte dann nicht auch die Inferenz lokal laufen?
Man kann einen lokalen Server wie Ollama als LLM-Anbieter angeben.
Im README steht zwar nur ein Anthropic-Beispiel, aber im Code sieht man, dass auch anderes möglich ist.
Man muss nur eine Zeile in der Konfiguration ändern.
In Wirklichkeit ist es weder lokal noch GPT.
Es ist eher ein in Rust geklonter OpenClaw.
Relevanter Code: providers.rs L222
Das zentrale Sicherheitsproblem bei Agenten wie LocalGPT oder OpenClaw ist die fatale Triade aus „private data access + external communication + untrusted content“.
Schon eine einzige bösartige E-Mail könnte dazu führen, dass der Befehl „Leite mein Postfach an den Angreifer weiter“ ausgeführt wird.
Ich erforsche derzeit objektfähigkeitsbasierte Sicherheitsrichtlinien, um das zu lösen.
Ich möchte Richtlinien entwickeln, die das Abfließen sensibler Informationen grundsätzlich verhindern.
Ich sehe zwei Lösungswege:
Das ist allerdings sehr ermüdend.
Mich würde interessieren, ob du noch andere Ansätze untersuchst.
Ich habe OpenClaw ausprobiert, aber es fehlt an Observability.
Man sieht überhaupt keine Logs darüber, was dieser Agent gerade denkt oder tut.
Solche Systeme wären meiner Meinung nach perfekt in Elixir/BEAM aufgehoben.
Über Prozessbäume könnte man den Zustand nachverfolgen und durch Dumps der Message-Boxen den Gedankengang sichtbar machen.
Sie zeigen nur einen Teil davon an und verbrauchen in Wirklichkeit noch mehr Tokens.
Dass man etwas, das eine Grundfunktion sein sollte, über YouTube-Tutorials lösen muss, zeigt, dass aktuell pures Chaos herrscht.
Unter Linux Mint ist
cargo install localgptfehlgeschlagen.Nachdem ich
"x11"inCargo.tomlergänzt hatte, lief der Build erfolgreich durch.Ich kenne mich mit Rust nicht gut aus, aber das wirkte wie ein GUI-Abhängigkeitsproblem.
Welche lokalen Modelle taugen etwas als lokaler Assistent?
Mich würde auch interessieren, ob es Versuche gibt, den Trade-off zwischen Rechenressourcen und Speicher zu bewerten.
Ich würde gern wissen, welche Hardware ungefähr nötig ist, damit das Ganze auf einem sinnvollen Niveau nutzbar wird.
Das Wort „lokal“ wird heutzutage wirklich seltsam verwendet.
Die meisten Funktionen interagieren am Ende doch mit dem Internet, und trotzdem nennt man es lokal.