Direkt zum Inhalt
ColliePWA

01/Documentation

Collie installieren

Das passende Frontend und anschließend die Installation für Ihr System: Linux, Arch und Omarchy, Nix, macOS, Windows oder als Herdr-Plugin. Behandelt den ersten Start, die Einrichtung auf einem iPhone oder Android-Smartphone, Aktualisierungen und die Deinstallation.

Installieren Sie Collie auf Ihrem System, starten Sie es und richten Sie es auf Ihrem Smartphone ein. Lesen Sie zuerst Sicherheit: Collie gewährt bauartbedingt Fernzugriff auf die Shell Ihres Rechners.

Bevor Sie beginnen

Collie benötigt ein Frontend: eine Komponente, die es über HTTPS ausliefert und den Zugriff auf Sie beschränkt.

Das Standard-Frontend ist Tailscale. collie start führt tailscale serve für Sie aus, und Ihr Smartphone erreicht Collie über Ihr Tailnet, Ihr privates Tailscale-Netzwerk. Der Rest dieser Seite setzt Tailscale voraus. Für einen Identity-Aware Proxy, einen Reverse-Proxy, Cloudflare Tunnel oder NetBird siehe Eingangstüren, Produkt für Produkt.

Bereiten Sie bei Tailscale drei Dinge vor:

  1. Binden Sie den Host in Ihr Tailnet ein, indem Sie Tailscale dort installieren und tailscale up ausführen.
  2. Aktivieren Sie HTTPS-Zertifikate für das Tailnet, indem Sie die Admin-Konsole öffnen und HTTPS aktivieren auswählen.
  3. Binden Sie das Smartphone in dasselbe Tailnet ein, indem Sie die Tailscale-App installieren und sich mit demselben Konto anmelden.

collie start bricht mit einem Fehler ab, wenn HTTPS deaktiviert ist. Das Smartphone benötigt HTTPS außerdem, um Collie auf dem Startbildschirm zu installieren und Web-Push zu empfangen.

Zwei Wege für die Ausführung

Jeder Collie ist von einer von zwei Arten, und jeder Befehl auf dieser Seite ist für beide einzeln aufgeführt. Wählen Sie Ihre Spalte und behalten Sie diese für den Rest der Dokumentation bei.

Herdr-PluginEigenständig
Sie haben installiert mitherdr plugin install AltanS/collie oder herdr plugin linkDas Installationsskript, ein Build aus dem Quellcode oder ein Paket
Woran man es erkenntherdr plugin list zeigt herdr.colliecollie befindet sich in Ihrem PATH oder unter ~/.local/share/collie/current/bin/collie
Verben werden geschriebenherdr plugin action invoke <verb> --plugin herdr.colliecollie <verb>
Wer es aktualisiertDie Aktion updatecollie update oder Ihre Paketverwaltung
Konfigurations-.env~/.config/herdr/plugins/config/herdr.collie/.env (herdr plugin config-dir herdr.collie gibt dies aus)~/.config/collie/.env oder der Herdr-Pfad auf einem Host, auf dem Herdr läuft
Status~/.local/state/collie/~/.local/state/collie/

collie doctor nennt die Konfigurationsdateien, die diese Installation tatsächlich liest, unter ihrer Zeile config-file.

Ein Herdr-Plugin ist immer noch dieselbe collie-Binärdatei; die Aktionen leiten an sie weiter (Herdr-Aktionen). Bei einer Plugin-Installation befindet sich kein collie in Ihrem PATH, sodass Befehle ohne Aktion (pair, qr, logs, link, devices, stt, config) aus dem Verzeichnis des Plugins als bin/collie <verb> ausgeführt werden.

Herdr ist zugleich einer der fünf Multiplexer, die Collie spiegeln kann (Herdr, tmux, zellij, tuios und tern). Welchen Sie spiegeln, ist eine separate Entscheidung (Multiplexer angeben): Ein eigenständiges Collie kann Herdr spiegeln, und ein Herdr-Plugin kann tmux spiegeln.

Anforderungen

Collie läuft unter Linux und macOS. Windows 11 auf x64 mit Herdr ist ein unterstützter Host, jedoch weiterhin als experimentell gekennzeichnet; siehe Windows-Unterstützung.

WerkzeugBenötigt fürZweck
curl, tar, sha256-Werkzeug (sha256sum/shasum)Binär-Installationsskript und AktualisierungenRelease-Archive herunterladen und verifizieren.
BunBuilds aus dem QuellcodeBridge ausführen und die Web-UI bauen.
gitBuilds aus dem Quellcode und Herdr-RoutenRepository klonen und aktualisieren.
Multiplexer: Herdr, tmux, zellij, tuios oder ternAlle InstallationenGespiegeltes Backend konfiguriert über COLLIE_MUX. tmux und zellij sind in 1.0 experimentell, und tuios sowie tern sind ebenfalls experimentell; siehe Collie auf einen Multiplexer ausrichten und MUX_CONTRACT.md.
Herdr ≥ 0.7.0Nur Herdr-BackendErforderlich bei COLLIE_MUX=herdr. Prüfen mit herdr --version.
TailscaleDas Standard-Frontendtailscale serve leitet Collie per Proxy an Ihr Tailnet weiter. Hinter ein anderes Frontend nicht erforderlich.
Hinweis. Collie setzt keine Mindestversion für tmux oder zellij voraus. Die Adapter wurden mit tmux 3.4, tmux 3.6b und zellij 0.44.2 getestet. Ein tmux-Sonderfall wird abgefangen: Auf einem Server mit window-size manual stürzt tmux vor Version 3.7 beim Erstellen eines Fensters ab. Collie blockiert die Anfrage und fordert Sie auf, tmux set -g window-size latest auszuführen.

