NanoClaw – ein 500 Zeilen langer, TypeScript-basierter Claude-Assistent, der in der Apple-Container-Isolationsumgebung läuft
(github.com/gavrielc)- NanoClaw ist ein persönlicher, Claude-basierter KI-Assistent, der in Apple-Containern läuft, mit einer leichtgewichtigen Architektur aus einem einzelnen Prozess und nur wenigen Dateien
- Durch Container-Isolation pro Gruppe werden Gesprächsverläufe und Dateisysteme getrennt; unterstützt werden WhatsApp-Messaging, geplante Aufgaben, Webzugriff und mehr
- Ohne Konfigurationsdateien führt Claude Code durch Installation und Anpassung, und Nutzer können den Code direkt ändern und auf ihre Bedürfnisse zuschneiden
- Neue Funktionen werden nicht durch zusätzlichen Code, sondern über „Skill“-Dateien erweitert; vorgeschlagene Erweiterungen sind unter anderem
/add-telegram,/convert-to-dockerusw. - Statt komplexer Frameworks stehen nachvollziehbare Sicherheitsstruktur und Einfachheit im Vordergrund, sodass Einzelentwickler oder Startups sicher KI-Assistenten aufbauen können
Projektüberblick
- NanoClaw ist ein persönlicher Claude-Assistent, der in einer Apple-Container-Umgebung läuft und mit Fokus auf Leichtgewichtigkeit und Sicherheit entwickelt wurde
- Er läuft in einem einzelnen Node.js-Prozess, und jeder Agent nutzt ein innerhalb eines Linux-Containers isoliertes Dateisystem
- Die Codebasis besteht aus etwa 500 Zeilen TypeScript; laut Beschreibung können Nutzer die gesamte Struktur in 8 Minuten verstehen
- Das Projekt ist unter der MIT-Lizenz veröffentlicht und hat auf GitHub mehr als 500 Stars erhalten
Designphilosophie
- Überschaubare Größe: ein einzelner Prozess ohne Microservices, Message Queues oder komplexe Abstraktionen
- Sicherheit durch Isolation: Zugriff ist nur auf explizit gemountete Verzeichnisse möglich, und auch Bash-Befehle werden ausschließlich innerhalb des Containers ausgeführt
- Auf einen einzelnen Nutzer ausgerichtet: keine Framework-Lösung, sondern persönlich anpassbare Software, die sich nach einem Fork direkt ändern lässt
- Code statt Konfiguration: Konfigurationsdateien werden minimiert, gewünschtes Verhalten wird durch Codeänderungen umgesetzt
- AI-native Herangehensweise: Installation, Debugging und Monitoring erfolgen vollständig über die dialogbasierte Oberfläche von Claude Code
- Skill-basierte Erweiterbarkeit: Neue Funktionen werden nicht durch Codeänderungen, sondern über Skill-Dateien im Verzeichnis
.claude/skillsergänzt
Hauptfunktionen
- WhatsApp I/O: Direktes Messaging mit Claude vom Smartphone aus
- Kontext-Isolation pro Gruppe: Jede Gruppe besitzt einen eigenen
CLAUDE.md-Speicher und ein separates Container-Dateisystem - Hauptkanal: ein privater Verwaltungskanal, der vollständig von anderen Gruppen getrennt ist
- Geplante Aufgaben: periodische Ausführung von Jobs und automatischer Nachrichtenversand
- Webzugriff: Suche und Inhaltsabruf
- Optionale Integrationen: Über Skills wie
/add-gmaillassen sich externe Dienste wie Gmail anbinden
Anpassung
- Änderungen können ohne Konfigurationsdateien direkt per Claude-Code-Dialog vorgenommen werden
- Beispiele: „Das Trigger-Wort auf @Bob ändern“, „Antworten kürzer machen“, „Jede Woche eine Gesprächszusammenfassung speichern“
- Der Befehl
/customizeunterstützt schrittweise Anpassungen - Durch die kleine Codebasis kann Claude Änderungen direkt und sicher vornehmen
Erweiterung und Beitragsmodell
- Neue Funktionen werden nicht direkt per PR hinzugefügt, sondern als Skills bereitgestellt
- Beispiele: Kommunikationskanäle erweitern mit
/add-telegram,/add-slack,/add-discord - Mit
/convert-to-dockerwird Apple Container auf Docker umgestellt - Mit
/setup-windowswird Windows-Unterstützung auf Basis von WSL2 eingerichtet - Mit
/add-clearkommen Sitzungszusammenfassung und Komprimierungsfunktionen hinzu
- Beispiele: Kommunikationskanäle erweitern mit
- Beitragende transformieren ihren Fork über Skills und teilen das Ergebnis anschließend wieder mit dem Projekt
Systemanforderungen und Struktur
- Erforderlich sind macOS Tahoe(26) oder neuer, Node.js 20+, Claude Code und Apple Container
- Architekturfluss:
WhatsApp (baileys) → SQLite → Polling loop → Container (Claude Agent SDK) → Response - Wichtige Dateien:
src/index.ts: Hauptanwendung und WhatsApp-Verbindungsrc/container-runner.ts: Verwaltung der Container-Ausführungsrc/task-scheduler.ts: Scheduling-Funktionensrc/db.ts: SQLite-Anbindunggroups/*/CLAUDE.md: Speicherung gruppenspezifischer Erinnerungen
FAQ-Zusammenfassung
- Warum WhatsApp?: weil der Entwickler WhatsApp persönlich nutzt; andere Kanäle lassen sich über Skills ersetzen
- Warum Apple Container?: in macOS integriert, leichtgewichtig und schnell
- Läuft es unter Linux?: Ein Port über Claude Code soll in etwa 30 Minuten möglich sein
- Sicherheit: basiert auf Container-Isolation; außerhalb expliziter Mounts ist kein Zugriff möglich
- Warum keine Konfigurationsdateien?: um Konfigurationswildwuchs zu vermeiden und Code-zentrierte Anpassung beizubehalten
- Wie wird debuggt?: durch direktes Nachfragen in Claude Code
- Welche Änderungen sind erlaubt?: nur Sicherheits- und Bugfixes sowie Verbesserungen der Standardkonfiguration
Lizenz
- Veröffentlicht unter der MIT-Lizenz
- Frei änderbar und weiterverteilbar für alle
1 Kommentare
Hacker-News-Kommentare
Das tatsächlich laufen zu lassen, fühlt sich viel zu riskant an
Im Moment mag es okay aussehen, aber wenn einmal etwas schiefgeht, ist es vorbei
So etwas wie Claw an einen gemeinsam genutzten Gesprächsraum anzuschließen, wirkt buchstäblich wie ein riskantes Experiment
Die Black Hats beobachten das wahrscheinlich schon, und am Ende werden sich viele Leute ernsthaft daran verbrennen
Vielleicht erleben wir gerade ein goldenes Zeitalter, in dem man LLMs günstig nutzen kann und noch keine Werbung dabei ist
Ich selbst nutze es inzwischen oft so, dass ich wegen der zunehmenden Spam-Flut in Suchergebnissen Vergleiche oder Kostenvoranschläge direkt bei der AI anfrage
Aber ich habe Sorge, dass wir bald Antworten bekommen, in die Werbung und bezahlte Empfehlungen eingemischt sind
Wenn ich meinen Code veröffentliche, versuche ich heutzutage, Dokumentation oder README von Hand zu schreiben
Bei Dokumentation, die nach LLM riecht, verliere ich selbst bei guten Projekten das Interesse
Man spürt darin keine aufrichtige Absicht, etwas an Menschen zu vermitteln
Selbst mit Tippfehlern finde ich menschliche Erklärungen viel besser
Der Autor hat übrigens nach meinem Kommentar das README angepasst
Link zum geänderten Commit
Wie du angemerkt hast, habe ich die Stellen überarbeitet, die nach AI klangen, und jetzt ist es deutlich besser
Dieser Code ist kein Meisterwerk, sondern für mich nützlicher, pragmatischer Code
Ich hoffe, dass er auch anderen als Referenz hilfreich ist
Ich habe ihn übers Wochenende mit Blick auf die Sicherheitsstruktur gebaut, aber ich musste ihn jetzt erst einmal abschließen und habe ihn deshalb in einem noch roughen Zustand hochgeladen
Wenn du das README liest, verstehst du den Kontext des Projekts besser
AI für Code zu nutzen ist okay, aber die Einführungstexte sollten Menschen selbst schreiben
Früher war der Code selbst ein „Beweis für Mühe“, aber jetzt lässt er sich so leicht erzeugen, dass dieses Gewicht verloren geht
Link zum betreffenden Thread
Einer der Vorteile von Clawdbot ist, dass es alle Berechtigungen erlaubt
Allerdings frage ich mich, wie solche externen Aktionen überhaupt sandboxed werden
Apple Container sind recht solide, weil jeder Container 1:1 auf eine Lightweight-VM abgebildet wird
Ein Beispiel für eine allgemeine Code-Execution-Sandbox auf dieser Basis ist instavm/coderunner
Das lässt sich auch mit AI wie Claude Code verbinden
Clawdbot wirkt, als würden 100 Studierende im zweiten Jahr an die Tür klopfen und nach root-Rechten fragen
Das Projekt sieht ziemlich cool aus
Ich habe mich schon gefragt, ob man mit einem Claude-Pro-/Max-Abo das Agent SDK nutzen kann,
und laut der offiziellen Quickstart-Dokumentation geht das
Dort steht, dass das SDK nach der Installation und dem Login im Terminal automatisch die Authentifizierung nutzt
Das klingt so, als könne man das SDK nicht direkt mit einem Abo-Account nutzen
Es wäre gut, wenn Anthropic diesen Punkt klarstellen würde
Da ich das Agents SDK verwende, denke ich nicht, dass es gegen die TOS verstößt
Ich wusste allerdings nicht, wie man die Auth-Session im Container aufrechterhält, deshalb nutze ich als Workaround einen per Umgebungsvariable injizierten OAuth-Token
Das ist die einzige Sicherheitslücke. Ein böswilliger Nutzer könnte den Token per Prompt Injection herausziehen
Falls jemand weiß, wie man Session-Auth im Container richtig durchreicht, wäre Hilfe willkommen
Nach dieser Dokumentation sieht es so aus, als könne man auch mit einem Abo-Account frei agentische Apps bauen
Nichttechnische Menschen neigen dazu, Modelle zu überschätzen, wenn sie nur auf die sinkende Halluzinationsrate schauen
Die eigentliche Gefahr sind aber bösartige Prompt-Angriffe
Wie in den Anfangszeiten von Kreditkarten sind die Schäden bisher nur noch nicht sichtbar geworden
Erst wenn mehrere Vorfälle publik werden, dürfte das Problembewusstsein steigen
Ich hatte gehofft, dass jemand eine sicherere Version davon baut
OpenClaw ist nützlich, aber gleichzeitig auch beängstigend
Deshalb ist mein Mac mini im Moment ausgeschaltet
Interessant, dass hier Apple Container statt Docker verwendet wurde
Vermutlich, um auf einem Mac Mini Ressourcen zu sparen
Ich frage mich nur, ob das nicht das standardmäßige Linux-Tooling einschränkt
Mir gefällt die Idee einer kleineren Version von OpenClaw
Der Code scheint etwa 2500 Zeilen zu umfassen, und auch die Apple-Container-Architektur ist interessant
Im Quick Start steht
git clone https://github.com/anthropics/nanoclaw.git,aber dieses Repository existiert nicht. Ich frage mich, ob das ein offizielles Anthropic-Projekt ist
Es wirkt fast so, als wäre das README halluziniert worden
Link zum betreffenden Commit
Ich habe Claude Code an meinen Obsidian-Vault angebunden und es möglich gemacht, Cron-Jobs über WhatsApp zu planen
Im Vergleich zum riesigen OpenClaw ist das viel einfacher und liegt in einem Bereich, den ich selbst verstehe, was mir ein besseres Gefühl gibt
Ich hoffe, andere nutzen es ebenfalls nur als Referenz
Wenn ich heutzutage vibe-coded Apps sehe, baue ich oft einfach selbst etwas Ähnliches mit Claude Code
Das ist effizienter, als fremde Lösungen zu verwenden, weil ich es direkt auf meine Bedürfnisse zuschneiden kann
Dadurch sinkt der Wert externer Bibliotheken
Risiken wie Supply-Chain-Angriffe oder Lizenzänderungen entfallen ebenfalls
Code selbst wird zu Dokumentation und Konfiguration
Deshalb gefallen mir solche leichtgewichtigen, maßgeschneiderten Versionen besser als OpenClaw
Man kann es forken und als Ausgangspunkt nutzen oder Claude als Referenz geben und sich direkt eine eigene Version bauen lassen