- Installiere Claude Code auf einem Ersatz-Mac ohne persönliche Daten und richte ihn als eigenständige Laufzeitumgebung ein, die über SSH vom Haupt-Mac und über die Claude-App auf dem Smartphone jederzeit erreichbar ist.
- Die Geräteisolation ist höher als bei Containern, und auch Unity sowie Mac-spezifische GUI-Apps können genutzt werden, sodass sich das Risiko von
--dangerously-skip-permissions vom Haupt-Mac trennen lässt.
- Mit einem neuen lokalen Administratorkonto, passwortlosem
sudo und SSH, deaktiviertem Ruhezustand, Clipboard-Synchronisierung und der Installation von Claude Code wird die Grundlage für Remote-Arbeit geschaffen.
- Die GUI-Steuerung wird über einen tmux-Server umgesetzt, den ein LaunchAgent innerhalb der GUI-Sitzung aufrechterhält; Berechtigungen für Bildschirmaufnahme, Bedienungshilfen und vollen Festplattenzugriff müssen manuell erteilt werden.
- Mit Remote Control, Claude in Chrome, Screen Sharing und Tailscale sind Steuerung per Smartphone, Browser-Automatisierung und externer Zugriff möglich, erfordern aber separate Authentifizierung und macOS-Berechtigungseinstellungen.
Ziel der Konfiguration und Grundprinzipien
- Es wird eine Umgebung geschaffen, die Claude Code eigenständig steuern kann, damit Forschungs- und Entwicklungsarbeit vom Haupt-Mac ausgelagert wird.
- Ein Agent mit
--dangerously-skip-permissions hat weitreichende Rechte; deshalb wird er auf einem separaten Gerät ohne persönliche Daten und ohne Apple-ID ausgeführt, um zugängliche sensible Informationen zu reduzieren.
- Auf Claude Code kann jederzeit über die Claude-App auf dem Smartphone oder per SSH vom Haupt-Mac aus zugegriffen werden.
- Für die Grundkonfiguration werden ein mit demselben WLAN verbundener Ziel-Mac und ein im Alltag genutzter Quell-Mac benötigt.
Warum ein Ersatz-Mac statt Containern oder OpenClaw
- Container laufen weiterhin auf dem Haupt-Mac, und auch Netzwerkanfragen gehen über den Haupt-Mac, daher ist das keine vollständige Gerätetrennung.
- Unity oder Mac-spezifische Apps lassen sich nur schwer ausführen, und auch GUI-Aufgaben mit Klicks und Drag-and-drop über die Computersteuerungsfunktion sind eingeschränkt.
- Die Konfiguration mit einem Ersatz-Mac nutzt die neuesten Funktionen von Claude Code, die Steuerung über die Claude-App und das vorhandene Nutzungskontingent des Claude-Abos unverändert weiter.
- Die Umgebung wird nach den folgenden Prinzipien getrennt:
- Verwendung eines alten Ersatz-Macs statt des Haupt-Macs
- Erstellung eines neuen lokalen Kontos ohne persönliche Daten und ohne Apple-ID
- Steuerung im lokalen Netzwerk per SSH und auf dem Smartphone über die Claude-App
1. Ziel-Mac zurücksetzen und Konten trennen
- Falls noch persönliche Daten vorhanden sind, kann der Agent auf alles zugreifen; deshalb wird das Gerät zuerst gelöscht.
- Unterstützte Macs: System Settings → General → Transfer or Reset → Erase All Content and Settings
- Ältere Intel-Macs: Beim Start mit
Cmd-R in Recovery wechseln, das interne Laufwerk mit Disk Utility löschen und anschließend macOS neu installieren
- Bei Bedarf unter System Settings → General → Software Update auf die neueste macOS-Version aktualisieren.
- Ein neues lokales Benutzerkonto erstellen und die Anmeldung mit der Apple-ID überspringen.
- Dem Konto Administratorrechte geben, damit
sudo verwendet werden kann.
- Unter System Settings → Users & Groups
Allow this user to administer this computer aktivieren
- Bei Wiederherstellung über ein anderes Administratorkonto kann
sudo dseditgroup -o edit -a <user> -t user admin verwendet werden
2. SSH-Remote-Login aktivieren
- Auf dem Ziel-Mac mit folgendem Befehl Remote Login aktivieren.
sudo systemsetup -setremotelogin on
- Falls der Fehler
Turning Remote Login on or off requires Full Disk Access privileges auftritt, Terminal Full Disk Access gewähren.
- Unter System Settings → Privacy & Security → Full Disk Access Applications → Utilities → Terminal hinzufügen
- Terminal schließen, erneut öffnen und den Befehl noch einmal ausführen
3. Passwortloses sudo einrichten
- Damit der Agent und SSH-Befehle nicht jedes Mal ein Passwort verlangen, wird in
/etc/sudoers.d/ eine kontospezifische Regel angelegt.
echo "<user> ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/<user>-nopasswd >/dev/null
sudo chmod 440 /etc/sudoers.d/<user>-nopasswd
sudo visudo -cf /etc/sudoers.d/<user>-nopasswd
- Der erste Befehl schreibt die Regel, der zweite setzt die von
sudo geforderten schreibgeschützten Rechte.
- Bei der abschließenden Prüfung muss unbedingt
parsed OK ausgegeben werden; eine fehlerhafte sudoers-Syntax kann den Zugriff auf sudo blockieren.
- Wenn
sudo -n true ohne Ausgabe erfolgreich ist, funktioniert passwortloses sudo.
4. Adresse des Ziel-Macs prüfen
- Da sich die IP nach einem Neustart oder mit der Zeit ändern kann, wird die Verwendung eines festen Hostnamens empfohlen.
scutil --get LocalHostName
- An den ausgegebenen Namen
.local anhängen und als <target-host>.local verwenden.
- Wenn sich die
.local-Namen beider Macs im selben Netzwerk überschneiden, kann eine Verbindung zum falschen Gerät hergestellt werden; daher einen eindeutigen Namen festlegen.
sudo scutil --set LocalHostName newmacbook
- Falls eine IP benötigt wird, kann sie mit
ipconfig getifaddr en0 geprüft werden, sie kann sich aber ändern.
- Danach wird die Adresse im Format
<user>@<target-host>.local verwendet.
5. Passwortloses SSH vom Quell-Mac einrichten
- Falls noch kein SSH-Schlüssel vorhanden ist, auf dem Quell-Mac einen Ed25519-Schlüssel erzeugen.
ssh-keygen -t ed25519
ssh-copy-id <user>@<target-host>.local
- Beim Installieren des öffentlichen Schlüssels einmal das Passwort des Zielkontos eingeben.
- Wenn der folgende Befehl ohne Passworteingabe den Benutzernamen des Zielsystems ausgibt, ist die Einrichtung abgeschlossen.
ssh <user>@<target-host>.local whoami
6. Ruhezustand und automatische Sperre verhindern
- macOS kann auch bei angeschlossenem Netzteil nach etwa 10 Minuten Inaktivität in den Ruhezustand wechseln und aus dem Netzwerk verschwinden; daher den Ruhezustand deaktivieren.
sudo pmset -c sleep 0
sudo pmset -c disablesleep 1
sudo pmset -c displaysleep 0
- Die einzelnen Befehle verhindern Systemruhezustand beim Laden, Ruhezustand bei geschlossenem Deckel und den Display-Ruhezustand.
- In der Ausgabe von
pmset -g | grep -iE 'sleep' sleep 0, SleepDisabled 1 und displaysleep 0 prüfen.
- Um dies auch im Akkubetrieb anzuwenden, statt
-c die Option -a verwenden; das erhöht jedoch den Akkuverbrauch.
- Auch die automatische Sperre durch den Bildschirmschoner verhindern.
defaults -currentHost write com.apple.screensaver idleTime 0
7. SSH-Clipboard-Synchronisierung
- Wenn
pbcopy und pbpaste von macOS per SSH verbunden werden, lässt sich Text ohne Apple-ID oder externe Dienste per verschlüsseltem P2P-Verfahren übertragen.
clip.sh unterstützt auch die Übertragung von Bildern.
curl -fsSL https://raw.githubusercontent.com/ykdojo/claude-controls-mac/… -o ~/.local/bin/clip
chmod +x ~/.local/bin/clip
export IC_BOX="<user>@<target-host>.local"
- Die Einstellung
IC_BOX zu ~/.zshrc hinzufügen.
clip send sendet Text oder Bilder vom Quell-Mac an das Ziel; Bilder können in der Claude-Code-Sitzung des Zielsystems mit Ctrl-V eingefügt werden.
clip get holt den Inhalt der Zwischenablage des Ziel-Macs auf den Quell-Mac.
8. Claude Code installieren
- Vom Quell-Mac aus per SSH eine bestimmte Claude-Code-Version auf dem Ziel-Mac installieren.
ssh <user>@<target-host>.local 'curl -fsSL https://claude.ai/install.sh | bash -s -- 2.1.201'
- Statt Version
2.1.201 kann auch latest oder stable angegeben werden
- Wenn eine PATH-Warnung für
~/.local/bin erscheint, wird der Pfad in ~/.zshenv ergänzt, das von allen zsh-Sitzungen gelesen wird
ssh <user>@<target-host>.local 'echo '\''export PATH="$HOME/.local/bin:$PATH"'\'' >> ~/.zshenv'
9. Optionale Installation einer Claude-Code-freundlichen Umgebung
- Das optionale
setup-claude-env.sh installiert Shell-Aliasse, DX-Plugins, Anpassungen an settings.json, die GitHub CLI sowie optional Playwright MCP und yt-dlp
- Die vollständigen Komponenten sind in
claude-env-components.md aufgeführt
- Bei interaktiver Ausführung sind die Standardpunkte ausgewählt, und optionale Installationen werden als nicht markierte Checkliste angeboten
ssh -t <user>@<target-host>.local \
'curl -fsSL https://raw.githubusercontent.com/ykdojo/claude-controls-mac/… -o setup-claude-env.sh && bash setup-claude-env.sh'
- Die nicht interaktive Ausführung installiert standardmäßig nur Kernkomponenten und unterstützt die Flags
--yt-dlp, --playwright, --all und --core
- Das Skript ist idempotent und kann daher erneut ausgeführt werden
10. Anmeldung bei Claude und GitHub
- Per SSH mit dem Ziel-Mac verbinden,
claude ausführen und sich über einen Browser-/Gerätecode-Flow beim Anthropic-Konto anmelden, den man im Browser des Haupt-Mac abschließen kann
- Für die Arbeit mit Repositories wird empfohlen, zusätzlich
gh auth login für die GitHub-Anmeldung zu verwenden
- Damit der Agent das Hauptkonto nicht beeinflusst, ist ein separates GitHub-Konto sicherer
11. Computer-Use-Funktion über SSH
-
Verbindung mit einer GUI-Sitzung
- Ein SSH-Prozess kann Bildschirmaufzeichnung und Bedienungshilfen, die an eine GUI-Anmeldesitzung gebunden sind, nicht direkt nutzen
- Ein LaunchAgent hält einen tmux-Server und die Anker-Sitzung
cc auf einem festen Socket innerhalb der GUI-Sitzung aktiv
- Claude Code, das innerhalb dieses Servers gestartet wird, übernimmt die GUI-Sitzung und erhält Zugriff auf Screenshots sowie Maus- und Tastatursteuerung
-
Installation
ssh -t <user>@<target-host>.local \
'curl -fsSL https://raw.githubusercontent.com/ykdojo/claude-controls-mac/… -o setup-computer-use.sh && bash setup-computer-use.sh'
- Installiert den LaunchAgent und den tmux-Anker und aktiviert das eingebaute Tool
computer-use in ~/.claude.json
- Erfordert tmux sowie einen Claude-Pro- oder Max-Plan; das Skript kann erneut ausgeführt und mit
--uninstall entfernt werden
-
Sitzungsverwaltung mit dem Befehl ic
ic.sh auf dem Quell-Mac installieren
curl -fsSL https://raw.githubusercontent.com/ykdojo/claude-controls-mac/… -o ~/.local/bin/ic
chmod +x ~/.local/bin/ic
echo 'export IC_BOX="<user>@<target-host>.local"' >> ~/.zshrc
- Die wichtigsten Befehle sind:
ic: neue Claude-Sitzung
ic -c, ic -r: letzte Unterhaltung fortsetzen oder Auswahl zum Wiederaufnehmen
ic --chrome: mit Claude in Chrome ausführen
ic sh: normale Shell auf dem Ziel
ic vnc: Screen Sharing starten
ic rc: Remote-Control-Server für das Smartphone
ic history, ic ls: gespeicherte Unterhaltungen und laufende Sitzungen anzeigen
ic attach <id>, ic kill <id>, ic kill-all, ic kill-except: Sitzungen verbinden und beenden
- Alle
ic-Sitzungen werden mit --dangerously-skip-permissions ausgeführt; ic rc verwendet --permission-mode bypassPermissions
- Innerhalb von tmux empfängt Terminal.app die von Claude ausgegebenen OSC52-Clipboard-Sequenzen nicht, daher zum Kopieren des gesamten Bildschirms
Cmd-A und dann Cmd-C verwenden
-
Delegation zwischen Agenten
- Claude Code auf dem Quell-Mac kann per SSH und
tmux send-keys Prompts an eine auf dem Ziel laufende Claude-Sitzung senden
- Bei langen Prompts wird Enter, das zusammen mit dem Text gesendet wird, möglicherweise nicht als Absenden erkannt; dann kurz warten und Enter noch einmal senden
- Antworten lassen sich mit
tmux capture-pane und tail auslesen und bis zum Abschluss der Aufgabe wiederholt prüfen
-
Berechtigungen, die direkt von Menschen erteilt werden müssen
- Bildschirmaufzeichnung und Bedienungshilfen müssen in der macOS-GUI manuell genehmigt werden und können nicht per synthetischem Klick erteilt werden
- Auch die beim ersten Erfassen erscheinende Aufforderung,
bypass the window picker zu erlauben, muss bestätigt werden und kann etwa einmal im Monat erneut erscheinen
- Der Berechtigungsempfänger ist nicht
claude, sondern der verantwortliche Prozess, also das tmux-Binary
- Intel-Pfad:
/usr/local/bin/tmux
- Apple-Silicon-Pfad:
/opt/homebrew/bin/tmux
- Bildschirmaufzeichnung erlaubt Screenshots, Bedienungshilfen erlauben Maus- und Tastatursteuerung
- Da der Berechtigungsstatus beim Prozessstart zwischengespeichert wird, muss der Server nach der Erteilung mit
tmux -S /tmp/cc-tmux.sock kill-server neu gestartet werden
- Wenn tmux nicht in der Einstellungsübersicht erscheint, in
ic Claude zuerst um einen Screenshot bitten, damit die Berechtigungsanfrage ausgelöst wird
- Um auf aktuellem macOS wiederholte app-spezifische Datenzugriffsanfragen zu vermeiden, tmux Full Disk Access gewähren und den Server neu starten
12. Installation von VPN und anderen GUI-Apps
- Auf dem Ziel-Mac kann ein VPN wie Proton VPN installiert werden, um den Traffic von der lokalen IP zu trennen
- Wenn die Computer-Use-Funktion eingerichtet ist, kann man Claude in
ic um die Installation von Apps bitten, aber die folgenden Schritte müssen von einem Menschen erledigt werden
- Auch im kostenlosen Tarif sind Anmeldedaten erforderlich; das Passwort kann per
clip send übermittelt werden
- Die Berechtigungsanfragen für VPN-/Netzwerkkonfiguration bei der ersten Verbindung sowie die Mac-Passwortabfrage müssen bestätigt werden
- Für die Steuerung reiner GUI-Apps ist die Computer-Use-Funktion erforderlich
- Nach der Anmeldung kann der Agent Verbindungen und Serverwechsel durchführen; derselbe Ablauf lässt sich auch auf andere Anwendungen anwenden
13. Steuerung vom Smartphone aus
- In einer bestehenden Sitzung
/remote-control oder /rc ausführen, um dieselbe Sitzung in der Claude-App weiterzusteuern
claude remote-control unterstützt auf dem Smartphone nicht nur das Verbinden mit einer bestehenden Sitzung, sondern auch das Erstellen neuer Sitzungen
- Bei Start mit
ic rc können auch auf dem Smartphone erstellte Sitzungen auf die Computer-Use-Funktion des Ziel-Mac zugreifen
14. Claude in Chrome einrichten
- Die allgemeine Computernutzungsfunktion kann den Browserbildschirm sehen, ist aber beim Klicken oder Eingeben eingeschränkt
- Die Erweiterung Claude in Chrome unterstützt Navigation, Klicken, Formulareingaben sowie das Lesen von Konsolen-Logs und Netzwerkanfragen
- Anders als Playwright MCP verwendet sie das normale Chrome-Profil des Ziel-Mac und kann daher einen bereits angemeldeten Zustand nutzen
- Auf dem Ziel-Mac werden Chrome und ein direktes Abonnement von Anthropic Pro, Max, Team oder Enterprise benötigt
- Die folgenden Schritte müssen direkt von einer Person ausgeführt werden
- Im Chrome Web Store auf
Add to Chrome klicken
- Sich in der Erweiterung beim Claude-Konto anmelden; Zugangsdaten können per
clip send übermittelt werden
- In Claude Code
/chrome ausführen, um es standardmäßig zu aktivieren, oder pro Sitzung claude --chrome bzw. ic --chrome verwenden
- Falls keine Verbindung zustande kommt, Chrome einmal neu starten
- Das Umgebungsskript aus Schritt 9 verwendet Elementreferenzen aus dem Accessibility Tree statt Koordinaten und ergänzt in
~/.claude/CLAUDE.md Anweisungen, um unaufgeforderte Screenshots zu vermeiden
- Wenn die Erweiterung im Quell- und Ziel-Chrome gleichzeitig mit demselben Konto läuft, erscheint eine Auswahlabfrage, und es gibt Issue #74667, bei dem das lokale Gerät falsch erkannt werden kann
- Das lässt sich umgehen, indem man die Erweiterung auf dem Quell-Mac vorübergehend entfernt oder Chrome auf der Quelle beendet
- Für auf dem Smartphone erstellte Sitzungen stehen die Browser-Tools derzeit wegen Issue #74671 nicht zur Verfügung
- Die Sitzung im Terminal starten und dann das Smartphone mit
/rc verbinden
15. macOS Screen Sharing
- Mit dem integrierten Screen Sharing kann man vom Quell-Mac den Zielbildschirm in Echtzeit sehen und Maus und Tastatur direkt steuern
- Seit macOS 12.1 lässt sich dies nicht mehr per Kommandozeile aktivieren, sondern muss in der GUI des Ziels eingerichtet werden
- Unter System Settings → General → Sharing Screen Sharing einschalten
- Falls Remote Management aktiviert ist und der Schalter daher nicht sichtbar ist, dieses zuerst deaktivieren
- Vom Quell-Mac mit folgendem Befehl verbinden
open vnc://<user>@<target-host>.local
- Mit dem Passwort des Zielkontos anmelden; das Speichern des Passworts im Keychain ist optional
16. Zugriff über externe Netzwerke mit Tailscale
.local-Adressen funktionieren nur im LAN, aber Tailscale ermöglicht über einen P2P-Ende-zu-Ende-verschlüsselten WireGuard-Tunnel die Nutzung von SSH, ic, clip und Screen Sharing auch in externen Netzwerken
- Dabei werden keine Dienste ins öffentliche Internet exponiert; im Heimnetz wird direkt der LAN-Pfad verwendet
- Der Beitritt zum Tailscale-Netzwerk stellt nur die Erreichbarkeit zwischen Geräten her, daher bleiben SSH-Schlüssel oder ein Screen-Sharing-Passwort weiterhin erforderlich
- Auf dem Ziel-Mac headless installieren und sich über die ausgegebene URL anmelden
ssh <user>@<target-host>.local 'brew install tailscale'
ssh <user>@<target-host>.local 'sudo brew services start tailscale'
ssh <user>@<target-host>.local 'sudo tailscale up --operator=<user>'
- Auch auf dem Quell-Mac installieren und sich mit demselben Tailscale-Konto wie auf dem Ziel anmelden
brew install --cask tailscale-app
- Mit dem standardmäßig aktivierten MagicDNS kann man von überall mit dem Hostnamen ohne
.local zugreifen
export IC_BOX="<user>@<target-host>"
# export IC_BOX="<user>@<target-host>.local"
- Die Screen-Sharing-Adresse ebenfalls zu
open vnc://<user>@<target-host> ändern
- In der Admin Console werden die folgenden Sicherheits- und Verfügbarkeitseinstellungen empfohlen
- Device approval aktivieren, damit nicht allein mit kompromittierten Logins neue Geräte beitreten können
- Key expiry deaktivieren, damit das Zielgerät nicht nach etwa 180 Tagen durch Schlüsselablauf die Verbindung verliert
- Den tatsächlichen Fernzugriff prüfen, indem man den Quell-Mac mit einem anderen Netzwerk wie einem Smartphone-Hotspot verbindet und dann
ic ls ausführt
1 Kommentare
Hacker-News-Kommentare
Wenn es nicht um die im Artikel erwähnte Grafikentwicklung geht, gibt es keinen Grund, den Agenten auf echter Hardware zu isolieren. Ich habe ein Skript geschrieben, das mit libvirt einen dedizierten Grafik-Desktop für Claude erstellt und sogar Chrome User Acceptance Tests ausführt
Selbst wenn man ihm alle Root-Rechte gibt, kann man bei Problemen in wenigen Sekunden alles verwerfen und neu installieren
sudo useradd agent,sudo su agentusw. einfach einen separaten Benutzer an, damit der Agent nur seine eigenen Dateien kaputtmachen kann. Ich habe auch mit Headless Chrome Screenshots gemacht und VNC eingerichtet, aber der Mehrwert war geringSelbst auf einem 3-Dollar-VPS kann man bei Defekten sofort neu installieren, daher macht es Spaß, dem Agenten Root zu geben
Ich kann beim besten Willen keinen Anwendungsfall finden, bei dem AI wirklich rund um die Uhr helfen würde, aber ich möchte selbst gern einen Bedarf dafür spüren
Wenn man unterwegs plötzlich von Datadog-, Cloud-Log- und GitHub-Alerts überflutet wird, kann man Claude Code die Untersuchung überlassen und Dinge wie „Timeouts bei der API der Partnerbank treten seit einer Stunde bei etwa 15 % der Requests auf“ klassifizieren lassen. Dann kontaktiert man die zuständige Person und kehrt zum Wochenende zurück
Ein ordentliches On-Call-System wäre besser, aber angesichts der Flexibilität meines Jobs sind selbst Slack-Alerts am Wochenende noch akzeptabel
Häufiger ist die Hardware der Flaschenhals als das Abolimit
Statt Claude auf einem dritten PC zu installieren, damit es weiter Code halluziniert, den niemand will, nur um nicht zurückzufallen, codiere ich lieber selbst, weil mir das Codieren an sich Spaß macht
Ich habe auf einem alten Mac etwas Ähnliches als kostenlose Alternative zum OpenClaw-Bot eingerichtet. Gelegentlich bricht die Verbindung ab und ich muss die Steuerung per Handy erneut übernehmen, aber zusammen mit einem von Claude bedienbaren Homebridge ist es sehr nützlich
Ich habe Claude Desktop auf einem separaten Mac mini M4 installiert und steuere es mit Dispatch. Claude kann das lokale Konto, das ich ihm gegeben habe, ohnehin schon vollständig kontrollieren, daher frage ich mich, ob es einen Grund gibt, auf diese Methode umzusteigen
Statt RC für jede Host-Session separat zu starten, wäre es schön, wenn Claude meinen Rechner als Sandbox-Host nutzen könnte. Aktuell verwende ich eine Behelfskonstruktion, bei der eine Master-RC-Session für jeden Coding-Job ein neues tmux-Fenster und eine Claude-RC-Session erzeugt
Wenn RC Bugs hat, kann ich in Termux Code direkt nutzen, aber die Berechtigungsoberfläche unter iOS war etwas instabil
curlundwgetproblemlos nutztEs löst nicht alle Einschränkungen, aber mit UTM kann man macOS und Claude Code in einer virtuellen Maschine auf dem Mac installieren. UTM läuft auch unter einem Nicht-Admin-Konto und man kann die meisten nativen Mac-Tools verwenden
Allerdings ist die interaktive Performance der Claude-Code-UI in der VM nicht besonders gut, und ich bin nicht sicher, ob man das umgehen kann, indem man vom Nicht-Admin-Konto des Hosts per Terminal darauf zugreift
Statt meines alten NUC, bei dem ich die Hitzeprobleme nie lösen konnte, habe ich mein Homelab und den Medienserver mit einem HP EliteDesk mit i5 neu aufgebaut. Darauf will ich auf einem Standard-Ubuntu isolierende VMs erstellen und Claude laufen lassen, um Dispatch zu testen, oder Claude Code direkt installieren und dann die Moshi-App auf iPhone und iPad verwenden
Ich habe etwas Ähnliches mit einem alten M2 eingerichtet. Für leistungsfähige lokale Modelle reicht es nicht, aber für OpenClaw und Claude ist es perfekt
Erstaunlich, dass M1- und M2-MacBooks inzwischen im Vergleich zum Mac mini auch preislich recht günstig wirken