Optionale Abhängigkeiten, die nur für folgende Funktionen benötigt werden:

WerkzeugBenötigt für
Node.jsFormatiert MagicDNS-Namen in Protokollen.
systemd / launchdDienstüberwachung; weicht auf nohup aus.
web-pushOptional, siehe Web Push.

Installation

Wählen Sie unten Ihr System aus, führen Sie die zugehörigen Befehle aus und fahren Sie dann mit Starten fort.

SystemEmpfohlener Weg
LinuxDas Installationsskript
Arch Linux, Omarchycollie-bin-Paket
NixOS oder Nix auf beliebigen SystemenFlake-Paket
macOS, Apple Silicon oder IntelDas Installationsskript
Windows 11 (x64, mit Herdr)install.ps1, experimentell
Beliebiges dieser Systeme, innerhalb von HerdrHerdr-Plugin

Linux

curl -fsSL https://colliepwa.dev/install.sh | sh
collie start

Das Skript installiert eine vorkompilierte Binärdatei für x86_64 oder arm64. Eigenständig erklärt die Funktionsweise und das Festschreiben einer Version.

collie start führt die Bridge als systemd --user-Dienst aus. Er stoppt, wenn Sie sich abmelden. Auf einem über SSH erreichbaren Server lassen Sie ihn nach Abmeldung und Neustarts weiterlaufen:

loginctl enable-linger $USER

Details finden Sie unter Neustarts überstehen.

Arch Linux und Omarchy

git clone https://github.com/AltanS/collie.git && cd collie/packaging/aur
makepkg -si
collie start

collie-bin ist noch nicht im AUR oder im Repository von Omarchy enthalten. Bauen Sie es vorerst aus PKGBUILD dieses Repositorys. Es lädt die vorgebaute Binärdatei ohne Kompilierung herunter. Sobald es veröffentlicht ist, ersetzt sudo pacman -S collie-bin (Omarchy) oder paru -S collie-bin (AUR) den Klon.

Omarchy enthält tmux und Herdr. Sie müssen beim ersten Start angeben, welches gespiegelt werden soll, zum Beispiel COLLIE_MUX=herdr collie start. Arch und Omarchy unter Paketdetails behandeln Layout, Aktualisierungen und Entfernung.

NixOS und Nix

nix profile install github:AltanS/collie#collie
collie start

Dies funktioniert auf NixOS und jedem System mit Nix unter x86_64-linux, aarch64-linux und aarch64-darwin. Es gibt noch kein NixOS-Modul. Nix unter Paketdetails enthält den Rest.

macOS

curl -fsSL https://colliepwa.dev/install.sh | sh
collie start

Die veröffentlichten Mac-Binärdateien decken Apple Silicon (macos-arm64) und Intel (macos-x64) ab und erfordern macOS 13 oder neuer, das Minimum, gegen das ihr Bun-Build linkt. Die Intel-Binärdatei nutzt das Baseline-Ziel von Bun, läuft also auch auf Macs ohne AVX2.

collie start registriert einen launchd-Agenten in ~/Library/LaunchAgents. Er startet Collie bei der Anmeldung und startet es bei Fehlern neu. Er führt auch tailscale serve aus, daher muss der Befehl tailscale in Ihrem PATH liegen. Die Tailscale-App für Mac kann diesen Befehl über ihre Einstellungen installieren.

Hinweis. Ein Mac, der nur über SSH erreicht wird, hat keine Anmeldesitzung für launchd. collie start meldet dies und führt die Bridge ohne Überwachung im Hintergrund aus: kein Neustart bei Fehlern, nichts bei der Anmeldung.

macOS hat noch kein Paket. mise funktioniert auf einem Mac, ebenso wie die Ausgabe von aarch64-darwin Nix.

Windows-Unterstützung (experimentell)

Experimentell. Die Installation wurde mit der öffentlichen Version v1.16.0 auf einer virtuellen Maschine mit Windows 11 getestet, und die Aktualisierung wurde mit lokalen Kopien der Release-Dateien geprobt. Der Telefonzugriff über HTTP mittels Tailscale Serve wurde ebenfalls ausgeführt. Eine Aktualisierung zwischen zwei echten Versionen und die HTTPS-Variante des Telefonzugriffs sind noch nicht getestet. Die Release-Prüfung setzt ab jetzt das Windows-Zip voraus. Nur der Maintainer kann dies für einen Linux-Hotfix überschreiben. „Unterstützt“ bedeutet, dass der Maintainer den Code verwaltet und testet; „experimentell“ bleibt der Status, bis alle Bedingungen auf der Windows-Seite erfüllt sind. Collie unter Windows enthält die gesamte Seite.

Führen Sie install.ps1 aus. Es benötigt weder Bun, Git noch bash:

irm https://colliepwa.dev/install.ps1 | iex

