Installation
Dieses Kapitel begleitet Sie von einem leeren Mac bis zu einer vollständig installierten Kopie von Bromure Agentic Coding: was die App von Ihrem Rechner benötigt, wie Sie ein Release herunterladen und installieren, was beim ersten Start geschieht, wie das Linux-Base-Image heruntergeladen, überprüft und aktuell gehalten wird und wie Sie alles sauber entfernen. Sobald die Installation abgeschlossen ist, fahren Sie mit dem Schnellstart fort, um Ihren ersten Arbeitsbereich zu erstellen.
Systemanforderungen
| Voraussetzung | Minimum |
|---|---|
| Mac | Apple Silicon (M1 oder neuer) |
| macOS | macOS 14 (Sonoma) oder neuer |
| Freier Festplattenplatz | Mindestens 8 GB für die Ersteinrichtung; rechnen Sie mit etwa 6–8 GB für das installierte Base-Image, zuzüglich der Datenträger pro Arbeitsbereich |
| Netzwerk | Internetzugang für den Base-Image-Download (ein Offline-Fallback mit lokalem Build ist vorhanden; siehe unten) |
Es gibt keinen Intel-Build und wird auch keinen geben: Die App führt ihre Linux-VMs auf Apples Virtualization.framework aus, das nur ARM64-Gäste auf Apple-Silicon-Hosts unterstützt.
Zwei Vorkehrungen zum Festplattenplatz sind integriert:
- Jede Image-Installation prüft zunächst, dass mindestens 8 GB auf dem Volume frei sind, das das Support-Verzeichnis der App enthält, und schlägt andernfalls sofort mit einer klaren Meldung fehl.
- Während eines lokalen Image-Builds bricht ein Monitor den Build mit einem expliziten Fehler „Festplatte voll" ab, wenn der freie Speicherplatz unter 1 GB fällt, statt das Installationsprogramm rätselhaft in einen Timeout laufen zu lassen.
Wenn Sie den optionalen eingebetteten Webbrowser innerhalb von Arbeitsbereichen nutzen möchten, planen Sie zusätzlichen Speicherplatz für dessen separates Alpine/Chromium-Image ein (etwa 500 MB komprimiert für den Download); diese Installation wird unter Einstellungen → Browser behandelt.
Den Release-Build installieren
Release-Builds werden als signiertes, notarisiertes Disk-Image (BromureAgenticCoding.dmg) unter bromure.io veröffentlicht.
- Laden Sie die DMG von der Download-Seite von bromure.io herunter.
- Öffnen Sie die DMG. Das Fenster zeigt das App-Symbol und einen Pfeil, der auf einen Applications-Symlink zeigt.
- Ziehen Sie Bromure Agentic Coding auf den Applications-Symlink.
- Werfen Sie die DMG aus und starten Sie die App aus
/Applications.
Da die veröffentlichte DMG notarisiert und mit einem Ticket versehen ist, öffnet Gatekeeper sie ohne Warnungen. Wenn Sie eine DMG von einer anderen Quelle als bromure.io bezogen haben und Gatekeeper sich beschwert, sollten Sie das als Warnsignal behandeln und nicht als etwas, das umgangen werden sollte.
Erster Start
Das Willkommensfenster
Die App kann keine Agent-Arbeitsbereiche ausführen, bevor ein Linux-Base-Image auf Ihrem Mac vorhanden ist. Wenn Sie sie zum ersten Mal starten (noch kein Base-Image), öffnet sie ein Willkommensfenster anstelle des Arbeitsbereich-Browsers:
Das Fenster – mit dem Titel Bromure Agentic Coding – zeigt das App-Symbol, die Überschrift Willkommen bei Bromure Agentic Coding, eine kurze Erläuterung („Die Ersteinrichtung lädt ein vorgefertigtes Ubuntu-24.04-Image herunter (oder erstellt es lokal, wenn der Download nicht verfügbar ist) und installiert Node.js, Claude Code, Codex und die Terminal-Tools in einer isolierten VM. Geschieht nur einmal pro Base-Image-Version.") und eine markante Schaltfläche Erste Schritte.
Klicken Sie auf Erste Schritte (oder drücken Sie die Eingabetaste – es ist die Standardschaltfläche), um zu beginnen. Dies führt genau dieselbe Installation aus wie der CLI-Befehl bromure-cli init.
Hinweis: Der Willkommenstext nennt Node.js, Claude Code und Codex als Beispiele. Vollständig betrachtet sind Node.js und die kostenlosen Tools bereits im vorgefertigten Image enthalten, und die Einrichtung installiert zusätzlich Grok CLI und das Google Cloud SDK – siehe Was die Ersteinrichtung macht weiter unten.
Das Willkommensfenster wird übersprungen, wenn die App rein als Remote-Spiegelungs-Client (siehe Fernzugriff) oder als fensterloser Headless-Agent gestartet wird, da keiner von beiden ein lokales Base-Image benötigt.
Das Fortschrittsfenster der Einrichtung
Nach Erste Schritte wechselt das Fenster zu einem Fortschrittsbildschirm mit dem Titel Bromure Agentic Coding – Setup, überschrieben mit „Base-Image wird erstellt" / „Dies ist die einmalige Installation. Schließen Sie das Fenster nicht." Es zeigt:
- Eine Status-Pille, die den aktuellen Schritt benennt – beim Download-Pfad: „Image-Katalog wird abgerufen…", „Ubuntu-24.04-Image wird heruntergeladen (… GB)…", „Prüfsumme wird überprüft…", „Image wird entpackt…", „Empfohlene Pakete werden installiert (N Schritt(e), ~2-5 Min.)…" und schließlich „Base-Image bereit unter … (vNNN)".
- Ein einzelner bestimmter Fortschrittsbalken mit numerischer Prozentangabe. Auf dem Download-Pfad ist der Balken phasengewichtet: Der Image-Download füllt 0–60 %, das Entpacken 60–80 % und die Postinstall-Schritte den Rest.
- Eine standardmäßig eingeklappte Aufklappansicht Konsolenausgabe, die das rohe Installationsprotokoll (die serielle Konsole der Helfer-VM) streamt. Der Text ist auswählbar, und eine Kopiersymbol-Schaltfläche kopiert das gesamte Protokoll in die Zwischenablage. Es werden nur die letzten 100 Zeilen auf dem Bildschirm behalten.
Falls etwas fehlschlägt, wird die Status-Pille durch eine rote Fehlerzeile ersetzt und eine Schaltfläche Schließen erscheint.
Der Versuch, das Fenster während der Installation zu schließen, löst eine Warnung aus – Base-Image-Neuerstellung abbrechen? („Das Image wird in einem unvollständigen Zustand belassen. Sie müssen die Neuerstellung erneut ausführen, bevor Sie neue Sitzungen starten.") – mit den Schaltflächen Neuerstellung abbrechen und Weiterbauen. Wenn Sie abbrechen und ein früheres funktionierendes Image vorhanden ist, kehrt die App zum normalen Hauptfenster zurück; andernfalls kehrt sie zum Willkommensbildschirm zurück.
Hinweis: Während eine Image-Installation oder -Ergänzung läuft, wird die optionale SSH-Fernzugriffs-Eingangstür angehalten und danach automatisch fortgesetzt (siehe Fernzugriff).
Die bromure-cli-Abfrage
Beim ersten GUI-Start aus einem installierten App-Bundle bietet die App an, ihren Kommandozeilen-Einstiegspunkt zu installieren: Das Kommandozeilen-Tool „bromure-cli" installieren? – „Dies erstellt einen Symlink unter /usr/local/bin/bromure-cli, damit Sie Bromure vom Terminal aus steuern können (vm, exec, trace, …). Es benötigt einmalig Ihr Administratorpasswort."
- Installieren erstellt den Symlink unter
/usr/local/bin/bromure-cliüber eine einmalige Administratorpasswort-Abfrage (es wird kein privilegierter Helfer installiert). - Nicht jetzt verschiebt die Entscheidung; Sie werden beim nächsten Start erneut gefragt.
- Nicht mehr fragen unterdrückt die Abfrage dauerhaft (gespeichert im UserDefaults-Schlüssel
cliSymlinkDeclined).
Wenn die Binärdatei über den Namen bromure-cli aufgerufen wird, sind Image-Verwaltungsbefehle (init, info, reset und die Publisher-seitigen Verben), der GUI-Standard und der MCP-Server ausgeblendet; ein nacktes bromure-cli gibt Hilfe aus. Die vollständige Befehlsreferenz finden Sie unter Automatisierung & CLI. Die Abfrage wird bei Headless-Agent-, Entwicklungs- (swift run) und Remote-Spiegelungs-Starts übersprungen.
Was die Ersteinrichtung macht
Die Ersteinrichtung erzeugt das Base-Image: einen 24 GB großen Sparse-Datenträger mit Ubuntu 24.04 („noble") und EFI/GRUB-Boot, von dem jede Arbeitsbereich-VM geklont wird. Zwei Pfade erzeugen es; der Download wird bevorzugt und der lokale Build ist der Fallback. Beide schreiben in .partial-Dateien und überführen die Ergebnisse atomar, sodass eine unterbrochene Installation niemals ein halb geschriebenes Image an die Stelle eines funktionierenden setzt.
Der Download des vorgefertigten Images
Der bevorzugte Pfad lädt ein vorgefertigtes Image herunter, das wöchentlich unter https://dl.bromure.io veröffentlicht wird:
- Katalogabruf. Die App ruft den signierten Image-Katalog unter
https://dl.bromure.io/images/img-catalog.jsonab, der das aktuelle Image benennt (UUID, Version, SHA-256, Größen) und die Postinstall-Schritte auflistet. Der Katalog trägt eine ed25519-Signatur, die mit demselben Schlüssel erstellt wurde, der App-Updates signiert (der Sparkle-SUPublicEDKey); die Signatur umfasst die Image-Identität, seine Prüfsumme und jeden Postinstall-Befehl. Unsignierte oder ungültige Kataloge werden abgelehnt, und ein Katalog, der früher signiert wurde als einer, den die App bereits übernommen hat, wird niemals akzeptiert (Rollback-Schutz). - Download. Das gzip-komprimierte Image (etwa 3 GB komprimiert) wird heruntergeladen und seine SHA-256 überprüft. Fehlgeschlagene Downloads werden bis zu 3-mal wiederholt, wobei der Katalog zwischen den Versuchen neu abgerufen wird – dies schließt das Wettrennen mit der wöchentlichen Veröffentlichung, die den vorherigen Build mitten im Download löscht.
- Entpacken. Das Image wird sparse in
base.img.partialentpackt: 24 GB logisch, aber nur etwa 6–8 GB physischer Festplattenplatz. - Postinstall. Die App startet eine kleine Helfer-VM (Alpine-Netboot-Installer), die die Postinstall-Schritte des Katalogs als root in einem chroot auf dem Image ausführt (siehe nächster Abschnitt).
- Überführung. Ein frischer EFI-Variablenspeicher wird erstellt, und
base.img,efivars.bin,base.versionundimage-state.jsonwerden atomar überführt.
Postinstall-Schritte: die empfohlenen Pakete
Das veröffentlichte Image muss rechtlich weiterverteilbar sein, daher enthält es ausschließlich freie Software (Node.js, docker, kitty, gh, glab, kubectl, doctl, awscli, azure-cli und mehr sind eingebacken). Alles Unfreie wird als signierte Postinstall-Schritte im Katalog deklariert und auf Ihrem Rechner in Ihre Kopie des Images installiert. Die Basis-Schritte bei Version 4.3.0 sind:
| Seq | Schritt | Publisher | Installationsart |
|---|---|---|---|
| 10 | Claude Code | Anthropic | npm, umschlossen vom Socket.dev-Lieferketten-Scanner (npx --yes @socketsecurity/cli npm install -g --silent @anthropic-ai/claude-code) |
| 20 | Codex CLI | OpenAI | npm, Socket.dev-umschlossen |
| 30 | Grok CLI | x.ai | Hersteller-Installationsskript |
| 40 | Google Cloud SDK | gcloud, gsutil, bq |
Die Zustimmung funktioniert wie folgt: Bei einer Neuinstallation laufen alle Basis-Schritte ohne zusätzliche Abfrage – das Starten der Einrichtung vom Willkommensbildschirm (oder die Eingabe von bromure-cli init) ist die Zustimmung. Später veröffentlichte Schritte erfordern eine ausdrückliche Genehmigung über die Abfrage Neue empfohlene Pakete, die unter Base-Image-Updates und Versionierung beschrieben ist. Da die Katalogsignatur den Befehlstext jedes Schritts umfasst, kann ein kompromittiertes CDN nicht ändern, was als root in Ihrem Image ausgeführt wird.
Der lokale Build als Fallback
Wenn der Download aus einem download-seitigen Grund fehlschlägt – offline, CDN-Ausfall, Prüfsummen- oder Entpackfehler – zeigt die App eine Meldung Image-Download fehlgeschlagen mit den Schaltflächen Lokal erstellen und Abbrechen. Sie greift niemals stillschweigend auf den Fallback zurück. (Der CLI-Befehl bromure-cli init hingegen greift automatisch ohne Nachfrage auf den Fallback zurück.)
Der lokale Build erzeugt dasselbe Image auf Ihrem eigenen Mac:
- Lädt den Alpine-3.22-Netboot-Kernel und die initramfs herunter (etwa 25 MB, im Support-Verzeichnis zwischengespeichert).
- Weist einen frischen 24 GB großen Sparse-Datenträger zu.
- Startet eine einmalige Alpine-Installer-VM (4 vCPUs, 4 GB RAM), gesteuert über ihre serielle Konsole, die Ubuntu noble debootstrapped, die freien Tools und GRUB installiert.
- Wendet dieselben Katalog-Postinstall-Schritte an wie der Download-Pfad.
Fortschrittsmeldungen umfassen „Alpine-Netboot-Installer wird heruntergeladen…", „24GB-Sparse-Datenträger wird zugewiesen…", „Alpine-Installer wird gestartet (dieser steuert die Ubuntu-Installation)…" und „setup.sh wird ausgeführt…". Der Fortschrittsbalken auf diesem Pfad wird von Installer-Protokollzeilen gesteuert und begrenzt sich bei 97 %, bis der abschließende Sprung „Base-Image bereit" erfolgt.
Der lokale Build enthält eine Maschinerie zur VPN-Resilienz: Alle Paketabrufe des Gasts werden über einen in-process host-seitigen Proxy geleitet, der Installer begrenzt die MTU der VM-NIC vor jedem Download, DHCP erhält eine zweite Chance, eine Bedingung ohne Netzwerk bricht früh ab, und ein Kernel-Panic des Gasts löst einen automatischen sauberen Wiederholungsversuch aus. Zwei zugehörige Notausgänge:
- Wenn die Installer-VM keinen DHCP-Lease erhält, schlägt der Build mit einer Meldung Netzwerkproblem während der Base-Image-Erstellung fehl, die Reparieren und wiederholen (startet die macOS-Netzwerk-Daemons neu; fragt nach Ihrem Administratorpasswort) oder Abbrechen anbietet.
- Auf VPNs, die große Übertragungen ins Leere laufen lassen (zum Beispiel WireGuard bei MTU 1420), können Sie die MTU der Installer-VM festlegen:
defaults write io.bromure.agentic-coding vm.mtu -int 1400.
Sie können den lokalen Build auch jederzeit ausdrücklich wählen – Base-Image neu erstellen… → Lokal neu erstellen im App-Menü oder bromure-cli init --build-local.
Während der Einrichtung verwendete Netzwerk-Endpunkte
Für Firewall- und Proxy-Administratoren: Die Installation kommuniziert mit:
| Endpunkt | Zweck |
|---|---|
https://dl.bromure.io | Image-Katalog (images/img-catalog.json) und Image-Downloads |
https://dl-cdn.alpinelinux.org | Alpine-3.22-Netboot-Dateien (lokaler Build und Postinstall-Helfer-VM) |
| Paket-Spiegel und Hersteller-Endpunkte | Ubuntu-Pakete, npm-Registry, Socket.dev, Hersteller-Installationsskripte, vom Installer über den host-seitigen Proxy der App abgerufen |
https://bromure.io/api/v1/release-agentic-coding | Sparkle-Appcast für App-Updates (nicht Teil der Image-Einrichtung) |
Die Installation selbst öffnet keine lauschenden TCP-Ports; der host-seitige Paket-Proxy, der während der Builds verwendet wird, bindet pro Build einen ephemeren, nur-localhost-Port.
Einrichtungszeit und Festplattennutzung
| Pfad | Typische Dauer | Hinweise |
|---|---|---|
| Vorgefertigter Download | Übertragungszeit für ~3 GB, plus Entpacken, plus ~2–5 Minuten Postinstall | Dominiert von Ihrer Verbindungsgeschwindigkeit |
| Lokaler Build | Etwa 10 Minuten | Install-Marker-Timeout 30 Minuten; harter Timeout 45 Minuten; reine Postinstall-Läufe 20/30 Minuten |
Festplattennutzung:
- Zum Start: mindestens 8 GB frei auf dem Volume, das
~/Library/Application Support/BromureAC/enthält. - Nach der Installation: Das Base-Image belegt physisch etwa 6–8 GB (24 GB logisch – Sparse-Blöcke kosten erst Platz, wenn sie geschrieben werden).
- Pro Arbeitsbereich: Der Datenträger jedes Arbeitsbereichs beginnt als APFS-Copy-on-Write-Klon des Base-Images, ist also anfänglich nahezu kostenlos und wächst nur, wenn der Arbeitsbereich Daten schreibt.
Die Einrichtung geschieht einmal pro Base-Image-Version – nachfolgende Starts gehen direkt zum Arbeitsbereich-Browser.
Wo alles gespeichert wird
Alles, was die App schreibt, liegt unter Ihrem Benutzerkonto; nichts wird systemweit installiert, außer dem optionalen bromure-cli-Symlink.
| Pfad | Inhalt |
|---|---|
~/Library/Application Support/BromureAC/ | Das Support-Verzeichnis der App: Base-Image, Kataloge, Arbeitsbereiche, CA pro Installation |
~/Library/Application Support/BromureAC/base.img | Das Ubuntu-Base-Image (24 GB logisch, ~6–8 GB physisch) |
~/Library/Application Support/BromureAC/efivars.bin | EFI-Variablenspeicher für das Base-Image |
~/Library/Application Support/BromureAC/base.version | Versionsstempel des installierten Images (z. B. 200, 200.1) |
~/Library/Application Support/BromureAC/image-state.json | Image-Herkunft und angewendete Postinstall-Schritt-UUIDs |
~/Library/Application Support/BromureAC/img-catalog.json | Zwischengespeicherte Kopie des heruntergeladenen Image-Katalogs |
~/Library/Application Support/BromureAC/profiles/ | Ein Verzeichnis pro Arbeitsbereich: profile.json, disk.img (der Copy-on-Write-Klon des Base-Images für den Arbeitsbereich), home.img, SSH-Schlüssel |
~/Library/Application Support/BromureAC/alpine-vmlinuz, alpine-initramfs, alpine-initramfs-shimmed | Zwischengespeicherte Alpine-Netboot-Installer-Dateien |
~/Library/Application Support/BromureAC/browser/ | Die eigene Kopie der App des eingebetteten Browser-Images, falls installiert (~/Library/Application Support/Bromure/ – das Verzeichnis der benachbarten Browser-App – wird wiederverwendet, wenn vorhanden) |
~/Library/Application Support/BromureAC/base.img.partial, base.img.gz.partial, efivars.partial | Vorübergehende Installationsdateien; ihre Präsenz bedeutet, dass eine Installation läuft oder unterbrochen wurde |
~/Library/LaunchAgents/io.bromure.agentic-coding.boot.plist | Boot-bei-Anmeldung-LaunchAgent, automatisch geschrieben, wenn ein Arbeitsbereich den Start beim Systemstart aktiviert (siehe Arbeitsbereiche) |
/usr/local/bin/bromure-cli | Optionaler CLI-Symlink |
UserDefaults-Domäne io.bromure.agentic-coding | App-Einstellungen |
Zwei Elemente liegen notwendigerweise anderswo:
- Der Zugangsdaten-Hauptschlüssel wird im macOS Data Protection Keychain gespeichert (markiert als nur dieses Gerät – er verlässt den Mac niemals), nicht im Support-Verzeichnis. Geheimnisse auf der Festplatte sind AES-256-GCM-Chiffretext; siehe Zugangsdaten.
- Das App-Bundle bettet ein privilegiertes launchd-Daemon-plist ein (
io.bromure.fatclient-tunnel), das vom Remote-Spiegelungs-Netzwerkhelfer verwendet wird. Es wird bei Bedarf registriert, und die erste Registrierung blendet einen Genehmigungsschalter unter Systemeinstellungen › Allgemein › Anmeldeobjekte ein; siehe Fernzugriff.
Der Befehl bromure-cli info gibt jederzeit den Versionsstempel des installierten Images, seine logische und physische Größe sowie seinen Pfad aus.
Base-Image-Updates und Versionierung
Versionsstempel und Punkt-Revisionen
Das installierte Image speichert seine Version in base.version. Der Major-Teil stammt aus der Versionskonstante, die mit der App gebündelt ist (200 bei Version 4.3.0); jede Neuerstellung, jeder erneute Download oder jede Ergänzung beim selben Major hängt eine Punkt-Revision an (200 → 200.1 → 200.2). Die Beidatei image-state.json speichert, woher das Image stammt und welche Postinstall-Schritt-UUIDs angewendet wurden.
Zwei Vergleiche nutzen diese Stempel:
- Die App-Ebene-Update-Prüfung vergleicht nur die Majors, sodass Sie nur bei bewussten Image-Releases aufgefordert werden.
- Die Drift-Erkennung pro Arbeitsbereich vergleicht den vollständigen Stempel, der beim Klonen eines Arbeitsbereichs erfasst wurde, mit dem aktuellen; jede Änderung (einschließlich einer Punkt-Revision) veranlasst den Arbeitsbereich, ein Zurücksetzen auf das neue Base anzubieten. Ein Image-Update berührt von sich aus niemals bestehende Arbeitsbereich-Datenträger – Drift-Resets sind immer Ihre Entscheidung (siehe Arbeitsbereiche).
Vorgefertigte Images werden wöchentlich mit frischen Ubuntu-Paketen neu veröffentlicht, aber wöchentliche Neuveröffentlichungen erhöhen die Version nicht – nur eine bewusste Versionserhöhung in einem App-Release löst eine Update-Abfrage aus, sodass Sie nicht jede Woche genervt werden. Ein veralteter CDN-Katalog kann niemals ein Downgrade anbieten: Nur strikt neuere Versionen zählen.
Die Update-Abfrage
Wenn eine neuere Major-Image-Version verfügbar ist – entweder weil ein App-Update eine bündelt oder weil der Katalog eine veröffentlicht – zeigt der Start eine nicht-blockierende Meldung, Base-Image-Update verfügbar: „Ihr Base-Image ist bei Version X, aber Version Y ist verfügbar. Das aktuelle Image funktioniert weiterhin – das Update lädt das neue vorgefertigte Image herunter (einige GB; lokale Neuerstellung als Fallback) und wendet die empfohlenen Pakete erneut an."
- Jetzt aktualisieren startet die Download-zuerst-Neuinstallation im Setup-Fenster.
- Später verwirft sie für diesen Start; Sie werden beim nächsten Start erneut gefragt. Das bestehende Image funktioniert in beiden Fällen weiter.
Neue empfohlene Pakete
Wenn der Katalog Postinstall-Schritte hinzugewinnt, die in image-state.json noch nicht als angewendet erfasst sind, zeigt der Start eine Zustimmungsmeldung, Neue empfohlene Pakete, die die neuen Schritte auflistet: „Es wird empfohlen, neue Pakete zu installieren: … Bromure installiert sie in das Base-Image (einige Minuten, in der Hintergrund-VM). Bestehende Arbeitsbereiche laufen weiter; die Drift-Abfrage jedes einzelnen bietet ein Zurücksetzen an, um sie zu übernehmen."
- Installieren wendet die Schritte auf einen APFS-Copy-on-Write-Klon von
base.imgan und tauscht das ergänzte Image atomar ein – bestehende Arbeitsbereiche laufen durchgehend weiter. Der Versionsstempel erhält eine Punkt-Revisions-Erhöhung (z. B.200→200.1). Der Fortschritt erscheint im Setup-Fenster mit dem Titel „Empfohlene Pakete werden installiert" / „Das Base-Image wird ergänzt. Bestehende Arbeitsbereiche funktionieren weiter." - Später verschiebt die Entscheidung; Sie werden beim nächsten Start erneut gefragt.
Nichts wird jemals ohne diese Zustimmung ausgeführt – Postinstall-Schritte laufen als root innerhalb des Base-Images. Installationen, die image-state.json vorausgehen, werden beim Start migriert: Alle gebündelten Basis-Schritte werden als bereits angewendet markiert.
Manuelle Neuerstellung
Um jederzeit eine Neuinstallation zu erzwingen, wählen Sie Base-Image neu erstellen… aus dem Anwendungsmenü (unter Fernzugriff…). Es fragt Das Base-Image aktualisieren? – „Lädt das neueste vorgefertigte Image herunter (oder führt das vollständige lokale Installationsprogramm erneut aus, ~5–10 Min.) und wendet die empfohlenen Pakete erneut an. Die Datenträger bestehender Arbeitsbereiche werden nicht berührt – beim nächsten Start bietet die Drift-Abfrage jedes einzelnen ein Zurücksetzen auf das neue Base an." – mit Vorgefertigtes herunterladen, Lokal neu erstellen und Abbrechen.
Das alte Image bleibt aktiv, bis das neue vollständig erstellt ist (dank der .partial-Dateien und des atomaren Austauschs), sodass während der Neuerstellung weiterhin Sitzungen gestartet werden können. Das CLI-Äquivalent ist bromure-cli init (Download-zuerst) oder bromure-cli init --build-local.
Die App aktuell halten
Die App aktualisiert sich selbst mit Sparkle: Sie prüft https://bromure.io/api/v1/release-agentic-coding automatisch einmal am Tag, und Updates werden gegen denselben angehefteten öffentlichen Schlüssel verifiziert, der die Image-Kataloge signiert. Ein manueller Eintrag Nach Updates suchen… befindet sich im Anwendungsmenü, direkt unter Über. (Der Eintrag fehlt in Entwicklungs-Builds, wo der Updater nicht initialisiert ist.)
App-Updates und Base-Image-Updates sind unabhängig: Das Aktualisieren der App fordert nur dann zu einem Image-Update auf, wenn die neue App-Version die gebündelte Image-Version bewusst erhöht.
Umzug auf einen neuen Mac
Es gibt keinen integrierten Migrationsassistenten. Der empfohlene Weg ist eine Neuinstallation plus eine selektive Kopie Ihrer Arbeitsbereich-Daten:
- Installieren Sie auf dem neuen Mac die App und schließen Sie die Ersteinrichtung ab (das erneute Herunterladen des Base-Images ist schneller und sauberer als das Kopieren –
base.imgundefivars.binsind maschinenspezifische Artefakte, die die App kostenlos neu erstellt). - Beenden Sie die App auf beiden Macs.
- Kopieren Sie
~/Library/Application Support/BromureAC/profiles/vom alten Mac an denselben Ort auf dem neuen. Jedes Unterverzeichnis ist ein Arbeitsbereich: seine Definition (profile.json), sein VM-Datenträger (disk.img– Ihre geklonten Repos, Caches und Shell-Verlauf), sein Home-Volume und seine SSH-Schlüssel. - Starten Sie die App auf dem neuen Mac. Ihre Arbeitsbereiche erscheinen im Arbeitsbereich-Browser. Wenn ein Arbeitsbereich von einer anderen Base-Image-Revision als der jetzt installierten geklont wurde, bietet seine Drift-Abfrage ein Zurücksetzen an – lehnen Sie es ab, um den aktuellen Datenträger des Arbeitsbereichs zu behalten (siehe Arbeitsbereiche).
Drei Dinge werden absichtlich nicht übertragen:
- Zugangsdaten. Der Hauptschlüssel, der gespeicherte Geheimnisse verschlüsselt, liegt im Data Protection Keychain des Macs und ist als nur dieses Gerät markiert. Verschlüsselte Geheimnis-Blobs vom alten Mac sind auf dem neuen unlesbar; die nicht-sensiblen Metadaten in jeder
profile.jsonbleiben erhalten, sodass das erneute Eingeben Ihrer API-Schlüssel und Token im Zugangsdaten-Bereich alles ist, was benötigt wird (siehe Zugangsdaten). - Enterprise-Registrierung. Die Installationsidentität (mTLS-Blattzertifikat) ist installationsspezifisch und nur gerätebezogen gespeichert; registrieren Sie den neuen Mac erneut (siehe Enterprise).
- App-Einstellungen in der Defaults-Domäne
io.bromure.agentic-coding, es sei denn, Sie migrieren sie selbst.
Tipp: Arbeitsbereich-
disk.img-Dateien sind sparse, und ihre Copy-on-Write-Einsparungen überleben eine Netzwerkkopie nicht – ein Arbeitsbereich, der auf dem alten Mac einige GB kostet, kann bei der Übertragung in seiner vollen geschriebenen Größe materialisieren. Verwenden Sie eine sparse-fähige Kopie (zum Beispielrsync -aS) und prüfen Sie zuerst den freien Speicherplatz am Ziel.
Apples Migrationsassistent kopiert das gesamte Support-Verzeichnis als gewöhnliche Dateien; das funktioniert, aber Sie landen dennoch in den oben genannten Zugangsdaten- und Registrierungssituationen, und das kopierte Base-Image verliert seine Copy-on-Write-Beziehung zu den Arbeitsbereich-Datenträgern (was zusätzlichen physischen Platz kostet, bis Sie es neu erstellen).
Vollständig deinstallieren
Um nur das Base-Image zurückzusetzen und dabei die App und Ihre Arbeitsbereiche zu behalten, führen Sie bromure-cli reset aus (fügen Sie --yes hinzu, um die Bestätigung zu überspringen). Es löscht base.img, efivars.bin, base.version und image-state.json, sodass der nächste Start die Einrichtung von Grund auf beginnt. Es berührt niemals Arbeitsbereiche und lässt die zwischengespeicherten Alpine-Netboot-Dateien und den zwischengespeicherten Katalog an Ort und Stelle.
Es gibt kein gebündeltes Deinstallationsprogramm. Die vollständige Entfernung erfolgt manuell:
-
Beenden Sie die App (und jeden Headless-Agent: prüfen Sie mit
pgrep -fl bromure-cli). -
Ziehen Sie Bromure Agentic Coding aus
/Applicationsin den Papierkorb. -
Löschen Sie das Support-Verzeichnis – Base-Image, alle Arbeitsbereiche und ihre Datenträger, Caches und die CA pro Installation:
rm -rf ~/Library/Application\ Support/BromureAC -
Löschen Sie den Boot-bei-Anmeldung-LaunchAgent, falls vorhanden:
rm -f ~/Library/LaunchAgents/io.bromure.agentic-coding.boot.plist -
Entfernen Sie die Einträge der App unter Systemeinstellungen › Allgemein › Anmeldeobjekte & Erweiterungen (der Genehmigungsschalter des Remote-Spiegelungs-Tunnel-Daemons, falls Sie ihn jemals aktiviert haben).
-
Entfernen Sie den CLI-Symlink, falls Sie ihn installiert haben:
sudo rm -f /usr/local/bin/bromure-cli -
Löschen Sie optional die Einstellungen der App:
defaults delete io.bromure.agentic-coding
Warnung: Schritt 3 löscht dauerhaft den Datenträger jedes Arbeitsbereichs – geklonte Repositories, nicht committete Arbeit, Paket-Caches, Shell-Verlauf. Pushen oder exportieren Sie zuerst alles, was Ihnen wichtig ist.
Der Zugangsdaten-Hauptschlüssel im Keychain wird verwaist, sobald sein Chiffretext weg ist; er ist harmlos, aber Sie können ihn mit der Schlüsselbundverwaltung entfernen, indem Sie nach io.bromure.agentic-coding.master-key suchen.