6 Punkte von GN⁺ 1 일 전 | 1 Kommentare | Auf WhatsApp teilen
  • 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

 
GN⁺ 1 일 전
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

    • Ich lege mit sudo useradd agent, sudo su agent usw. 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 gering
      Selbst auf einem 3-Dollar-VPS kann man bei Defekten sofort neu installieren, daher macht es Spaß, dem Agenten Root zu geben
    • Auf einem Mac-Host kann man in einer virtuellen Maschine einen macOS-Gast ausführen, und Apple erlaubt das ausdrücklich
    • Wenn genug Speicher vorhanden ist, kann man in einer VM ein dediziertes iMessage für Claude einrichten, aber auch ungenutzte ältere Apple-Hardware lässt sich gut verwenden
    • Dieses Skript sieht aus, als wäre es von Claude generierter Code; nach etwa 250 Zeilen habe ich das Interesse verloren, weil mich der inkonsistente Code ermüdet hat
  • 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

    • Wer geübt mit Claude Code ist, nutzt kaum noch eine IDE, daher gibt es außer Gewohnheit kaum einen Grund, nicht stattdessen auf dem Handy zu arbeiten
      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
    • Ich lasse Claude vor allem Data-Science-Analysen, die mehrere Stunden dauern, überwachen. Per Remote-Steuerung bekomme ich Bescheid, wenn etwas fertig ist oder zusätzliche Prüfung nötig ist, und neue Ideen kann ich sofort in die Warteschlange stellen
      Häufiger ist die Hardware der Flaschenhals als das Abolimit
    • Wenn noch Tokens übrig sind, habe ich es für Fuzzing genutzt, bei dem unter Verwendung von Domänen- und Source-Code-Wissen Fuzzing-Methoden ausgewählt werden, für ähnliche Optimierungsprobleme und zum Ausführen von Microsofts SkillOpt
    • Mit Claude Cowork habe ich eine Checkliste und Backups erstellt, um mein Notebook sicher neu aufzusetzen. Es hat SSH-Konfigurationen, Apps, Downloads, Dokumente usw. geprüft, anschließend sogar das Backup übernommen und nach der Neuinstallation auch den Wiederherstellungsablauf dokumentiert, sodass ich eine lange aufgeschobene Aufgabe endlich erledigen konnte
    • Nützlich war es, in einer separaten Umgebung GUI-basiertes Google Chrome und Figma bedienen zu lassen, Jobs von über einer Stunde laufen zu lassen, während mein Hauptrechner geschlossen bleibt, und CPU- sowie ressourcenintensive Aufgaben wie mit Gemma, Whisper und Qwen auszulagern
  • 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

    • Der Großteil der Inferenz läuft doch bei Anthropic, daher frage ich mich, warum ein M4 nötig sein sollte. Wenn man keine besonders ressourcenintensiven Apps ausführt, wirkt das überdimensioniert
    • RC war leistungsfähiger als Dispatch und kam der direkten Nutzung von Claude Code näher, aber verglichen mit einer von Claude kontrollierten Sandbox fehlen auch im RC-Modus noch Funktionen
      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
    • Dispatch/Cowork ist im Grunde Claude Code in einem Container. Der Abschnitt „Why not run it in a container?“ im Artikel liefert die Antwort; bei Cowork kommt es wegen Container-Berechtigungen vor, dass PDFs oder andere Dateien weder heruntergeladen noch gelesen oder geschrieben werden können, während normales Claude Code curl und wget problemlos nutzt
    • Dispatch unterscheidet sich von diesem Ansatz und ist für einige Aufgaben, einschließlich Connectors, sehr praktisch. Trotzdem wirkt es zunehmend wie schrittweise auf Cowork aufgesetzte Funktionalität ohne eine einheitliche Strategie für Mobilgeräte, Desktop und Notebook
  • Es 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

    • UTM unterstützt keine Grafikbeschleunigung, daher sind die Browser-Funktionen eingeschränkt. Selbst wenn man keine Beschleunigung braucht, konnten Browser, die im virtuellen Betriebssystem von UTM liefen, einige moderne CAPTCHAs und Browser-Fingerprinting-Prüfungen nicht bestehen
  • 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 lasse Claude ebenfalls in einer Ubuntu-VM laufen und übertrage ihm Dinge, die ich früher mit periodischen Jobs erledigt hätte. Wenn man kein iMessage braucht, frage ich mich, welchen zusätzlichen Vorteil das Mac-Setup bringt
  • 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

    • Bei mir ist es umgekehrt: Ich nutze einen leistungsstarken Framework Desktop als headless AI-Maschine und ein M1 MacBook Pro für den Alltag, und das funktioniert gut
    • MacBook Air und MacBooks mit mehr als 16 GB sind wegen solcher Nachfrage offenbar viel zu teuer geworden