Um das Skript zuerst zu lesen, speichern Sie es, öffnen Sie es und führen Sie es als Datei aus:

Invoke-WebRequest -OutFile install.ps1 https://colliepwa.dev/install.ps1
notepad install.ps1
powershell -ExecutionPolicy Bypass -File .\install.ps1

Öffnen Sie danach ein neues Terminal und starten Sie Herdr. Herdr übernimmt dieses Terminal; öffnen Sie daher ein zweites Terminal oder einen Herdr-Bereich und führen Sie collie start dort aus. Von Null bis zum Smartphone beschreibt jeden Schritt, einschließlich des Aufrufs von Collie auf Ihrem Telefon.

Was Sie vor dem Start wissen sollten:

  • Windows 11 auf x64, nur mit Herdr. tmux, zellij, Windows 10 und Windows auf ARM werden nicht abgedeckt.
  • Die Binärdatei ist nicht signiert. SmartScreen kann vor der Ausführung nachfragen, und Smart App Control kann die Ausführung blockieren. Windows-Seite.
  • Sie veröffentlichen die Adresse selbst. Unter Linux und macOS führt collie start den Befehl tailscale serve für Sie aus. Unter Windows geschieht dies nicht, Sie führen ihn also manuell aus: Zugriff über Ihr Smartphone beschreibt die Schritte mit Tailscale, und Variante C behandelt einen Reverse-Proxy.
  • Eine Windows-Maschine kann in diesem Release keiner Crew beitreten.
  • Ein Build aus dem Quelltext erfordert das bash von Git for Windows. Die Zip-Datei benötigt keine Toolchain.
  • Ein Quelltext-Checkout aktualisiert sich unter Windows niemals selbst. Der Wechsel zur Zip-Installation ist ein einmaliger manueller Schritt: collie uninstall, dann install.ps1. Danach funktioniert collie update. Aktualisieren enthält die Details.

Eigenständig

Das Installationsskript lädt das neueste Release nach ~/.local/share/collie (COLLIE_DIR) herunter und verknüpft die Binärdatei mit ~/.local/bin/collie:

curl -fsSL https://colliepwa.dev/install.sh | sh
collie start

Es ruft die neueste stabile Version ab und belässt eine bestehende Installation unverändert. Verwenden Sie collie update, um eine zu aktualisieren. Die kanonische Quelle ist scripts/install.sh im Repository: eine Seite POSIX-sh, die niemals sudo aufruft. Lesen Sie sie vor dem Ausführen:

curl -fsSL https://raw.githubusercontent.com/AltanS/collie/main/scripts/install.sh | less
curl -fsSL https://raw.githubusercontent.com/AltanS/collie/main/scripts/install.sh | sh

Wenn ~/.local/bin nicht in Ihrem PATH liegt, führen Sie die Binärdatei direkt aus:

~/.local/share/collie/current/bin/collie version

Um eine Version festzuschreiben oder eine bestehende Installation zu reparieren (siehe Wenn collie nicht startet):

curl -fsSL https://colliepwa.dev/install.sh | COLLIE_TAG=v1.0.0 sh

Das Skript fragt die GitHub-API nach Releases ab, die eine Ratenbegrenzung pro IP-Adresse erzwingt. Wenn es HTTP 403 zurückgibt, legen Sie die Version wie oben gezeigt fest oder setzen Sie GH_TOKEN auf ein Token ohne Scopes. Siehe Wenn GitHub die Release-Prüfung drosselt.

Übergeben Sie für Vorabversionen --beta. Dadurch wird die neueste Vorabversion ausgewählt, und die Installation folgt danach den Vorabversionen für diese Hauptversion, bis die finale Version erscheint (Vorabversionen).

Dasselbe Ergebnis aus dem Quellcode

# 1. Clone and checkout latest stable tag
git clone https://github.com/AltanS/collie.git ~/.local/share/collie
cd ~/.local/share/collie
git checkout --detach "$(git tag --list 'v*' | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | sort -V | tail -1)"

# 2. Build runtime and UI
bash scripts/collie-ctl.sh build

# 3. Verify
bin/collie version

# 4. Optional: link to PATH
bin/collie link

Ein Quellcode-Build erfordert Bun und git. Starten Sie ihn mit bin/collie start oder nach dem Verlinken mit collie start.

Herdr-Plugin

herdr plugin install AltanS/collie
herdr plugin action invoke start --plugin herdr.collie

Starten Sie zuerst den Herdr-Server (herdr oder herdr server &). Dies funktioniert unter Linux und macOS.

So installieren Sie stattdessen aus einem lokalen Klon:

git clone https://github.com/AltanS/collie.git && cd collie
herdr plugin link "$(pwd)"
herdr plugin action invoke start --plugin herdr.collie

Installieren Sie für eine Vorabversion das Tag mit herdr plugin install AltanS/collie --ref <tag> --yes. Das ist bereits die gesamte Aktivierung (Vorabversionen).

Über ein Paket

Ein Paket ist eine eigenständige Installation, die von Ihrer Paketverwaltung verwaltet wird: Sie installiert, aktualisiert und entfernt. Befehle für die jeweiligen Verwaltungen finden Sie oben und unter Paketdetails, zusammen mit mise für Linux und macOS.

