04/Documentation
Collie unter Windows
Windows 11 mit Herdr: Was unterstützt wird, Installation mit install.ps1, die nicht signierte Binärdatei, Aktualisierungen, lange Pfade und was nicht getestet ist
So installieren Sie Collie unter Windows 11, öffnen es auf Ihrem Telefon und beheben mögliche Fehler. Lesen Sie zuerst Sicherheit: Collie ermöglicht konstruktionsbedingt Fernzugriff auf die Shell Ihres Rechners.
Unter Linux und macOS kann collie start Collie mittels Tailscale Serve automatisch für Ihr Telefon freigeben. Tailscale ist ein Dienst, der Ihre eigenen Geräte zu einem privaten Netzwerk verbindet, das als Tailnet bezeichnet wird.
Unter Windows gibt sich Collie nicht selbst frei. Tailscale Serve weist Collie eine HTTPS-Adresse in Ihrem Tailnet zu; unter Windows führen Sie diesen Schritt manuell aus. Zugriff über Ihr Smartphone zeigt, wie das geht.
Experimentell. Experimentell bedeutet, dass der Maintainer den Windows-Code verwaltet und testet, die unten aufgeführten Teile jedoch noch nicht alle nachgewiesen sind. Dies ist der vollständige Status: Getestet - Eine 25-stufige Probe von Installation, Aktualisierung und Rollback auf einer virtuellen Maschine mit Windows 11 anhand lokaler Kopien der Release-Dateien. - Eine echte Installation der öffentlichen Version v1.16.0 auf einer virtuellen Maschine mit Windows 11:install.ps1fand die Version, die sha256-Prüfsumme stimmte überein undcollie.exewurde ausgeführt. Danach funktioniertencollie start,collie status,collie doctorundcollie stop. - Telefonzugriff über Tailscale Serve via HTTP in einem Headscale-Tailnet: die Host-Prüfung,collie url, Kopplung und das Schreib-Gate. Noch nicht getestet - Eine Aktualisierung zwischen zwei echten Versionen unter Windows. - Die HTTPS-Variante von Tailscale Serve unter Windows und damit die Installation auf dem Startbildschirm, Web-Push und das Mikrofon. - Windows 10, Windows Server, Windows auf ARM und die weiteren Punkte in Was nicht getestet ist. Die Release-Prüfung setzt ab jetzt das Windows-Zip voraus. Nur der Maintainer kann dies für einen Linux-Hotfix überschreiben (Details).
Was Sie erhalten
Collie zeigt die Agenten in Ihrem Terminal auf Ihrem Telefon an, sodass Sie sehen können, welcher Ihre Aufmerksamkeit erfordert, und ihm antworten können.
Die Agenten laufen in Herdr-Bereichen. Ein Bereich ist ein einzelnes Terminalfenster innerhalb von Herdr. Herdr ist ein Terminal-Multiplexer, ein Programm, das Ihre Agenten in Bereichen weiterlaufen lässt. Unter Windows ist Herdr der einzige unterstützte Multiplexer.
Collie liest Agenten wie Claude Code, Codex, OpenCode, pi und omp aus. Der Agent selbst muss unter Windows laufen. Welche dies unterstützen, liegt beim Agenten, nicht bei Collie.
Bevor Sie beginnen
Sie benötigen Folgendes:
- Windows 11 auf x64. WSL gilt hier nicht als Windows. Folgen Sie innerhalb von WSL der Linux-Installation in Installation.
- PowerShell. Die in Windows 11 enthaltene Windows PowerShell 5.1 reicht aus.
- Herdr 0.9.3 oder neuer für Windows. Schritt 1 unten installiert es. Das Herdr-Projekt erstellt das Windows-Build, und Collie hängt davon ab.
- Ein Telefon mit einem Browser, ein iPhone oder ein Android-Telefon.
- Ein kostenloses Tailscale-Konto. Sie erstellen es bei der Erstanmeldung in der Tailscale-App. Der PC und das Telefon müssen beim selben Konto angemeldet sein. Das Telefon erreicht den PC darüber, und Schritt 6 richtet es ein.
Prüfen Sie, ob die intelligente App-Steuerung aktiv ist, da sie collie.exe blockieren kann. Öffnen Sie Windows-Sicherheit, dann App- und Browsersteuerung, dann Einstellungen für die intelligente App-Steuerung. Sie hat drei Zustände:
| Status | Was das für diese Installation bedeutet |
|---|---|
| Aus | Es blockiert nichts. |
| Auswertung | Windows entscheidet noch, ob es aktiviert werden soll. Collie wurde auf der Test-VM nicht blockiert. |
| Ein | Es kann collie.exe blockieren, da die Datei nicht signiert ist und keine dateibezogene Freigabe vorliegt. |
Wenn es aktiviert ist, lesen Sie zuerst Unsignierte Binärdatei. Dort sind Ihre Optionen aufgeführt.
Von Null bis zum Smartphone
Führen Sie diese Schritte nacheinander aus. Nach der Liste sehen Sie, was nach jedem Schritt angezeigt werden sollte. Wenn Sie das Installationsskript vor der Ausführung lesen möchten, siehe Installation.
- Installieren Sie Herdr mit dem zugehörigen Installationsprogramm und prüfen Sie anschließend die Version:
irm https://herdr.dev/install.ps1 | iex herdr --version
- Installieren Sie Collie mit dem zugehörigen Installationsprogramm:
irm https://colliepwa.dev/install.ps1 | iex
- Öffnen Sie ein NEUES Terminal, starten Sie Herdr dort und lassen Sie es geöffnet:
herdr
- Öffnen Sie ein zweites Terminal oder einen neuen Herdr-Bereich, starten Sie dann Collie und geben Sie die Adresse aus:
collie start collie url
- Starten Sie in einem Herdr-Bereich Ihren Agenten, beispielsweise Claude Code:
claude
- Ermöglichen Sie dem Smartphone den Zugriff mit Zugriff über Ihr Smartphone, was das Projekt unter Windows nur über HTTP ausgeführt hat. Vor dessen Befehl
tailscale servekann nur dieser PC Collie erreichen; danach jedes Gerät in Ihrem Tailnet, bis Sie die Kopplung durchführen.
- Geben Sie diese Adresse auf dem Smartphone im Browser ein oder senden Sie sie an sich selbst. Fügen Sie Collie dann zum Startbildschirm hinzu, wie in Auf dem Smartphone öffnen gezeigt.
- Koppeln Sie das Smartphone, indem Sie Folgendes auf dem PC ausführen:
collie pair
Was Sie nach jedem Schritt sehen sollten:
- Herdr gibt die Ausgabe seines Installationsprogramms aus.
herdr --versiongibt 0.9.3 oder neuer aus. Diese Seite enthält keinen eigenen Herdr-Befehl, da das Herdr-Projekt das Installationsprogramm verwaltet. Falls dieser Schritt fehlschlägt, öffnen Sie herdr.dev und folgen Sie den dortigen Schritten für Windows. - Das Skript gibt jeden Schritt aus. Es endet mit einer Zeile, die mit
OK Colliebeginnt, und einer Liste der nächsten Schritte, die mitNext steps. This script does not take them for you:, dann1. Open a NEW terminal window.und3. Start Collie, then print its address:beginnt. Wenn Sie das Skript zuerst lesen möchten, siehe Installation.Es wird kein Dienst gestartet und nichts bleibt im Hintergrund aktiv. Das Skript führt
collie.exe versioneinmal aus, um zu prüfen, ob Windows die Ausführung erlaubt, mehr nicht. - Herdr öffnet sich und übernimmt dieses Terminal. Ein neues Terminal ist erforderlich, da Windows die neue PATH-Variable nur an Fenster übergibt, die nach der Installation geöffnet werden.
- Ein zweites Terminal ist erforderlich, da Herdr das erste belegt.
collie startgibt das Collie läuft-Banner aus sowie den Hinweis, dass Collie hier keinen Front-Door-Dienst veröffentlicht. Ein Front-Door-Dienst ist die HTTPS-Adresse vor Collie, die Ihr Smartphone öffnet. Dieser Hinweis wird unter Windows erwartet: Schritt 6 übernimmt diesen Teil manuell. Bevor Tailscale installiert ist, wird auch diese Zeile auf stderr ausgegeben:error: 'tailscale status' named no host for this node. Diese Zeile wird zu diesem Zeitpunkt erwartet und verschwindet nach Schritt 6. - Ihr Agent startet in dem Bereich. Collie zeigt ihn auf seinem Dashboard an.
tailscale serve statuszeigt Ihre Tailnet-Adresse an undcollie urlgibt sie aus. Vor diesem Schritt gibtcollie urlmöglicherweise eine Loopback-Adresse aus (127.0.0.1), eine Adresse, die nur dieser PC öffnen kann. Sie können diese in einem Browser auf diesem PC öffnen, um das Dashboard anzuzeigen.- Das Smartphone zeigt das Collie-Dashboard an. Bereiche, die auf Ihre Eingabe warten, stehen an erster Stelle.
collie pairgibt einen achtstelligen Code aus, dann eine Zeile wiesingle-use · expires <time> (10 minutes), dann einen QR-Code. Geben Sie den Code in Collie auf dem Smartphone ein, in der App, die Sie vom Startbildschirm aus geöffnet haben. Danach ist das Smartphone gekoppelt.
Installation
Was install.ps1 tut und was Sie anpassen können.
irm https://colliepwa.dev/install.ps1 | iexUm das Skript vor dem Ausführen 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.ps1install.ps1 benötigt kein Bun, kein Git und kein bash. Es prüft die neuesten fünf Releases, nimmt das erste mit einer Windows-ZIP-Datei, überprüft dessen sha256 und bricht bei einer Abweichung ab. Ein sha256 ist ein Fingerabdruck der Datei. Das Skript gibt jeden Schritt aus und verlangt niemals Administratorrechte. Wenn kein Release die ZIP-Datei enthält, bricht es als unten beschrieben ab.
Die Standard-Ausführungsrichtlinie Restricted, also die Windows-Regel dafür, welche Skripte ausgeführt werden dürfen, weist eine heruntergeladene Skriptdatei ab. Die letzte Zeile der Variante „Zuerst lesen“ setzt Bypass für diesen einen Durchlauf. Unblock-File .\install.ps1 ist der andere Weg. Die Form irm ... | iex führt den Skripttext direkt aus und benötigt dies nicht.
Das Skript legt ein Release in %LOCALAPPDATA%\collie\versions\<version> ab, richtet den Verzeichnisübergangspunkt current darauf aus und fügt current\bin zu Ihrem Benutzer-PATH hinzu. Ein Verzeichnisübergangspunkt ist eine Windows-Ordnerverknüpfung, und current verweist immer auf die Version, die ausgeführt wird. Das Skript führt collie.exe version einmal aus, um zu prüfen, ob Windows die Ausführung erlaubt. Es startet nichts weiter. Ein zweiter Durchlauf ändert nichts und verweist auf collie update.
| Variable | Auswirkung |
|---|---|
COLLIE_DIR | Installationsort. Standardwert %LOCALAPPDATA%\collie. Halten Sie den Pfad kurz. |
COLLIE_TAG | Installieren Sie genau ein Release, zum Beispiel v1.16.0. |
COLLIE_UPDATE_REPO | Das GitHub-Repository für den Download. Standardwert AltanS/collie. |
COLLIE_NO_PATH_EDIT=1 | Lassen Sie Ihren PATH unverändert. Führen Sie <COLLIE_DIR>\current\bin\collie.exe aus. |
Die ZIP-Datei befindet sich auch auf jeder Release-Seite auf GitHub, neben ihrer Datei .sha256. Verwenden Sie das Skript, keine manuelle Installation der ZIP-Datei.
collie start registriert eine Aufgabenplanungsaufgabe namens herdr.collie. Die Aufgabenplanung ist das Windows-Programm, das Aufgaben zu festgelegten Zeiten oder Ereignissen ausführt. Die Aufgabe startet Collie bei Ihrer Anmeldung mit einem eingeschränkten Token, also ohne Administratorrechte.
Die Aufgabe führt ein Startprogramm aus, ein kleines Programm, das die Bridge erneut startet, falls die Bridge mit einem Fehler beendet wird. Die Bridge ist das Collie-Programm, das auf Ihrem PC läuft und die Webseite für Ihr Telefon bereitstellt.
Zugriff über Ihr Smartphone
Schritt 6 von „Vom Nullpunkt zum Telefon“, vollständig. Dies sind dieselben Schritte wie unter Linux und macOS, manuell durchgeführt. Das Projekt hat sie einmal unter Windows ausgeführt, über HTTP, in einem Headscale-Tailnet (Headscale ist ein selbst gehosteter Tailscale-Server), mit einem Desktop-Browser in Telefongröße. Die HTTPS-Form unten wurde nicht ausgeführt, und es wurde weder ein echtes Telefon noch ein Agent verwendet. Wenn ein Schritt fehlschlägt, melden Sie dies (wobei).
Achtung. Ab dem Befehltailscale serve(Schritt 3 unten) bis zum Koppeln eines Geräts ist Collie für jedes Gerät in Ihrem Tailnet geöffnet, und diese können Ihre Bereiche lesen und darin tippen. Vor diesem Befehl kann nur dieser PC Collie erreichen. Führen Sie die Telefonschritte undcollie pairdirekt im Anschluss durch. Wenn andere Personen Ihr Tailnet mitbenutzen, koppeln Sie sofort und lesen Sie Sicherheit darüber, wie Sie einschränken können, wer Collie erreichen darf.
- Installieren Sie Tailscale auf dem PC sowie auf dem Telefon und melden Sie sich auf beiden beim selben Konto an: tailscale.com/download.
- Öffnen Sie in der Tailscale-Admin-Konsole die DNS, aktivieren Sie MagicDNS und wählen Sie dann HTTPS aktivieren.
- Geben Sie in einem neuen Terminal auf dem PC den lokalen Port von Collie (standardmäßig 8787) in Ihrem Tailnet frei:
tailscale serve --bg --set-path=/ 8787
- Erstellen Sie den Collie-Konfigurationsordner, falls er fehlt, und öffnen Sie dann dessen Datei
.env:New-Item -ItemType Directory -Force "$env:APPDATA\herdr\plugins\config\herdr.collie" notepad "$env:APPDATA\herdr\plugins\config\herdr.collie\.env"
- Fügen Sie diese zwei Zeilen am Ende der Datei mit Ihrem eigenen Namen aus Schritt 3 ein und speichern Sie:
COLLIE_PUBLIC_HOSTS=myhost.tail1234.ts.net COLLIE_PUBLIC_URL=https://myhost.tail1234.ts.net
- Starten Sie die Bridge neu und geben Sie dann die Adresse aus:
collie restart collie url
Collie lauscht nur auf diesem PC an einer Loopback-Adresse, die nur dieser PC erreichen kann. Unter Linux und macOS führt collie start Tailscale Serve für Sie aus. Das bedeutet „verwaltete Eingangstür“: Collie veröffentlicht die Adresse selbst. Unter Windows tut collie start dies nicht, daher führen Sie Tailscale Serve selbst aus.
In Schritt 3 gibt Tailscale eine Zeile mit einer Adresse wie https://myhost.tail1234.ts.net aus. Der Name ist der Teil nach https://. Kopieren Sie ihn. tailscale serve status zeigt dieselbe Adresse:
https://myhost.tail1234.ts.net (tailnet only)
|-- / proxy http://127.0.0.1:8787Der Befehl ist derselbe, den collie start unter Linux und macOS für Sie ausführt. --set-path=/ ersetzt alles, was dieser PC bereits unter / in Ihrem Tailnet bereitstellt.
Hinweis. In einem Headscale-Tailnet schlägt der HTTPS-Befehl in Schritt 3 miterror enabling https feature: error 501 Not Implementedfehl, da Headscale keine HTTPS-Zertifikate ausstellt. Bis zur Freigabe warntcollie doctorin der Zeilefront-door:this tailnet has no HTTPS certificates, so an https front door cannot be published. Geben Sie dort über HTTP frei, also in der Form, die das Projekt unter Windows ausgeführt hat:tailscale serve --bg --http=80 --set-path=/ 8787. Es wird auf Tailnet-Port 80 freigegeben, die Adresse lautet alsohttp://<name>ohne Port. Verwenden Sie diesehttp://-Adresse inCOLLIE_PUBLIC_URL. Nach diesem Befehl ist die Zeilefront-doorerfolgreich. In 1.16.0 bleibt die Warnung bestehen. Reines HTTP ist hier akzeptabel, da Tailscale den Datenverkehr zwischen Tailnet-Geräten verschlüsselt (WireGuard) und der HTTP-Abschnitt innerhalb des Tailnets bleibt. Verwenden Sie niemalstailscale funnel. Über HTTP bleiben die Startbildschirm-Installation, Web Push und das Mikrofon deaktiviert. Unter Linux und macOS wird im Collie-eigenen HTTP-Modus stattdessen auf dem Bridge-Port freigegeben (COLLIE_SERVE_MODE). Collie führt Serve unter Windows nicht aus, daher ändert diese Variable hier nichts an der Freigabe.
In einem Tailnet mit aktiviertem HTTPS versieht Tailscale die Adresse mit einem Zertifikat, dem das Telefon vertraut. Bei Headscale beachten Sie den obigen Hinweis. Die Installation auf dem Startbildschirm, Web Push (Benachrichtigungen an Ihr Telefon) und das Mikrofon erfordern HTTPS. Über reines HTTP bleiben sie deaktiviert (Spracheingabe und Web-Push).
In Schritt 4 fragt Notepad, ob die Datei erstellt werden soll, falls sie nicht vorhanden ist. Klicken Sie auf Ja. Der Ordner ist der Herdr-Plugin-Konfigurationsordner für herdr.collie, standardmäßig %APPDATA%\herdr\plugins\config\herdr.collie. Collie fragt Herdr danach ab, sodass herdr plugin config-dir herdr.collie ihn ausgibt.
COLLIE_PUBLIC_HOSTS ist die Host-Prüfung: Collie liest den Website-Namen in jeder Anfrage und weist jeden Namen ab, der nicht auf dieser Liste steht. Dies verhindert, dass eine Webseite Collie über DNS-Rebinding erreicht. COLLIE_PUBLIC_URL ist die Adresse, die collie url und der QR-Code von collie pair ausgeben. Öffnen Sie Collie über den vollständigen Namen: Die Host-Prüfung weist die Tailnet-IP-Adresse und den Kurznamen ab. Collie versucht beim Start außerdem, den Tailnet-Namen selbst zu ermitteln. Die zwei Zeilen schaffen Sicherheit.
Collie verwaltet diese Zuordnung unter Windows nicht. collie stop und collie uninstall belassen sie unverändert. tailscale serve status zeigt sie an und tailscale serve reset löscht jede Serve-Zuordnung auf dem PC. Verwenden Sie niemals tailscale funnel: Funnel stellt Collie in das öffentliche Internet.
Wenn Sie einen Reverse-Proxy (ein Programm, das Webanfragen an Collie weiterleitet) oder einen anderen Tunnel bevorzugen, beschreibt Bereitstellung die Varianten. Das entspricht Variante C, wobei COLLIE_PUBLIC_HOSTS auf den Namen gesetzt ist, den Ihr Telefon öffnet. Das erste collie start löst keine Firewall-Aufforderung aus, da Collie nur auf diesem Rechner lauscht.
Auf dem Smartphone öffnen
- Übertragen Sie die Adresse aus
collie urlauf das Telefon: Tippen Sie sie ein oder senden Sie sie an sich selbst. Öffnen Sie sie auf einem iPhone in Safari. Öffnen Sie sie auf einem Android-Telefon in Chrome. Das Telefon benötigt die Tailscale-App, angemeldet in Ihrem Tailnet. - Fügen Sie Collie zum Startbildschirm hinzu, damit es sich wie eine App im Vollbildmodus öffnet: - iPhone: in Safari: Tippen Sie auf Teilen, tippen Sie auf Zum Home-Bildschirm und tippen Sie dann auf Hinzufügen. - Android: in Chrome: Öffnen Sie Collie Einstellungen und tippen Sie auf der obersten Karte auf Installation.
- Öffnen Sie Collie über das neue Symbol.
- Öffnen Sie in der App Einstellungen, dann System, dann Gekoppelte Geräte.
- Führen Sie
collie pairauf dem PC aus, geben Sie den Code und einen Namen ein und tippen Sie dann auf Dieses Gerät koppeln.
Geben Sie den Code in der App ein, die Sie über das Symbol geöffnet haben. Scannen Sie nicht den QR-Code, den collie pair ausgibt: Die Kamera öffnet ihn in einem Browser-Tab, und auf einem iPhone nutzt die Home-Bildschirm-App ihren eigenen Speicher, getrennt von Safari, sodass eine im Tab durchgeführte Kopplung nicht übernommen wird.
Der Code ist 10 Minuten lang gültig und funktioniert einmal. Führen Sie collie pair erneut aus, falls er abgelaufen ist. Die Kopplung beendet den offenen Zugriff aus dem obigen Sicherheitshinweis (Ein Gerät koppeln).
Alltägliche Befehle
Führen Sie diese in einem beliebigen Terminal aus. Jeder Befehl funktioniert wie unter Linux und macOS, mit den unten stehenden Hinweisen für Windows.
| Befehl | Funktion unter Windows |
|---|---|
collie start | Registriert die Aufgabe herdr.collie, falls erforderlich, und startet die Bridge. |
collie stop | Deaktiviert die Aufgabe, beendet eine laufende Bridge samt Starter und gibt bridge stopped aus. Collie bleibt ausgeschaltet, auch bei Ihrer nächsten Anmeldung, bis collie start. |
collie restart | Startet nur die Bridge neu. |
collie status | Nennt die Aufgabe und ihren Status und zeigt das Banner von Collie läuft an. |
collie doctor | Prüft die Installation, Herdr, lange Pfade und Geheimnisdateien und gibt für jedes Problem einen Lösungsschritt aus. |
collie url | Gibt die Adresse aus, die auf dem Telefon geöffnet werden soll. |
collie logs | Gibt die letzten Zeilen der Protokolldatei aus. |
collie update | Aktualisiert auf die neueste Version (Aktualisieren). |
collie update --rollback | Kehrt zur vorherigen Version zurück (Aktualisieren). |
collie uninstall | Entfernt die Aufgabe (Deinstallieren). |
Aktualisieren
Aktualisieren Sie über das Terminal oder über das Smartphone, genauso wie unter Linux und macOS:
collie updateDie Aktualisierung ruft die Version ab, tauscht collie.exe aus, startet die Bridge neu und prüft, ob sie antwortet. Antwortet sie nicht, setzt Collie innerhalb von etwa einer Minute und fünfzehn Sekunden auf die funktionierende Version zurück. Die Schaltfläche „Aktualisieren“ auf dem Telefon führt dieselbe Kette aus.
Um manuell zurückzugehen, führen Sie diesen Befehl aus. Er erfordert kein Netzwerk. Er verweist current auf die neueste ältere Version, die sich noch auf dem Datenträger befindet, und startet die Bridge neu. Startet diese Version nicht, geht Collie wieder vorwärts und ändert nichts:
collie update --rollbackEin alter Versionsordner kann in versions\ verbleiben, bis der Starter neu startet, da Windows keinen Ordner löscht, den ein laufendes Programm belegt. Das nächste Update entfernt ihn.
Achtung. Ein Quellcode-Checkout aktualisiert sich unter Windows nie selbst:collie updateund die Schaltfläche auf dem Telefon weisen in einem Satz darauf hin und ändern nichts. Jede Windows-Installation vor der ersten ZIP-Datei ist ein Quellcode-Checkout. Der Wechsel zur ZIP-Installation ist ein einmaliger manueller Schritt: Führen Siecollie uninstallaus, um die alte Aufgabe zu entfernen, und führen Sie danninstall.ps1aus. Danach funktioniertcollie update.
Collie erlaubt eine Installation pro Windows-Rechner, und collie start lehnt eine Aufgabe ab, die eine andere ausführt; deshalb wird die alte Aufgabe zuerst entfernt. Sie können auch bei einem Quellcode-Checkout bleiben und ihn manuell aktualisieren: Rufen Sie den neueren Tag ab, führen Sie bun run build aus, dann collie restart. Der Build erfordert bash von Git for Windows.
Releases bis einschließlich v1.15.0 können ein laufendes collie.exe nicht austauschen und schlagen mit EPERM fehl. Die Behebung (PR 309) wurde erstmals in v1.15.1 ausgeliefert. Die späteren Windows-Update-Arbeiten, wie die Schaltfläche „Update“ des Smartphones unter Windows, werden erstmals in v1.16.0 ausgeliefert.
Deinstallieren
collie uninstallcollie uninstall stoppt die Bridge und entfernt die Aufgabe der Aufgabenplanung. Der Installationsordner, Ihr .env und der Eintrag im Benutzer-PATH bleiben erhalten, da jede Installation ihre Dateien behält. Anschließend werden zwei weitere Zeilen für die PowerShell ausgegeben. Die erste entfernt den Installationsordner. Die zweite entfernt über die Registrierung nur current\bin aus Ihrem Benutzer-PATH. Collie gibt diese zwei Zeilen auf jeweils einer Zeile aus, mit Ihrem tatsächlichen Ordnerpfad. Sie sehen wie folgt aus, hier zur besseren Lesbarkeit umgebrochen:
cmd /c rmdir /s /q "<install folder>"
$k = [Microsoft.Win32.Registry]::CurrentUser.OpenSubKey('Environment', $true)
$k.SetValue('Path', (($k.GetValue('Path', '', 'DoNotExpandEnvironmentNames') -split ';' |
Where-Object { $_.TrimEnd('\') -ne '<install folder>\current\bin' }) -join ';'),
$k.GetValueKind('Path'))
$k.Close()Kopieren Sie die Zeilen nach Möglichkeit direkt aus der Ausgabe von Collie. Collie entfernt keine tailscale serve-Zuordnung, die Sie manuell eingerichtet haben (Zugriff über Ihr Smartphone).
Wenn etwas fehlschlägt
Führen Sie zuerst collie doctor aus und suchen Sie Ihr Problem anschließend unten.
collie doctor prüft die Installation und gibt für jedes gefundene Problem eine Fehlerbehebung aus. Lesen Sie danach den unten stehenden Abschnitt, der zu Ihrer Beobachtung passt. Trifft keiner zu, sehen Sie in das Protokoll, wie in Protokolle beschrieben.
Um ein Problem zu melden, erstellen Sie ein Issue unter github.com/AltanS/collie/issues. Geben Sie an, dass Sie Windows nutzen, nennen Sie die Collie-Version aus collie version und fügen Sie die Ausgabe von collie doctor sowie die letzten Zeilen des Protokolls ein. Entfernen Sie zuvor alle privaten Daten. Das Protokoll kann Text aus Bedienfeldern enthalten.
Unsignierte Binärdatei: SmartScreen und Smart App Control
collie.exe ist nicht signiert, daher weiß Windows nicht, wer es herausgegeben hat. Lesen Sie dies, bevor Sie das Installationsprogramm ausführen.
Zwei Windows-Funktionen können ein unsigniertes Programm stoppen:
- SmartScreen fragt nach, bevor ein Programm ausgeführt wird, das aus dem Internet stammt. Klicken Sie bei einer im Browser heruntergeladenen Datei auf Weitere Informationen und dann auf Trotzdem ausführen.
- Smart App Control bietet keine Freigabe einzelner Dateien. Wenn die Funktion aktiv ist und Collie blockiert, können Sie diese einzelne Datei nicht zulassen.
install.ps1zeigt die Blockierung an, wenncollie.exe versionausgeführt wird, und gibt keine Erfolgsmeldung aus.
Falls Smart App Control Collie blockiert, haben Sie folgende Optionen in dieser Reihenfolge:
- Prüfen Sie, ob die Funktion aktiv ist: Öffnen Sie Windows-Sicherheit, dann App- und Browsersteuerung, dann Einstellungen für die intelligente App-Steuerung.
- Bauen Sie aus dem Quellcode (Aus dem Quellcode erstellen), was
collie.exeauf Ihrem eigenen Rechner erstellt. Dies wurde nicht auf einem Rechner getestet, auf dem Smart App Control aktiviert ist. - Verwenden Sie einen PC, auf dem Smart App Control deaktiviert ist, oder melden Sie die Blockierung in einem Issue.
- Deaktivieren Sie schließlich Smart App Control. Dies lässt sich nur schwer rückgängig machen: Laut Microsoft-Dokumentation erfordert eine erneute Aktivierung unter Umständen ein Zurücksetzen von Windows; lesen Sie daher zuerst die aktuelle Seite von Microsoft.
Die sha256-Prüfung in install.ps1 erkennt einen beschädigten oder ausgetauschten Download. Sie sagt nicht aus, wer die Datei herausgegeben hat, da der Hash neben der Zip-Datei liegt und wer das eine ersetzen kann, kann auch das andere ersetzen. Das Signieren der Binärdatei ist ein möglicher späterer Schritt ohne festes Datum.
Lange Pfade
Was Sie sehen: Ein Bereich öffnet sich nicht, und Herdr meldet The directory name is invalid (os error 267). collie doctor warnt zuerst: LongPathsEnabled is 0 on this machine.
Herdr kann einen Bereich in einem Ordner, dessen Pfad länger als 260 Zeichen ist, nur starten, wenn lange Pfade in Windows aktiviert sind. collie doctor warnt auch, wenn der Installationsordner selbst sehr lang ist.
In einer als Administrator ausgeführten PowerShell:
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' `
-Name LongPathsEnabled -Value 1Windows benötigt möglicherweise einen Neustart, bevor bereits laufende Programme dies erkennen. Halten Sie Ihre Arbeitsordner in jedem Fall kurz.
Die Aufgabenplanung verweigert Standardbenutzer
Was Sie sehen: collie start schlägt mit error: schtasks /Create /TN herdr.collie failed fehl, Windows meldet 0x80070569, und Collie meldet, dass dem Konto das Recht „Anmelden als Stapelverarbeitungsauftrag“ fehlt.
Dies betrifft ein Standard-Benutzerkonto, das dieses Recht nie hatte. Ein Administratorkonto verfügt in der Regel darüber.
Ein Administrator gewährt das Recht:
- Führen Sie
secpol.mscaus. - Öffnen Sie Lokale Richtlinien, danach Zuweisen von Benutzerrechten.
- Öffnen Sie Anmelden als Stapelverarbeitungsauftrag und fügen Sie das Konto hinzu.
- Führen Sie
collie starterneut aus.
Windows Home enthält kein secpol.msc.
Geheimdateien
Was Sie sehen: collie doctor gibt eine secrets-private-Zeile aus, zum Beispiel can be read by other accounts, mit einer Behebung.
Collie beschränkt, wer seine Geheimdateien lesen darf: Ihr Konto, SYSTEM und Administratoren. Windows kennt keinen 0600-Modus, daher setzt Collie die Zugriffssteuerungsliste (ACL) seiner Status- und Konfigurationsordner.
collie doctorDie secrets-private-Zeile kennt drei Antworten:
| Antwort | Bedeutung |
|---|---|
| Privat | Die Ordner sind nur für Ihr Konto, SYSTEM und Administratoren zugänglich. |
| Locker | Ein anderes Konto kann einen Ordner oder ein Geheimnis lesen. Das ist ein Fehler, und doctor gibt die Behebung aus. |
| Nicht geprüft | Collie kann die Liste nicht lesen und meldet daher cannot confirm. Das ist eine Warnung. |
Ein Ordner auf einer Netzwerkfreigabe oder einem FAT- oder exFAT-Datenträger gilt als „nicht geprüft“, da keine Liste vorhanden ist. Belassen Sie die Status- und Konfigurationsordner auf einem NTFS-Laufwerk in diesem PC.
Die Bridge repariert einen lockeren Ordner beim Start, jedoch nur einen Ordner, den Collie gerade erstellt hat, einen Standardordner in Ihrem Benutzerprofil oder einen Ordner, der leer ist oder nur Collies eigene Dateien enthält. Jeder andere Ordner wird geprüft und beanstandet, zusammen mit dem icacls-Befehl zur Behebung. collie doctor und andere Befehle ändern nichts.
So machen Sie eine Reparatur rückgängig: Zuvor speichert die Bridge die alte Liste in acl-backups im Statusordner und gibt den Rückgängig-Befehl aus. Führen Sie ihn in einem als Administrator geöffneten Terminal aus:
icacls <folder> /restore <backup file>COLLIE_NO_ACL_REPAIR=1 schaltet jede Änderung ab. Collie prüft und warnt weiterhin. Die vollständige Beschreibung der Regeln finden Sie in Geheimdateien unter Windows.
Protokolle
Das Bridge-Protokoll ist collie.log im Plugin-Konfigurationsordner (standardmäßig %APPDATA%\herdr\plugins\config\herdr.collie\collie.log). collie logs gibt die letzten Zeilen aus. Collie hängt nur Daten an und rotiert das Protokoll nie, daher wächst die Datei, solange die Bridge läuft. Um sie zu leeren, führen Sie collie stop aus, löschen Sie die Datei und führen Sie dann collie start aus.
Aus dem Quellcode erstellen
Das Release-Zip benötigt keine Toolchain. Ein Build aus dem Quellcode benötigt weiterhin Bun, Git und das bash von Git for Windows in Ihrem PATH, da bun run build bash aufruft. Ein Build ohne bash ist geplant, aber noch nicht umgesetzt.
Was unterstützt wird
Ein Host: Windows 11 auf x64 mit Herdr als Multiplexer.
Ein Crew besteht aus mehreren Rechnern, auf denen jeweils ein Collie läuft, dargestellt hinter einer gemeinsamen URL (Crews).
| Unterstützt | Nicht unterstützt, funktioniert möglicherweise, ungetestet | |
|---|---|---|
| Windows | Windows 11, x64 | Windows 10, Windows Server und Windows on ARM |
| Multiplexer | Herdr 0.9.3 oder neuer für Windows | tmux, zellij und tuios: keines bietet einen nativen Windows-Build |
| Dienst | Aufgabenplanung, ein Collie pro Rechner | Ein Windows-Dienst, winget und MSI |
| Crew | Collie auf einer Maschine | Eine Windows-Maschine, die einer Crew beitritt |
| Eingang | Sie veröffentlichen es selbst manuell | Ein Frontend, das Collie verwaltet |
| Binärdatei | collie.exe, unsigniert, mit einer sha256 | Eine signierte Binärdatei |
Diese Einschränkungen gelten ebenfalls:
- Collie erlaubt eine Installation pro Windows-Rechner. Der Aufgabenname lautet immer
herdr.collie. herdr plugin installist kein Windows-Installationspfad. Verwenden Sieinstall.ps1, danncollie start.- Die Aktionsschaltflächen von Herdr existieren unter Windows nicht, da sie
basherfordern. - Der Windows-Build von Herdr wird vom Herdr-Projekt erstellt. Collie hängt davon ab und steuert ihn nicht.
Crews
Ein Windows-Rechner kann in dieser Version keiner Crew beitreten. collie crew invite, crew join, crew add, crew deputy, crew approve-promote und collie promote verweigern unter Windows den Dienst, melden dies in einem Satz und ändern nichts. Collie auf einem einzelnen Windows-Rechner funktioniert eigenständig.
Umstieg vom Community-Skript
Was sich ändert, wenn Sie das Community-Skript ausgeführt haben, und was nicht übernommen wird.
Vor dieser Version lief Windows unter contrib/windows/collie-ctl.ps1, einem von der Community geschriebenen Skript. Collie führt die Aufgabe nun selbst aus, und jedes Unterkommando des Skripts entspricht einem gleichnamigen Unterkommando von collie. Führen Sie nach dem Update einmalig collie restart aus. Wenn das Skript die Aufgabe namens herdr.collie ausgeführt hat, übernimmt Collie sie unter demselben Namen. Bis zu einem Neustart zeigen collie status und collie doctor an, dass die Aufgabe noch das alte Skript ausführt.
Zwei Dinge werden nicht übernommen:
- Ein benutzerdefinierter Aufgabenname. Mit dem Skript konnten Sie
COLLIE_TASK_NAMEfestlegen. Collie liest dies nicht aus, und die Aufgabe lautet immerherdr.collie. Eine unter einem anderen Namen registrierte Aufgabe bleibt unverändert bestehen; Collie stoppt oder entfernt sie nicht. Löschen Sie sie, bevor Siecollie startausführen, da andernfalls zwei Überwachungsprozesse die Bridge starten. In der PowerShell:schtasks /Delete /TN "<your task name>" /F. - Kopien von Absturzprotokollen. Das Skript behielt bei einem Absturz der Bridge eine Kopie des Protokolls. Collie tut dies nicht. Die alten Kopien verbleiben auf dem Datenträger, bis Sie sie löschen.
Wie dies getestet wird und wann der experimentelle Status endet
Warum Collie als experimentell gekennzeichnet ist, für Leser, die die Belege wünschen. Sie benötigen diese nicht, um Collie zu verwenden.
Zwei Begriffe auf dieser Seite haben eine feste Bedeutung:
- Unterstützt bedeutet, dass der Maintainer den Windows-Code betreut und testet: ein CI-Lauf bei jedem Push und ein Probelauf auf einer virtuellen Windows 11-Maschine vor jedem Release-Tag (ADR 0075). CI ist der automatische Testlauf auf GitHub. Ein ADR ist ein kurzes Entscheidungsprotokoll, das im Repository geführt wird.
- Experimentell bedeutet, dass eine Aktualisierung zwischen zwei echten Releases und der HTTPS-Telefonpfad noch nicht erprobt sind.
Worauf die Unterstützung basiert:
- Der
windows.yml-Workflow, ein CI-Workflow, führt die Tests für Bridge, CLI und Skripte aufwindows-latestbei jedem Pull Request und jedem Push aufmainaus. Er ist noch keine erforderliche Prüfung. Der Maintainer plant, ihn nach etwa zehn erfolgreichen Durchläufen in Folge dazu zu machen. - Jedes Release erstellt
collie-<version>-windows-x64.zipmit einer.sha256-Datei. - Vor jedem Release-Tag führt der Maintainer einen Probelauf durch,
make win-rehearse. Er installiert ein Release auf einer frischen Windows 11-VM, aktualisiert es über das Terminal und über den Endpunkt des Telefons, erzwingt eine fehlgeschlagene Statusprüfung und überprüft das Rollback. Die Aktualisierung verwendet eine lokale Kopie der Release-Dateien. Wenn die VM nicht verfügbar ist, wartet der Tag. - Windows 11 ist die zweite Referenz neben der CI, da der CI-Runner Windows Server ist.
- Die tatsächliche Installation aus dem öffentlichen Release v1.16.0 lief auf einer Windows 11-VM.
install.ps1fand das Release, lud die ZIP-Datei herunter, der sha256-Wert stimmte überein undcollie.exelief als 1.16.0.collie startregistrierte die Aufgabe und startete die Bridge.collie statusmeldete running,collie doctorbeendete mit Code 0 undcollie stopstoppte sie. Das Skript unterhttps://colliepwa.dev/install.ps1ist live und byteweise identisch mit dem Skript im Release v1.16.0. - Der Zugriff per Telefon lief auf einer Windows 11-VM in einem Headscale-Tailnet über HTTP.
tailscale serve --bg --http=80 --set-path=/ <port>veröffentlichte Collie. Durch die beiden.env-Zeilen undcollie restartgabencollie urlund dascollie start-Banner den Tailnet-Namen aus. Von einem anderen Tailnet-Rechner aus antworteten die Seite,/api/healthund/api/snapshotunter dem vollständigen Namen, und eine Anfrage über die Tailnet-IP-Adresse oder den Kurznamen wurde abgelehnt. Die Kopplung in der Telefon-Benutzeroberfläche funktionierte, und danach erhielt ein Schreibvorgang ohne Zugangsdaten den Fehler 403 „device not paired“. Ein Desktop-Browser in Telefongröße diente als Ersatz für das Telefon. - Smart App Control auf der Test-VM befindet sich im Evaluierungsmodus, und weder Smart App Control noch SmartScreen haben Collie dort blockiert. Diese Seite beschreibt die Windows-Dokumentation, keine tatsächlich beobachtete Blockierung.
Die Bezeichnung experimentell entfällt erst, wenn alle folgenden Bedingungen zusammen erfüllt sind:
- Ein Release enthält die Windows-ZIP-Datei,
install.ps1befindet sich auf colliepwa.dev und eine Installation sowie eine Aktualisierung wurden mit einem echten Release ausgeführt. Die ersten drei Punkte sind erledigt: v1.16.0 enthält die ZIP-Datei, die Adresse ist live und die Installation wurde ausgeführt. Eine Aktualisierung zwischen zwei echten Releases fand noch nicht statt, da dafür ein zweites Release mit der ZIP-Datei erforderlich ist. - Die Windows-Prüfung ist eine erforderliche Prüfung im Branch-Schutz. Der Branch-Schutz ist die GitHub-Einstellung, die einen Merge blockiert, bis die angegebenen Prüfungen bestanden sind.
- Das Release-Gate liest den Windows-Workflow. Das Gate ist der erste Schritt des Release-Workflows, der auf die Tests wartet, bevor er veröffentlicht.
- Die Toleranz für eine fehlende Windows-Zip-Datei ist deaktiviert. Sie ist ab jetzt deaktiviert, wie der nächste Abschnitt beschreibt.
Ein Release ohne Windows-Zip-Datei
Die Release-Prüfung verlangt ab jetzt die Windows-Zip-Datei. Nur der Maintainer kann dies für einen Linux-Hotfix überschreiben. Der Release-Job prüft dies in scripts/windows-asset.ts. Er sucht nach einem früheren stabilen Release (weder Entwurf noch Vorabversion), das die Zip-Datei enthält; v1.16.0 ist ein solches Release. Ab 2026-11-15 ist die Zip-Datei ausnahmslos verpflichtend; sie ist auch dann verpflichtend, wenn die Release-Liste von GitHub nicht antwortet. Die einzige Ausnahme ist ein Schalter, den der Maintainer für einen Linux-Hotfix setzen kann, während der Windows-Build fehlschlägt: die Repository-Variable COLLIE_WINDOWS_ASSET_OVERRIDE. Ein Release unter diesem Schalter enthält keine Windows-Zip-Datei.
Releases vor v1.16.0 enthalten keine Windows-Zip-Datei. Was Sie sehen, wenn das neueste Release keine enthält:
install.ps1prüft die neuesten fünf Releases. Für jedes Release gibt der Befehl<tag> has no Windows build. Trying the next older release.aus. Anschließend gibt ercollie install: none of the newest 5 releases of AltanS/collie carries a Windows build yet. Nothing was installed.aus und endet mitInstall failed.sowie einer Zeile, die Sie auffordert, ein Release mit vorhandener Zip-Datei festzupinnen. Auf Ihrem Rechner wird nichts geändert. Um ein Release festzupinnen, setzen SieCOLLIE_TAG.collie updategibt bei einer Windows-Installationerror: release <version> has no Windows build; try again after the next release. Nothing was changed.aus
Öffnen Sie zum Prüfen die Release-Seite auf GitHub und suchen Sie nach einer Datei namens collie-<version>-windows-x64.zip.
Was nicht getestet ist
Einfache Liste, damit hier nichts als Zusicherung verstanden wird:
- Eine Aktualisierung zwischen zwei echten Releases unter Windows. Für den Testlauf wurde eine lokale Kopie der Release-Dateien verwendet.
- Die HTTPS-Variante von Tailscale Serve unter Windows (Headscale antwortete mit
501 Not Implemented), und damit die Startbildschirm-Installation, Web-Push und das Mikrofon. Außerdem ein echtes Telefon, ein in einem Herdr-Bereich ausgeführter Agent und ein Reverse-Proxy anstelle von Tailscale Serve. - Ein manueller Aufruf von
collie update --rollbackunter Windows. Der automatische Rollback nach einer fehlgeschlagenen Aktualisierung wurde getestet. - Der Wechsel von einem Quellcode-Checkout zur Zip-Installation und das manuelle Aktualisieren eines Quellcode-Checkouts.
- Manuelle Installation der Zip-Datei ohne
install.ps1. - Windows 10, Windows Server, Windows on ARM, tmux, zellij und tuios unter Windows.
- Eine echte Blockierung durch die intelligente App-Steuerung sowie PowerShell 7 für
install.ps1. - Ein Build aus dem Quellcode auf einem Rechner mit aktiver intelligenter App-Steuerung.
- Die Korrektur der Aufgabenplanung unter Windows Home. Der Pfad wurde mit einem Standardbenutzer geprüft, dessen Name ein Leerzeichen und ein Nicht-ASCII-Zeichen enthielt.
- Ein FAT-Datenträger auf echter Hardware. Die Antwort „nicht geprüft“ ist durch Unit-Tests abgedeckt.
- Die Ablehnung der Aufgabe eines zweiten Collie, nur durch Unit-Tests abgedeckt.
- Ob der Explorer den neuen PATH ohne Abmeldung erkennt, sowie eine PATH-Bearbeitung durch einen Standardbenutzer.
- Der
local-cli-Sprachanbieter mit einer echten Engine. Das Aufräumen wurde mit einem Testbefehl geprüft: Collie beendet den Prozessbaum des Befehls, aber ein Prozess, der von einem bereits beendeten Hilfsprogramm gestartet wurde, kann diesen überleben (Spracheingabe und Web-Push).
Diese Seite auf GitHub bearbeiten