---
title: "Jarvis mit lokalem Gehirn — Qwen 3.5 lokal, per Sprachbefehl umschaltbar."
description: "Du sagst Jarvis, er soll auf sein lokales Gehirn wechseln, und fragst, was morgen ansteht. Er liest deinen Kalender. Das Gespräch lässt dein Claude-Limit in Ruhe. Projekte baut er weiter mit Claude."
category: guides
date: 2026-11-03
canonical: https://thanisch.co/wissen/guides/jarvis-lokales-gehirn
url: https://thanisch.co/wissen/guides/jarvis-lokales-gehirn
---

# Jarvis mit lokalem Gehirn — Qwen 3.5 lokal, per Sprachbefehl umschaltbar.

> **Voraussetzung**
> Dass Jarvis bei dir installiert ist, ist Voraussetzung für diese Anleitung. [Installiere vorher Jarvis](/jarvis), bevor du diese Anleitung befolgst.

Hast du Jarvis schon, geht es ab hier Schritt für Schritt.

- Wie Jarvis denkt und an welcher Stelle du sein Gehirn austauschst

- Qwen 3.5 9B mit Ollama einrichten, mit genug Kontext für Jarvis

- Das Startskript, das Jarvis auf das lokale Modell umleitet, ohne Code-Änderung

- Den Sprachbefehl „Wechsle zu deinem lokalen Gehirn“ einbauen

- Deinen Apple Kalender als Werkzeug anbinden

- Was lokal besser ist, was nicht, und die typischen Fehler

> **Kurz gesagt**
> Jarvis' Gehirn ist ein Claude-Code-Prozess. Claude Code kann statt mit Claude auch mit einem Modell sprechen, das Ollama lokal bereitstellt. Du gibst Jarvis also ein Startskript, das Claude Code auf Ollama umleitet, und ein Modell, das lokal läuft: Qwen 3.5 mit 9 Milliarden Parametern. *Ein Gespräch kostet dann keine Tokens und belastet dein Claude-Limit nicht. Builds laufen weiter mit Claude.*

## So funktioniert der Tausch

### 1. Ollama

Lädt Qwen 3.5 9B und stellt es lokal bereit, unter localhost:11434.

### 2. Startskript

Leitet Claude Code für Jarvis' Gehirn auf Ollama um. Am Code von Jarvis ändert sich nichts.

### 3. Sprachbefehl

Jarvis startet sein Gehirn mit dem anderen Modell neu und weiß danach noch, worüber ihr gesprochen habt.

### 4. Kalender

Ein MCP-Server liest deinen Apple Kalender lokal.

## Was du brauchst

- Einen Mac mit Apple Silicon und mindestens 16 GB Arbeitsspeicher. Das Modell ist 6,6 bis 7,6 GB groß, dazu kommt Speicher für den Kontext.

- Jarvis, installiert und lauffähig (siehe oben).

