Ich programmiere unterwegs oft auf dem Laptop. Gerade in letzter Zeit übergebe ich Aufgaben, die etwas Zeit brauchen, häufig an AI-Coding-Agenten wie Codex.
Das Problem zeigte sich beim Aussteigen aus Bus oder U-Bahn.
Der Prompt war schon abgeschickt, der Agent arbeitete noch, aber wenn ich den Laptopdeckel schloss, konnte das Gerät in den Ruhezustand gehen und die Arbeit unterbrechen. Also stieg ich oft mit nur halb zugeklapptem Laptop und eingeschaltetem Bildschirm aus, wartete noch kurz oder brach die Arbeit einfach ab, um sie später wieder aufzunehmen.
Das wirkt wie eine Kleinigkeit, aber wenn es immer wieder passiert, wird es ziemlich lästig.
Deshalb habe ich es gebaut
LidGuard ist ein Stromverwaltungs-Tool, das verhindert, dass ein Laptop in den Schlafmodus geht, solange ein lokaler AI-Coding-Agent arbeitet, und nach Abschluss der Arbeit die ursprüngliche Energiepolitik wiederherstellt.
Ich habe es ungefähr für folgenden Ablauf gebaut.
- Dem Agenten eine länger laufende Aufgabe übergeben.
- Wenn man losmuss, den Laptop zuklappen.
- Während der Agent arbeitet, den Schlafmodus und den Schlafmodus beim Schließen des Deckels vorübergehend blockieren.
- Wenn die Arbeit fertig ist, die ursprünglichen Energieeinstellungen wiederherstellen.
- Je nach Einstellung in den Standby oder Ruhezustand wechseln.
Persönlich gefällt mir der letzte Teil am besten. Wenn es nur bei „läuft trotz geschlossenem Deckel weiter“ bliebe, müsste sich der Nutzer später doch wieder darum kümmern. LidGuard zielt darauf ab, dass der Laptop nach Ende der Agentenarbeit gleich mit zur Ruhe kommt.
Warum ich dafür etwas Eigenes gebaut habe
Ich habe mir auch bestehende Tools zur Verhinderung des Schlafmodus angesehen.
Soweit ich es recherchiert habe, fielen die meisten ungefähr in eine dieser Kategorien.
- Schlafmodus verhindern, solange ein bestimmter Prozess läuft
- Ein Timer bleibt aktiv
- Der Nutzer schaltet es selbst ein und aus
- Es wird nur der Schlafmodus verhindert, solange der Laptopdeckel geöffnet ist
Was ich wollte, war etwas anders.
- Das Verhalten beim Schließen des Deckels ebenfalls vorübergehend ändern
- Erkennen, wann eine AI-Agent-Session tatsächlich endet
- Danach die ursprüngliche Energiepolitik wiederherstellen
- Bei Bedarf automatisch in den Standby oder Ruhezustand wechseln
Deshalb verfolgt das Tool bei unterstützten Agenten per hook den Start und das Ende von Aufgaben. Es ist weniger ein „Tool, das den Computer einfach immer eingeschaltet hält“, sondern eher ein „Tool, das ihn nur wach hält, solange der Agent arbeitet“.
Eingebaute Funktionen
Am Anfang dachte ich, es würde reichen, wenn es unter Windows mit Codex gut funktioniert. Das ist die Umgebung, die ich hauptsächlich nutze, und beim Agenten ist es fast immer Codex.
Beim Bauen merkte ich aber, dass dieses Problem ziemlich allgemein sein dürfte, also habe ich nach und nach weitere Funktionen ergänzt.
- Energieverwaltung für Windows, systemd/logind-basiertes Linux und macOS
- Anbindung an Codex, Claude Code und GitHub Copilot CLI
- Automatischer Standby oder Ruhezustand nach Abschluss der Arbeit
- Konfiguration zur Behandlung von Berechtigungsanfragen bei geschlossenem Deckel
- Aufhebung der Schlafmodus-Sperre bei Sessions ohne Aktivität über einen bestimmten Zeitraum
- Notfall-Ruhezustand anhand von Temperatursensoren
Mein Laptop ist ein Windows on ARM-Gerät, deshalb wird er bei Agentenarbeit im Rucksack normalerweise nicht besonders heiß. Trotzdem sollte man vorsichtig sein, wenn man einen geschlossenen Laptop eingeschaltet transportiert. Deshalb habe ich in unterstützten Umgebungen auch eine Funktion eingebaut, die bei Überschreiten einer bestimmten Temperatur sofort versucht, in den Ruhezustand oder Standby zu wechseln.
Worauf man achten sollte
LidGuard bedeutet nicht, dass man den Laptop einfach sorglos in die Tasche werfen kann.
Energieverwaltung, Temperatursensoren, Berechtigungen, Firmware und Betriebssystemrichtlinien können je nach Umgebung unterschiedlich funktionieren. Auch der Notfall-Ruhezustand ist eher eine zusätzliche Sicherheitsmaßnahme.
Es gibt auch eine Einstellung, mit der Berechtigungsanfragen bei geschlossenem Deckel automatisch behandelt werden können, aber weil dabei Arbeit weiterlaufen kann, ohne dass man auf den Bildschirm schaut, sollte man das mit Bedacht verwenden.
Aktueller Testrahmen
Am ausführlichsten getestet habe ich die Kombination Windows + Codex.
Unterstützung für Linux, macOS, Claude Code und GitHub Copilot CLI ist ebenfalls implementiert, aber ich habe nicht alle Kombinationen im praktischen Einsatz ausreichend erprobt. Wenn Sie es auf einem anderen Betriebssystem oder mit einem anderen Agenten ausprobieren und etwas Merkwürdiges entdecken, hinterlassen Sie bitte ein Issue — auch auf Koreanisch, das ist in Ordnung — und ich versuche, es so gut wie möglich zu beheben.
Letztlich ist LidGuard ein kleines Tool, das ich gebaut habe, weil ich AI-Agenten unterwegs etwas bequemer nutzen wollte. Ich würde mich freuen, wenn es auch anderen hilft, die in Bus oder U-Bahn, im Café oder beim Wechsel zwischen Besprechungsräumen schon einmal dachten: „Ich wünschte, der Laptop würde nur so lange nicht einschlafen, bis diese Aufgabe fertig ist.“
6 Kommentare
Großartig. Kann es unter Windows auch Codex oder Claude Code erkennen, die in WSL installiert sind?
Ich habe überlegt, welcher Ansatz in einer WSL-Umgebung am besten wäre, und bin zu dem Schluss gekommen, dass es der sauberste Weg ist, LidGuard, das auf der Windows-Seite installiert ist, über den auf Linux installierten Agent-Hook aufzurufen.
Dazu habe ich den Patch 1.0.1 veröffentlicht und die detaillierte Installationsanleitung in README(.ko).md ergänzt; dort können Sie sie nachlesen.
Alternativ habe ich auch in
agent-install.md, wo die Installation dem Agenten überlassen wird, einen Prompt zur Erkennung der WSL-Umgebung eingefügt, also dortSie können es gern nutzen! Ich habe aus Versehen mitten drin auf den Senden-Button geklickt ;_;
Ah, nein, ich glaube, diese Situation haben wir nicht berücksichtigt. Ich werde darüber nachdenken, wie wir das unterstützen können!
Vielleicht ist das nicht vielmehr ein höchstes Lob, nämlich: „Logisch betrachtet ist das eine perfekte Idee, gegen die man nichts sagen kann, und ich bin neidisch und eifersüchtig“?
Bitte beachten Sie den Abschnitt zum Kommentieren in der Anleitung zur Nutzung der Website.
Bitte sprechen Sie freundlich und höflich.
Bitte greifen Sie den Verfasser nicht persönlich an.
Wenn Sie Einwände haben, schreiben Sie bitte nur deren Inhalt.