Ein Paket ist kein Herdr-Plugin. Um die Schaltflächen von Collie in Herdr anzuzeigen, verlinken Sie den installierten Baum einmalig:

herdr plugin link /opt/collie

Herdr scannt /opt nicht und erkennt das Paket daher nie automatisch. Die Aktionen update und update-major des Plugins verweigern die Ausführung und verweisen auf Ihre Paketverwaltung. Das ist beabsichtigt: Ihre Paketverwaltung verwaltet diesen Baum.

Multiplexer angeben

Collie spiegelt ein Backend: COLLIE_MUX=herdr (Standard), tmux oder zellij.

Sie müssen dies vor dem ersten Start nicht festlegen. start sucht nach einem aktiven Herdr-Socket, einem laufenden tmux-Server und zellij-Sitzungen, gibt die Funde aus und schreibt Ihre Wahl in die Konfigurationsdatei .env, wobei die Datei bei Bedarf erstellt wird.

Ohne Terminal-Eingabeaufforderung wählt start das einzige gefundene Backend aus und meldet es. Wenn es keines oder mehrere findet, verweigert es den Start und weist Sie an, COLLIE_MUX festzulegen.

Um die Auswahl im Voraus zu treffen, befüllen Sie die Konfiguration vor Ihrem ersten Start:

mkdir -p ~/.config/collie
cp ~/.local/share/collie/current/.env.example ~/.config/collie/.env

Dieser Pfad gilt für das Installationsskript; ein Quellcode-Checkout enthält .env.example im Stammverzeichnis. Bei einem Herdr-Plugin liegt die Datei dort, worauf herdr plugin config-dir herdr.collie verweist. Legen Sie dann das Backend und dessen Endpunkt fest:

COLLIE_MUX=tmux                                           # or: zellij
# zellij instead: COLLIE_MUX_ENDPOINT_ZELLIJ=<session>
COLLIE_MUX_ENDPOINT_TMUX=/run/user/1000/collie-tmux.sock
Achtung. Führen Sie dieses cp nach einem Start nicht aus: Es überschreibt den COLLIE_MUX-Wert, den start gerade geschrieben hat.

Bearbeiten Sie die Datei später, wenn sich Ihr Setup ändert. Siehe Collie auf einen Multiplexer ausrichten.

Starten

herdr plugin action invoke start --plugin herdr.collie   # Herdr plugin
collie start                                             # standalone

start führt folgende Schritte aus:

  1. web/dist erstellen, falls nicht vorhanden.
  2. Die Bridge unter systemd --user (oder launchd/nohup) starten.
  3. tailscale serve --bg 8787 ausführen (HTTPS :443 → 127.0.0.1:8787).
  4. Das Verbindungsbanner ausgeben.

Erster Start: Was Sie sehen werden

Ausgabe von collie start (Herdr-Ausführungen geben JSON zurück; Protokolle mit herdr plugin log list --plugin herdr.collie anzeigen):

$ collie start
building web UI (first run)…                    # linked clone only; a GitHub install already built
…bun install · typecheck · vite build output…
bridge started (systemd --user: collie)
tailscale serve (https) → tailnet :443 -> 127.0.0.1:8787

  ✓ Collie is running  ·  v1.0.0+b158755
    service   systemd --user (collie) · active
    local     http://127.0.0.1:8787
    tailnet   https://myhost.tail1234.ts.net