- [Ollama](https://ollama.com/download), kostenlos.

- Node.js 20 oder neuer für den Kalender-Server. Prüfen mit `node -v`.

## Schritt 1: Qwen 3.5 mit Ollama laden

Installier die Ollama-App und öffne sie einmal. Dann im Terminal:

**Terminal**

```
ollama pull qwen3.5:9b
```

Ein kurzer Test, ob das Modell antwortet:

**Terminal**

```
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.

<Terminal label="Terminal">
launchctl setenv OLLAMA_CONTEXT_LENGTH 65536
```

Danach Ollama beenden (Menüleiste → Quit Ollama) und neu öffnen.

> **Merke**
> Mit dem Standard von 4.096 Tokens schneidet Ollama den Anfang einfach ab. Jarvis kennt dann seine Werkzeuge nicht mehr und wirkt verwirrt, ohne Fehlermeldung. `launchctl setenv` gilt bis zum nächsten Neustart des Macs. Danach den Befehl erneut ausführen.

## 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.

```bash
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):

```bash
JARVIS_CLAUDE_PATH=/Users/DEINNAME/bin/claude-lokal
JARVIS_BRAIN_MODEL=qwen3.5:9b
JARVIS_BRAIN_CONTEXT_BUDGET=40000
JARVIS_BRAIN_TURN_TIMEOUT=180
```

- **Kontext-Budget:** Bei 40.000 Tokens fasst Jarvis das Gespräch zusammen und startet frisch. Mit Claude liegt die Grenze bei 120.000, das passt nicht in 64k.

- **Timeout:** Beim ersten Satz lädt Ollama das Modell in den Speicher. Mit 180 statt 90 Sekunden bricht Jarvis dabei nicht ab.

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.

## 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:

Für den Sprachbefehl ersetzt du die Test-Zeilen aus Schritt 2 in der `.env` durch diese, damit Jarvis normal mit Claude startet:

```bash
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.“

> **Merke**
> Nur das Gespräch läuft lokal. Wenn Jarvis ein Projekt baut, startet er dafür eine eigene Claude-Code-Sitzung, und die läuft weiter über dein Claude-Abo. Für Code ist das auch richtig so.

## 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:

```json
{
  "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.

> **Termine ändern**
> 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 |

> **Merke**
> „Lokal“ heißt hier: das Gehirn. Die Spracherkennung läuft über Chrome (die Web Speech API schickt den Ton an Google), die Stimme kommt von Fish Audio. Für ein Gespräch komplett ohne Cloud müssten auch Ein- und Ausgabe lokal laufen.

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

- Jarvis antwortet nicht oder bricht ab: Ollama läuft nicht oder lädt das Modell noch. `ollama ps` prüfen, beim ersten Satz ein paar Sekunden warten, Turn-Timeout auf 180 s.

- Jarvis vergisst den Anfang oder kennt seine Werkzeuge nicht: Der Kontext steht noch auf 4.096. `launchctl setenv OLLAMA_CONTEXT_LENGTH 65536` und Ollama neu starten, auch nach jedem Neustart des Macs.

- Er läuft trotzdem über Claude: `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.

- „Womit bist du verbunden?“ nennt den Kalender nicht: Tippfehler in `connections.json`, Node.js älter als 20 oder Jarvis nicht neu gestartet. Jarvis sagt dir, welcher Server nicht startet und warum.

- Kalender bleibt leer oder hängt: Der Zugriff ist nicht freigegeben. Systemeinstellungen → Datenschutz & Sicherheit → Kalender → Terminal auf vollen Zugriff. Der Server bricht nach 30 s ab, wenn eine Abfrage unbeantwortet bleibt.

- Er erfindet Termine oder ruft das falsche Werkzeug auf: Das ist die Grenze eines 9B-Modells. In die Persona: „Nenne Termine nur aus dem Kalender-Werkzeug.“ Hilft das nicht, für diese Frage in die Cloud wechseln.

- Der Mac wird langsam: Bei 16 GB andere große Programme schließen. Für schwächere Macs gibt es `qwen3.5:4b`, dann mit spürbar weniger Verständnis.

Das Reel zu diesem Stück liegt auf [Instagram](https://www.instagram.com/christopher_thanisch/).

## Quellen

- Ollama: [Claude Code mit Ollama](https://docs.ollama.com/integrations/claude-code), [FAQ zur Kontextlänge](https://docs.ollama.com/faq) und [Qwen 3.5 in der Ollama-Bibliothek](https://ollama.com/library/qwen3.5) (Größen, 256K Kontext).
- FradSer: [mcp-server-apple-events auf GitHub](https://github.com/FradSer/mcp-server-apple-events) (Werkzeuge, Rechte, Node.js 20).

## Dein Aktionsplan

Hak ab, was du erledigt hast:

- [ ] Ollama installiert und `qwen3.5:9b` geladen

- [ ] Den Kontext auf 65536 gestellt und Ollama neu gestartet

- [ ] Das Startskript `~/bin/claude-lokal` angelegt und ausführbar gemacht

- [ ] Jarvis lokal getestet: `ollama ps` zeigt das Modell, während er antwortet

- [ ] Den Sprachbefehl mit dem Prompt einbauen und die Tests laufen lassen

- [ ] Den Apple Kalender in `connections.json` eingetragen und den Zugriff erlaubt

- [ ] Gefragt: „Jarvis, was steht morgen in meinem Kalender?“
