Dass Jarvis bei dir installiert ist, ist Voraussetzung für diese Anleitung. Installiere vorher Jarvis, bevor du diese Anleitung befolgst.
Hast du Jarvis schon, geht es ab hier Schritt für Schritt.
Das lernst du
So funktioniert der Tausch
Lädt Qwen 3.5 9B und stellt es lokal bereit, unter localhost:11434.
Leitet Claude Code für Jarvis' Gehirn auf Ollama um. Am Code von Jarvis ändert sich nichts.
Jarvis startet sein Gehirn mit dem anderen Modell neu und weiß danach noch, worüber ihr gesprochen habt.
Ein MCP-Server liest deinen Apple Kalender lokal.
Was du brauchst
node -v.Schritt 1: Qwen 3.5 mit Ollama laden
Installier die Ollama-App und öffne sie einmal. Dann im Terminal:
ollama pull qwen3.5:9b
Ein kurzer Test, ob das Modell antwortet:
ollama run qwen3.5:9b "Stell dich in einem Satz vor, wie ein britischer Butler."
Jetzt der wichtigste Handgriff: mehr Kontext. Ollama startet Modelle mit 4.096 Tokens. Jarvis bringt aber in jedes Gespräch schon rund 13.000 Tokens mit: seine Persönlichkeit, die Werkzeuge, deine Erinnerungen. Ollama empfiehlt für Claude Code mindestens 64k.
launchctl setenv OLLAMA_CONTEXT_LENGTH 65536
Danach Ollama beenden (Menüleiste → Quit Ollama) und neu öffnen.
Schritt 2: Das Startskript
Jarvis leitet sein Gehirn nie von selbst um. Er entfernt sogar alle Variablen, die mit ANTHROPIC_ beginnen, aus seiner Umgebung, damit nichts aus Versehen über einen API-Schlüssel abgerechnet wird. Ein ANTHROPIC_BASE_URL in der .env kommt also nie an.
Jarvis liest aber JARVIS_CLAUDE_PATH: welches Programm er als Gehirn startet. Dort trägst du ein kleines Skript ein, das Claude Code selbst auf Ollama umleitet. Das ist der offizielle Weg von Ollama für Claude Code.
mkdir -p ~/bin
cat > ~/bin/claude-lokal <<'EOF'
#!/bin/zsh
# Claude Code für Jarvis' Gehirn auf Ollama umleiten
export ANTHROPIC_BASE_URL=http://localhost:11434
export ANTHROPIC_AUTH_TOKEN=ollama
export ANTHROPIC_API_KEY=""
exec claude "$@"
EOF
chmod +x ~/bin/claude-lokal
Zum Testen trägst du in die .env im Jarvis-Ordner diese vier Zeilen ein. Ersetze DEINNAME durch deinen Benutzernamen (whoami im Terminal zeigt ihn):
JARVIS_CLAUDE_PATH=/Users/DEINNAME/bin/claude-lokal
JARVIS_BRAIN_MODEL=qwen3.5:9b
JARVIS_BRAIN_CONTEXT_BUDGET=40000
JARVIS_BRAIN_TURN_TIMEOUT=180
Starte Jarvis neu (Server und Oberfläche) und frag ihn, mit welchem Modell er läuft. Während er antwortet, zeigt ollama ps im Terminal qwen3.5:9b. Dann denkt er lokal.
Anleitung zum Mitnehmen
Hol dir den vollständigen Guide als PDF.
Alle Befehle, das Startskript, der Prompt für den Sprachbefehl, die Kalender-Anbindung und die Checkliste als PDF.
Schritt 3: Der Sprachbefehl
Mit den Zeilen aus Schritt 2 läuft Jarvis dauerhaft lokal. Schöner ist es, wenn du umschalten kannst: lokal für Kalender, Erinnerungen und kurze Fragen, Claude für alles, was Nachdenken braucht. Das baut Claude Code dir ein.
Öffne Claude Code im Jarvis-Ordner und gib diesen Prompt ein:
Du arbeitest im Jarvis-Repo. Bau einen Sprachbefehl ein, mit dem ich Jarvis' Gehirn zwischen Claude und einem lokalen Modell umschalte. - Neues Jarvis-Werkzeug switch_brain mit dem Parameter mode („lokal“ oder „cloud“): Handler in server.py (TOOL_HANDLERS), Werkzeug in jarvis_mcp.py, Freigabe in der Allowlist von brain.py. - lokal: Gehirn mit JARVIS_LOCAL_CLAUDE_PATH, JARVIS_LOCAL_MODEL und JARVIS_LOCAL_CONTEXT_BUDGET aus der .env starten, Turn-Timeout 180 s. cloud: wie bisher mit claude und JARVIS_BRAIN_MODEL. - Umschalten über einen Neustart des Gehirns mit kurzer Übergabe-Notiz, damit Jarvis weiß, worüber wir gesprochen haben. An den Builds (run_executor) nichts ändern, die laufen immer mit Claude. - Vorher prüfen, ob Ollama unter http://localhost:11434 antwortet und das Modell da ist. Wenn nicht: im Cloud-Modus bleiben und mir sagen, warum. - Nach dem Wechsel nennt Jarvis Modell und Größe, zum Beispiel: „Qwen 3.5, neun Milliarden Parameter, ist bereit, Sir.“ - Ergänze in der Persona-Datei, die Jarvis tatsächlich liest (die Kopie von jarvis_home/CLAUDE.md im Datenordner): Wenn ich sage „Wechsle zu deinem lokalen Gehirn“ oder „Zurück in die Cloud“, nutzt du switch_brain. - Schreib Tests im Stil der bestehenden Suite und führ pytest aus. Zeig mir zuerst den Plan, bevor du Dateien änderst.
Für den Sprachbefehl ersetzt du die Test-Zeilen aus Schritt 2 in der .env durch diese, damit Jarvis normal mit Claude startet:
JARVIS_LOCAL_CLAUDE_PATH=/Users/DEINNAME/bin/claude-lokal
JARVIS_LOCAL_MODEL=qwen3.5:9b
JARVIS_LOCAL_CONTEXT_BUDGET=40000
Jarvis neu starten und sagen: „Jarvis, wechsle zu deinem lokalen Gehirn.“
Schritt 4: Dein Apple Kalender als Werkzeug
Jarvis kommt ohne Verbindungen. Jeden MCP-Server trägst du selbst in data/jarvis/connections.json im Jarvis-Ordner ein. Für den Apple Kalender (und deine Erinnerungen) gibt es mcp-server-apple-events. Er spricht direkt mit macOS, ohne Cloud-Konto:
{
"mcpServers": {
"kalender": {
"command": "npx",
"args": ["-y", "mcp-server-apple-events"]
}
}
}
Jarvis neu starten und fragen: „Womit bist du verbunden?“ Er nennt die Server, die wirklich gestartet sind. Dann: „Was steht morgen in meinem Kalender?“
Beim ersten Zugriff fragt macOS, ob das Terminal auf deine Kalender zugreifen darf. Das ist das Programm, in dem du Jarvis startest. Wähl vollen Zugriff. Kommt keine Abfrage, stellst du es selbst ein: Systemeinstellungen → Datenschutz & Sicherheit → Kalender.
Der Server kann Termine auch anlegen, verschieben und löschen. Schreib Jarvis deshalb in seine Persona-Datei: „Ändere oder lösche Termine nur, wenn ich es ausdrücklich bestätigt habe.“
Jedes Werkzeug kostet Jarvis etwa 250 Tokens Kontext pro Gesprächsrunde. Bei einem lokalen Modell mit 64k zählt das, deshalb nur Server eintragen, die du wirklich nutzt.
Lokal oder Claude: ein ehrlicher Vergleich
| Lokal (Qwen 3.5 9B) | Claude (Sonnet) | |
|---|---|---|
| Kosten | keine Tokens, schont dein Abo-Limit | im Claude-Abo enthalten, zählt auf dein Limit |
| Tempo | langsamer, je nach Rechner, erster Satz nach dem Laden spürbar verzögert | schnell und gleichmäßig |
| Qualität | gut für kurze Fragen, Kalender, Erinnerungen | deutlich besser bei Brainstorming und langen Gedankengängen |
| Werkzeuge | einzelne Aufrufe klappen meist, Ketten aus mehreren Schritten öfter nicht | zuverlässig, auch mehrere hintereinander |
| Daten | das Denken bleibt auf deinem Rechner | das Gespräch geht an Anthropic |
Als Faustregel: Kalender, Erinnerungen und schnelle Fragen lokal. Sobald ihr ein Projekt durchdenkt oder Jarvis mehrere Werkzeuge nacheinander braucht, zurück in die Cloud.
Fehler und Lösungen
ollama ps prüfen, beim ersten Satz ein paar Sekunden warten, Turn-Timeout auf 180 s.launchctl setenv OLLAMA_CONTEXT_LENGTH 65536 und Ollama neu starten, auch nach jedem Neustart des Macs.JARVIS_CLAUDE_PATH fehlt, der Pfad stimmt nicht oder das Skript ist nicht ausführbar (chmod +x ~/bin/claude-lokal). Ein ANTHROPIC_BASE_URL in der .env wirkt absichtlich nicht.connections.json, Node.js älter als 20 oder Jarvis nicht neu gestartet. Jarvis sagt dir, welcher Server nicht startet und warum.qwen3.5:4b, dann mit spürbar weniger Verständnis.Das Reel zu diesem Stück liegt auf Instagram.
Quellen
- Ollama: Claude Code mit Ollama, FAQ zur Kontextlänge und Qwen 3.5 in der Ollama-Bibliothek (Größen, 256K Kontext).
- FradSer: mcp-server-apple-events auf GitHub (Werkzeuge, Rechte, Node.js 20).
Dein Aktionsplan
Hak ab, was du erledigt hast:
Dein nächster Schritt
Dafür brauchst du Jarvis.
Die Schritte oben laufen erst, wenn er bei dir installiert ist. Trag dich ein. Wer zuerst auf der Liste steht, bekommt ihn zuerst.
Auf die Jarvis-ListePasst dazu

Christopher Thanisch
Ich übersetze KI in brauchbare Systeme für den Arbeitsalltag — Systeme statt Hypes.