Wenn die Funktionsprüfung fehlschlägt (⚠ Collie isn't answering on :8787 yet), siehe Fehlerbehebung.

Die Bridge läuft als systemd --user-Dienst oder als macOS-launchd-Agent. Sie startet bei der Anmeldung und startet bei Fehlern neu (ARCHITECTURE.md §3). Unter Linux sorgt loginctl enable-linger $USER dafür, dass sie über Neustarts hinweg aktiv bleibt (Neustarts überstehen).

Konfigurieren Sie den Benutzerzugriff in Konfiguration und den Gerätezugriff über Koppeln (collie pair).

Funktioniert es tatsächlich?

Status und Protokolle prüfen:

$ collie status

  ✓ Collie is running  ·  v1.0.0+b158755
    service   systemd --user (collie) · active
    local     http://127.0.0.1:8787
    tailnet   https://myhost.tail1234.ts.net

  serve config:
    https://myhost.tail1234.ts.net (tailnet only)
    |-- / proxy http://127.0.0.1:8787
$ collie logs        # journal timestamps trimmed here
[push] disabled (no VAPID keys configured)
[bridge] listening on http://127.0.0.1:8787  (poll 1500ms)
[bridge] WARNING: COLLIE_TRUSTED_USER is empty — any tailnet device/user that reaches the bridge is checked by its pairing token alone. Set it to your tailnet login (see README → Variant A).

Um den Zugriff einzuschränken, setzen Sie COLLIE_TRUSTED_USER=you@example.com in .env und führen Sie collie restart aus (Konfiguration). Bei fehlenden Dashboard-Inhalten siehe Fehlerbehebung.

Auf Ihrem Telefon einrichten

Öffnen Sie Collie auf dem Telefon, koppeln Sie das Telefon und fügen Sie Collie zum Startbildschirm hinzu.

  1. Vergewissern Sie sich, dass die Tailscale-App des Telefons dasselbe Tailnet wie der Host nutzt.
  2. Führen Sie collie qr auf dem Host aus und scannen Sie den Code, oder öffnen Sie die URL, die collie url ausgibt.
  3. Führen Sie collie pair auf dem Host aus und scannen Sie diesen QR-Code.

Der QR-Code aus collie pair öffnet Einstellungen → System → Gekoppelte Geräte mit bereits eingetragenem Code. Sie können Einstellungen → System → Gekoppelte Geräte auch manuell öffnen und den Code eingeben. Collie antwortet keinem Gerät vor der Kopplung; die Übersicht zeigt bis dahin Dieses Gerät koppeln an (Ein Gerät koppeln).

Collie ist eine Web-App. Der Browser fügt sie ohne App Store zu Ihrem Startbildschirm hinzu und verleiht ihr ein eigenes Symbol sowie eine Vollbildansicht.

iPhone und iPad

  1. Öffnen Sie die Collie-URL in Safari.
  2. Tippen Sie auf Teilen, dann auf Zum Home-Bildschirm.
  3. Tippen Sie auf Hinzufügen.

Ab iOS 16.4 bieten auch Chrome, Edge und Firefox Zum Home-Bildschirm in ihren Teilen-Menüs an. Wenn Sie Als Web-App öffnen sehen, lassen Sie es ausgewählt.

Die Installationskarte unter iOS oder iPadOS: Die Installation erfolgt über das Teilen-Menü.
Die Installationskarte unter iOS oder iPadOS: Die Installation erfolgt über das Teilen-Menü.

Safari bietet keine Schaltfläche zum Installieren. Die Einstellungen von Collie zeigen stattdessen eine Installationskarte mit diesen Schritten an, bis Sie sie abgeschlossen haben.

Hinweis. Auf dem iPhone oder iPad erfordert Web-Push mindestens iOS 16.4 und funktioniert nur über das Symbol auf dem Startbildschirm. Öffnen Sie Collie über dieses Symbol und aktivieren Sie anschließend Benachrichtigungen in den Einstellungen.

Android

  1. Öffnen Sie die Collie-URL in Chrome.
  2. Gehen Sie zu Collies Einstellungen und tippen Sie auf der oberen Karte auf Installation.

Diese Karte erscheint, sobald Chrome die Installation anbietet. Erscheint sie nicht, öffnen Sie das Menü von Chrome (⋮) und tippen Sie auf Zum Startbildschirm hinzufügen, dann auf Installation. Einige Chrome-Builds bezeichnen dies als App installieren. Firefox und Samsung Internet verwenden Zum Startbildschirm hinzufügen in ihren Hauptmenüs.

Die Installationskarte oben in den Einstellungen mit der von Chrome und Edge angebotenen Schaltfläche.
Die Installationskarte oben in den Einstellungen mit der von Chrome und Edge angebotenen Schaltfläche.

Android unterstützt Web-Push innerhalb regulärer Browser-Tabs. Die Installation ergänzt lediglich das Symbol auf dem Startbildschirm und den Vollbildmodus.

Desktop

Chrome und Edge zeigen ein Installationssymbol in der Adressleiste sowie die Karte Installation in den Einstellungen an. Unter macOS verwendet Safari 17 und neuer Ablage → Zum Dock hinzufügen.

Hinweise für jedes Gerät

  • Die Installation erfordert HTTPS. Unter COLLIE_SERVE_MODE=http deaktivieren Browser Service-Worker, was Collie auf einen Standard-Browser-Tab beschränkt.
  • Entwicklungs-Builds (Checkouts abseits eines Release-Tags) werden als Collie (dev) mit einem orangen Symbol installiert, um Verwechslungen mit Release-Versionen zu vermeiden.
  • Die Kopplung bindet an ein einzelnes Gerät. Koppeln Sie jedes Telefon, Tablet oder Browserprogramm, das Sie nutzen möchten.
  • Push-Benachrichtigungen erfordern Host-Schlüssel: Web Push.

Erster Start

Wenn Collie zum ersten Mal auf einem Gerät geöffnet wird und das Dashboard lädt, beschreibt ein Einführungsbildschirm Ihre Konfiguration. Er führt den aktiven Multiplexer, den gespiegelten Host, laufende Panes, eingabebedürftige Panes, die Anzahl der Crew-Maschinen und Ihren Schreibzugriff auf.

Darunter schlägt er bis zu zwei Aktionen vor: das Gerät koppeln, etwas starten, Benachrichtigungen aktivieren oder Collie zum Startbildschirm hinzufügen. Er schließt mit sechs Kernaufgaben ab, die Sie ausführen können.

Die App markiert diesen Bildschirm beim Laden als gesehen; das Schließen des Tabs zeigt ihn also nicht erneut an. Sie können ihn später aufrufen, indem Sie in den Einstellungen auf Ersten Bildschirm erneut anzeigen tippen.

Aktualisieren

Ein einzelner Befehl bezieht die neueste Version Ihrer aktuellen Hauptversion.

herdr plugin action invoke update --plugin herdr.collie   # Herdr plugin
collie update                                             # standalone

Er stellt die neue Version neben der alten bereit, schaltet um, startet die Bridge neu und setzt zurück, falls die neue Version nicht antwortet.

Eine Paketinstallation wird über die jeweilige Paketverwaltung aktualisiert und erfordert anschließend einen Neustart, da die Paketverwaltung nur die Dateien austauscht und nichts neu startet:

sudo pacman -Syu collie-bin                 # Omarchy; on the AUR: paru -S collie-bin
nix profile upgrade collie                  # Nix
mise upgrade --bump github:AltanS/collie    # mise
collie restart

collie update lehnt bei einer Paketinstallation ab und nennt stattdessen diesen Befehl. Das Telefon zeigt denselben Befehl an der Stelle an, an der sich sonst die Schaltfläche zum Aktualisieren befindet.

Der Wechsel auf eine neue Hauptversion ist ein separater, zustimmungspflichtiger Schritt:

herdr plugin action invoke update-major --plugin herdr.collie   # Herdr plugin
collie update --major                                           # standalone

Das Telefon kann auch die Routine-Aktualisierung durchführen: Einstellungen → System → Aktualisierungen, ein Fingertipp, und bei einem Crew-Lead aktualisiert ein Fingertipp jedes Mitglied. Informationen zum Telefon-Ablauf, zur Vorabprüfung, zum Rollback, zu Crews und zum Vorgehen bei hängenden Aktualisierungen finden Sie unter Verwaltung und Aktualisierung.

Deinstallieren

Drei Schritte in dieser Reihenfolge. Jeder entfernt genau eine Schicht und sonst nichts.

1. Entfernen Sie den Dienst und die Portzuordnung. Dies stoppt die Bridge, löscht die systemd --user-Unit (den launchd-Agenten unter macOS) und entfernt Collies eigene tailscale serve-Zuordnung. Die Programmdateien und Ihr .env bleiben erhalten.

herdr plugin action invoke uninstall --plugin herdr.collie   # Herdr plugin
collie uninstall                                             # standalone

2. Entfernen Sie das Programm.

herdr plugin uninstall herdr.collie      # Herdr plugin, installed from GitHub
herdr plugin unlink herdr.collie         # Herdr plugin, a linked clone or a linked package

collie unlink                            # standalone: drop the ~/.local/bin/collie symlink
rm -rf ~/.local/share/collie             # standalone: the install script's tree, or $COLLIE_DIR

sudo pacman -Rns collie-bin              # package: Arch and Omarchy
nix profile remove collie                # package: Nix
mise uninstall github:AltanS/collie@1.14.2  # package: mise, the version
mise unuse github:AltanS/collie             # package: mise, the config line

Ein verknüpfter Klon ist Ihr eigener Checkout. unlink hebt die Registrierung in Herdr auf und belässt das Verzeichnis bei Ihnen zum Löschen oder Behalten.

3. Entfernen Sie Ihre eigenen Dateien, falls Sie diese löschen möchten. Nichts davon greift diese an, sodass eine Neuinstallation ihre Kopplungen und Einstellungen wiederfindet:

WasHerdr-PluginEigenständig
Konfiguration, enthält .env~/.config/herdr/plugins/config/herdr.collie/~/.config/collie/ oder der Herdr-Pfad auf einem Host, auf dem Herdr läuft
Zustand: gekoppelte Geräte, Crew-Dateien, stt.json, folders.json~/.local/state/collie/ (oder $COLLIE_STATE_DIR)identisch

Um ohne Entfernung von Inhalten zu pausieren, reicht stop aus:

herdr plugin action invoke stop --plugin herdr.collie   # Herdr plugin
collie stop                                             # standalone

Paketdetails

Das PKGBUILD, der Nix-Ausdruck und deren Hinweise liegen unter packaging/ in diesem Repository. Jedes Paket enthält das kompilierte Binary, das das Release bereits ausliefert, sodass auf Ihrer Maschine nichts gebaut wird: kein Bun, kein git, keine Kompilierung. Der gesamte Release-Ordner landet unter einem Prefix, wobei collie als Symlink darauf in Ihrem PATH liegt. Für macOS gibt es noch kein Paket; die Flake-Ausgabe aarch64-darwin kommt dem am nächsten.

Arch

collie-bin ist noch nicht im AUR. Das AUR hat die Registrierung neuer Konten pausiert, und das Paket wird über unser eigenes Konto veröffentlicht, sobald die Registrierung wieder geöffnet ist. Erstellen Sie es bis dahin aus einem Klon dieses Repositorys:

git clone https://github.com/AltanS/collie.git && cd collie/packaging/aur
makepkg -si
collie start

makepkg lädt das Release-Tarball für Ihre Architektur herunter, vergleicht dessen sha256 mit dem Integritätsmanifest des Releases und entpackt es. Kein Bun, kein git-Klon von Drittanbietern, keine Kompilierung.

Sobald es im AUR verfügbar ist, ein AUR-Hilfsprogramm installiert dasselbe PKGBUILD:

paru -S collie-bin     # or: yay -S collie-bin
collie start

Spätere Aktualisierungen erfolgen über paru -S collie-bin oder yay -S collie-bin, denselben Befehl, mit dem Sie installiert haben. sudo pacman -Syu collie-bin funktioniert nur dort, wo ein Repository das Paket führt, wie etwa bei Omarchy.

Das Paket installiert den Release-Baum nach /opt/collie und /usr/bin/collie als symbolischen Link dorthin. README.md, CHANGELOG.md und docs/ landen in /usr/share/doc/collie-bin/ und die Lizenz in /usr/share/licenses/collie-bin/. Es stellt collie bereit und steht damit in Konflikt, sodass dieses und ein zukünftiges Quellpaket nicht gleichzeitig installiert sein können. Es aktiviert keine systemd-Unit: collie start schreibt Ihre eigene --user-Unit, wie nach jeder Installation.

Hinweis. Führen Sie collie restart nach jedem Upgrade aus. pacman ersetzt die Dateien und startet nichts neu; der Dienst liefert also weiterhin den alten Build auf einer gelöschten Binärdatei aus, bis Sie ihn neu starten. collie doctor meldet dies als restart-pending, und das Smartphone zeigt "Collie was replaced on disk. Restart it." mit dem auszuführenden Befehl an.

Entfernen Sie es mit den drei Schritten unter Deinstallieren: collie uninstall, danach herdr plugin unlink herdr.collie nur, wenn Sie es verknüpft haben, dann sudo pacman -Rns collie-bin. pacman entfernt /opt/collie sowie /usr/bin/collie und nichts weiter.

Omarchy

sudo pacman -S collie-bin
COLLIE_MUX=herdr collie start

Omarchy liefert sowohl tmux als auch Herdr aus, und Collie spiegelt einen Multiplexer pro Installation. Daher muss beim ersten Start angegeben werden, welcher gesteuert werden soll: Collie rät nicht zwischen zwei sichtbaren Optionen. start schreibt diesen Namen in Collies .env, was auf einem Host mit Herdr ~/.config/herdr/plugins/config/herdr.collie/.env ist; spätere Starts lauten collie start.

Das funktioniert, sobald collie-bin im eigenen Paket-Repository von Omarchy enthalten ist; der Pull-Request dazu ist noch nicht zusammengeführt. Erstellen Sie dasselbe Paket bis dahin wie oben auf jedem Arch-Host aus packaging/aur mit makepkg -si.

Aktualisierungen erfolgen dann über sudo pacman -Syu, den Befehl, den Sie ohnehin zum Aktualisieren der Maschine ausführen. Ein AUR-Helfer wird nicht benötigt, da pkgs.omarchy.org ein echtes pacman-Repository ist. Es ist in jedem Fall dasselbe PKGBUILD und dasselbe /opt/collie-Layout.

Hinweis. Aktualisierungen kommen von Ihrer Paketverwaltung, und Collie aktualisiert sich hier nicht selbst. collie update lehnt stattdessen ab. Die Statusleiste auf dem Smartphone zeigt "Collie x.y.z available via pacman.", und die Updates-Seite zeigt den zu kopierenden Befehl anstelle einer Update-Schaltfläche, da die Paketverwaltung diesen Ordner verwaltet. Collie nennt die sudo pacman -Syu collie-bin-Form, also den Namen im Repository; führen Sie bei einer AUR-Installation stattdessen Ihr Hilfsprogramm aus. Führen Sie collie restart nach dem Upgrade aus, aus dem oben genannten Grund: pacman startet nichts neu.

In einer Crew bezieht diese Maschine niemals ein Update über das Telefon: Die Crew führt sie als „wartet auf Paketverwaltung“, und sie wird erst aktualisiert, wenn Sie Ihr Hilfsprogramm darauf ausführen.

Entfernen Sie es mit denselben drei Schritten wie oben unter Arch beschrieben.

Nix

nix profile install github:AltanS/collie#collie
collie start

Das Flake exportiert packages.<system>.collie für x86_64-linux, aarch64-linux und aarch64-darwin. Es ruft das Release-Tarball dieser Plattform anhand der sha256 im Integritätsmanifest des Releases ab, patcht den Interpreter der Binärdatei unter Linux und installiert den Release-Baum nach <store-path>/lib/collie mit bin/collie als Symlink darauf. Führen Sie es einmalig ohne Installation mit nix run github:AltanS/collie#collie -- doctor aus.

Es gibt absichtlich keinen Quell-Build: Die Installation der Abhängigkeiten erfordert das Netzwerk und eine Nix-Derivation hat keines, daher verpackt das Paket die Binärdatei, die das Release bereits veröffentlicht und mit einer Prüfsumme versieht.

Es gibt noch kein NixOS-Modul, nur das Flake-Paket, daher ist nix profile der Pfad: Installieren Sie es wie oben in Ihr Profil oder fügen Sie die Flake-Ausgabe selbst zu einer home-manager- oder environment.systemPackages-Liste hinzu.

Hinweis. Aktualisierungen kommen von nix, und Collie aktualisiert sich hier nicht selbst. collie update lehnt ab und nennt stattdessen nix profile upgrade collie, und das Telefon zeigt die neue Version mit diesem Befehl an der Stelle an, an der sich die Aktualisierungsschaltfläche befinden würde.

In einer Crew bezieht diese Maschine niemals ein Update über das Telefon: Die Crew führt sie als „wartet auf Paketverwaltung“, und sie wird erst aktualisiert, wenn Sie nix darauf ausführen.

Entfernen Sie es zuerst mit collie uninstall, dann:

nix profile remove collie

Dies entfernt lediglich den Store-Pfad aus Ihrem Profil. Ihre eigenen Dateien bleiben erhalten, wie unter Deinstallieren aufgeführt.

Home Manager-Agenten unter macOS

collie status
launchctl print "user/$(id -u)/herdr.collie"

collie status ermittelt das Label der Instanz sowohl in gui/<uid> als auch in user/<uid> und meldet deren Domäne sowie Prozessstatus. Enthalten beide Domänen das Label, meldet es beide; ein gestoppter GUI-Agent verbirgt keinen laufenden Hintergrund-Agenten. Eine Überschreibung von Umgebungsvariablen ist nicht erforderlich.

Für einen bestehenden, über Home Manager verwalteten Collie-Agenten wählen diese Einstellungen die Hintergrunddomäne aus (Home Manager 26.11 oder neuer):

launchd.agents.collie = {
  domain = "user";
  config.Label = "herdr.collie";
};

Dies ist eine Ergänzung zu Ihrer Agenten-Definition, kein vollständiges Dienstmodul. Behalten Sie Befehl, Umgebung und Protokolldateipfade in Home Manager konfiguriert. Führen Sie die Bridge mit collie _exec-bridge aus, nicht mit collie start, damit launchd die Bridge überwacht, ohne dass Collie die verwaltete plist überschreibt. Bewahren Sie Zugangsdaten und Kopplungsstatus außerhalb des Nix-Stores auf. Konfigurieren Sie die Front Door separat mit collie serve oder nutzen Sie External-Proxy-Einrichtung.

Verwenden Sie für eine benannte Instanz das Label herdr.collie-<name> sowie denselben Wert für COLLIE_INSTANCE, COLLIE_PORT und das Konfigurationsverzeichnis im Agenten und in Ihrer CLI-Umgebung (Mehrere Instanzen).

Hinweis. Home Manager steuert den Lebenszyklus des Dienstes. Aktualisieren oder entfernen Sie dessen Deklaration und aktivieren Sie Home Manager, anstatt collie start, stop, restart oder uninstall auszuführen. Diese Befehle verwalten weiterhin Collies Agenten der GUI-Domäne; die Statusprüfung überträgt die Zuständigkeit nicht. Verwenden Sie collie pair, devices, url und logs wie gewohnt weiter.

mise

mise use -g github:AltanS/collie@1.14.2
collie start

mise use -g schreibt das Werkzeug in ~/.config/mise/config.toml und legt bin/ des Releases in Ihren PATH. Das Backend github ruft das Release-Tarball der jeweiligen Plattform ab, sodass dies unter Linux und macOS ohne Bun und ohne Kompilierung funktioniert. Der gesamte Baum landet unter ~/.local/share/mise/installs/github-altan-s-collie/<version>/, einschließlich web/dist und herdr-plugin.toml, und collie löst das eigene Stammverzeichnis von dort aus auf.

Installieren Sie eine neue Version mit derselben mise use-Zeile und einem neueren Tag oder lassen Sie mise die neueste Version auswählen:

mise upgrade --bump github:AltanS/collie
collie restart

--bump ist die entscheidende Option. Ein festgelegtes 1.14.2 ist ein Bereich von genau einer Version, daher meldet ein einfaches mise upgrade das Werkzeug als aktuell und ändert nichts.

Der Neustart ist erforderlich. Jede Version erhält ihr eigenes Verzeichnis, und collie start verankert das Verzeichnis, aus dem es ausgeführt wurde, in der Dienstdefinition. Der Dienst liefert also weiterhin die alte Version aus dem alten Verzeichnis aus, bis Sie ihn neu starten. collie restart schreibt diese Definition mit dem neuen Pfad neu: die systemd --user-Unit unter Linux, die ~/Library/LaunchAgents-plist unter macOS. Ein Befehl auf beiden Systemen.

Hinweis. Ein Mac, der ausschließlich über SSH verwaltet wird, hat keine gui/<uid>-Domäne, in die ein Agent geladen werden kann. Dort weist collie start darauf hin und führt stattdessen eine unbeaufsichtigte Hintergrund-Bridge aus, ohne Neustart bei Fehlern und ohne Start bei der Anmeldung. collie restart wechselt dennoch in das neue Verzeichnis.
Hinweis. collie update lehnt hier ab und nennt keine Paketverwaltung, sondern meldet cannot tell how this Collie was installed. Ein mise-Verzeichnisbaum liegt in Ihrem Home-Verzeichnis, enthält kein eigenes .git und hat keine übergeordnete versions/-Struktur, sodass Collie ihn weder als Checkout noch als Paket interpretiert. mise verwaltet Aktualisierungen bei dieser Installation, und die beiden obigen Befehle führen sie durch.

Entfernen Sie es zuerst mit collie uninstall, dann:

mise uninstall github:AltanS/collie@1.14.2
mise unuse github:AltanS/collie

uninstall löscht das Verzeichnis dieser Version, unuse entfernt die Zeile aus der Konfiguration. Verwenden Sie für beides den vollständigen Namen github: des Werkzeugs; die Kurzform collie funktioniert für upgrade, jedoch nicht für uninstall. Ihre eigenen Dateien bleiben erhalten, wie unter Deinstallieren aufgeführt.

Diese Seite auf GitHub bearbeiten

The rest of the documentation