
OpenClaw v2026.5.7, Agents SDK Sandboxes und Gemini CLI Safety Runtime
OpenClaw Daily berichtet über OpenClaw v2026.5.7 mit Fokus auf ClawHub-Publish-Wiederherstellung, `openai/chat-latest`, Cron-JSON-Status, Kanalauflistung, Native-Command-Owner-Durchsetzung, Active-Memory-Admin-Bereich, Skills-Snapshot-Aktualisierung, Before-Tool-Autorisierung für Inline-Skill-Dispatch, SecretRef-basierte Tavily-Anmeldedaten, Kontext-Cache-Invalidierung, Discord-Zielparsing, Compaction-Token-Klemmung, Zustellfehlerberichte, Discord-Voice-Probes, Telegram-Poller-Liveness, WhatsApp-Routing und Codex-Genehmigungen. Show notes: https://tobyonfitnesstech.com/de/podcasts/episode-47/
🎧 Listen to Episode[00:00] v2026.5.7 bietet Betreibern neue Möglichkeiten zu sehen, ob Publishing, Cron, Channels, Auth, Delivery, Voice, Memory und Genehmigungen tatsächlich funktionieren. ClawHub-Publishing wiederholt jetzt vorübergehende Fehler bei der Abhängigkeitsinstallation, hält Plugin-Publishings mit bestandener Vorschau am Laufen, wenn eine Vorschauzelle ausfällt, und überprüft nach dem Publishing jede erwartete Paketversion. Cron JSON legt den berechneten Status jetzt direkt offen. Channel-Auflistung ist channel-fokussiert, anstatt Model-Auth-Details zu mischen. Auto-Reply-Inline-Skill-Dispatch leitet jetzt vor dem Tool-Aufruf durch die Autorisierungs-Hooks. Tavily-Tools lösen SecretRef-gestützte Anmeldedaten aus dem aktiven Runtime-Konfig-Snapshot auf. Discord-Channel-Ziele mit Provider-Präfix werden als Channel-Sends geroutet, anstatt irreführende Direct-Message-Versuche. Das ist die Gestalt der Version: weniger versteckte Annahmen, weniger veraltete Caches, weniger falsche Erfolge und mehr explizite Betreiber-Verträge.
[02:30] GESCHICHTE 1 — OpenClaw v2026.5.7 macht Publishing, Channels, Cron, Auth, Memory, Delivery, Voice, WhatsApp und Codex-Genehmigungen beobachtbarer und sicherer
Beginnen wir mit dem Release und Plugin-Publishing. Ein Wartungs-Release sollte Betreiber nicht im Unklaren lassen, ob ein Plugin tatsächlich überall veröffentlicht wurde, wo es landen sollte. v2026.5.7 fügt Wiederholungslogik für vorübergehende ClawHub-CLI-Abhängigkeitsinstallationsfehler hinzu, hält ein Plugin veröffentlichbar, wenn eine Vorschauzelle ausfällt, obwohl die Vorschau bestand, und überprüft nach dem Publishing jede erwartete ClawHub-Paketversion. Dieser letzte Überprüfungsschritt ist der wichtige. Eine Publishing-Pipeline ist nicht abgeschlossen, wenn ein Befehl beendet wird; sie ist abgeschlossen, wenn die erwarteten Paketversionen sichtbar sind, wo nachgelagerte Installer sie abrufen werden.
Das ist wichtig für ein Plugin-Ökosystem, weil teilweise Publishings schlimmer sind als saubere Fehler. Ein Paket kann an einem Ort verfügbar, an einem anderen fehlend oder in der falschen Version veröffentlicht sein. Betreiber jagen dann Installationsfehler, die wie lokale Konfigurationsprobleme aussehen, aber tatsächlich Release-Verteilungsprobleme sind. Post-Publish-Überprüfung macht den Release-Prozess zu einer Abgleichschleife: Deklariere den erwarteten Paketsatz, versuche das Publishing und prüfe, ob der Registry-Zustand übereinstimmt. Wenn nicht, ist der Fehler bei der Wartung sichtbar, anstatt von Benutzern entdeckt zu werden.
Die OpenAI-Modelloberfläche erhält eine gezielte Ergänzung: openai/chat-latest wird als explizite direkte API-Key-Modellüberschreibung unterstützt, um den beweglichen ChatGPT Instant API-Alias auszuprobieren, ohne das stabile Standardmodell zu ändern. Der Schlüsselbegriff ist explizite Überschreibung. Ein beweglicher Alias ist nützlich zum Testen des Verhaltens aus der aktuellen Instant-Chat-Spur, aber er ist ein schlechtes Standard für Produktionsagenten, weil sein zugrunde liegender Model-Snapshot sich ändern kann. Ihn hinter einer expliziten Modell-ID zu halten, ermöglicht es Entwicklern, den Alias zu testen, während stabile Standards für geplante Jobs, Produktions-Workflows und reproduzierbare Evaluierungen erhalten bleiben.
Cron wird einfacher zu automatisieren. cron list --json und cron show --json enthalten jetzt den berechneten status, sodass externe Tools deaktivierten, laufenden, ok-, Fehler-, übersprungenen oder Leerlauf-Zustand lesen können, ohne OpenClaws Status-Ableitung neu zu implementieren. Das ist eine gute API-Vertragsänderung. Wenn eine CLI Maschinen JSON gibt, sollte das JSON den Zustand enthalten, den Menschen sehen. Andernfalls muss jedes Dashboard, jeder Monitor und jedes Wrapper-Skript den Status aus Zeitstempeln, letzten Fehlerfeldern, Aktivierung-Flags und Ausführungs-Markern zurückentwickeln. Das erzeugt inkonsistente Automatisierung und Fehlalarme.
Channel-Inspektion erhält ebenfalls einen saubereren Vertrag. openclaw channels list ist jetzt nur Channel-fokussiert, fügt --all für gebündelte und Katalog-Channels hinzu, rendert installierten, konfigurierten und aktivierten Zustand und verschiebt Model-Auth- und Nutzungsdetails nach openclaw models auth list, openclaw status und openclaw models list. Die Trennung ist wichtig, weil Channel-Bereitschaft und Model-Authentifizierung verschiedene operative Bereiche sind. Ein Slack- oder Discord-Channel kann installiert aber deaktiviert, konfiguriert aber ohne Berechtigungen, oder aktiviert aber nicht aktuell gesund sein. Model-Auth gehört zu Provider-Anmeldedaten und Runtime-Auswahl. Diese in einem Befehl zu mischen, macht es für Automatisierung schwieriger, einfache Fragen zu beantworten.
Sicherheitsgrenzen werden an mehreren Stellen verschärft. Native Befehlshandler respektieren jetzt Owner-Durchsetzung. Active Memory erfordert Admin-Scope für globale Memory-Umschaltungen. Auto-Reply leitet Inline-Skill-Tool-Dispatch durch Before-Tool-Call-Autorisierungs-Hooks. Das sind alles Autorisierungsfixes um Oberflächen herum, die Systemzustand ändern können. Native Befehle können privilegierte Steuerungspfade ausführen. Globale Memory-Umschaltungen können beeinflussen, was zukünftige Sitzungen sich merken. Inline-Skills können Tools aus einem Auto-Reply-Pfad auslösen, wo der Benutzer möglicherweise nicht jeden internen Schritt beobachtet. Das Release leitet diese Aktionen durch explizite Autorisierungsprüfungen zurück.
Der Inline-Skill-Dispatch-Fix verdient besondere Erwähnung. Skill-Systeme sind praktisch, weil sie einem Agenten ermöglichen, eine Aufgabe an verpacktes Verhalten weiterzuleiten. Aber wenn Auto-Reply einen Inline-Skill-Tool ohne Durchlaufen der Before-Tool-Call-Autorisierung dispatchen kann, dann wird der bequeme Pfad zum schwächeren Pfad. Das richtige Design ist, dass jeder Tool-Einstiegspunkt, ob aufgerufen durch einen sichtbaren Chat-Beitrag, einen Inline-Skill, ein Plugin oder einen Hintergrund-Auto-Reply, durch denselben Richtlinien-Hook vor der Ausführung fließt. Das gibt Administratoren eine Stelle, um Erlauben, Verweigern, Auffordern, Protokollieren oder Ratenlimit-Verhalten zu implementieren.
Anmeldedaten erhalten einen ähnlichen Runtime-Grenzen-Fix. Dedizierte tavily_search- und tavily_extract-Tools lösen Anmeldedaten jetzt aus dem aktiven Runtime-Konfig-Snapshot auf, sodass exec SecretRef-gestützte API-Keys die Tools nicht unaufgelöst erreichen. SecretRef-Systeme funktionieren nur, wenn jedes Tool Geheimnisse durch dieselbe aufgelöste Runtime-Ansicht liest. Wenn ein Tool das buchstäbliche unaufgelöste Marker erhält, sieht der Fehler wie schlechte Anmeldedaten aus, obwohl das Geheimnis existiert. Schlimmer noch, Entwickler könnten es umgehen, indem sie einen Key fest einprogrammieren. Auflösung aus dem aktiven Snapshot hält per-Run-Konfiguration, SecretRefs und Tool-Anmeldedaten ausgerichtet.
Verwaltete Plugin-Installationspfade werden robuster. OpenClaw verwendet jetzt dieselbe absolute POSIX-npm-Lebenszyklus-Shell für verwaltete Plugin-Installation, Rollback, Reparatur und Deinstallation von npm-Operationen wie gestaffelte Paket-Updates. Der Fehlermodus hier ist subtil: Eine eingeschränkte PATH-Shell kann Aufräumen oder Rollback unterbrechen, selbst wenn der ursprüngliche Installationspfad funktioniert. Dieselbe absolute Lebenszyklus-Shell über Installations- und Reparatur-Aktionen hinweg zu verwenden, reduziert Umgebungsdrift. Betreiber sollten darauf vertrauen können, dass Rollback dieselben Toolchain-Annahmen wie Installation verwendet.
Sitzungs- und Kontextkorrektheit erhält Aufmerksamkeit. Gateway-Sitzungen löschen gecachte Skill-Snapshots während /new und sessions.reset, sodass langlebige Channel-Sitzungen sichtbare Skill-Listen neu aufbauen, nachdem sich Skills ändern. Agent-Kontext-Engines machen gecachte assemblierte Kontextansichten ungültig, wenn Quellenhistorie schrumpft oder Assemblierung fehlschlägt, und verhindern, dass veraltete Pre-Reset-Historie wiederverwendet wird. Das sind Cache-Invalidierungsfehler, aber die benutzerorientierte Auswirkung ist schwerwiegend. Wenn ein Reset den Skill-Snapshot nicht löscht, kann der Agent veraltete Fähigkeiten bewerben. Wenn eine Kontextansicht ein Historie-Schrumpfen überlebt, kann das Modell nach einem Reset alten Gesprächszustand sehen.
Compaction erhält eine Modell-Limit-Wache. Zusammenfassungs-Reserve-Tokens werden auf das Ausgabe-Limit jedes Modells geklammert, sodass High-Context-Compaction keine ungültigen max_tokens-Werte mehr anfordert. Das ist ein praktisches Multi-Modell-Problem. Ein Kontext-Engine kann eine große Zusammenfassungsreserve planen, aber das ausgewählte Modell kann möglicherweise nicht so viele Tokens ausgeben. Wenn die Anfrage trotzdem rausgeht, schlägt die Compaction an der Provider-Grenze fehl. Reserve-Tokens auf Modell-Ausgabe-Limits zu klammern, macht aus einer ungültigen Anfrage einen begrenzten Zusammenfassungsplan.
Delivery-Semantik wird ehrlicher. Agent-Delivery meldet jetzt deliverySucceeded=false, wenn ausgehende Zustellung kein Adapter-Ergebnis zurückgibt, sodass beanspruchte oder leere Zustellungspfade sich nicht mehr als erfolgreiche Sendungen ausgeben. Cron-isiolierte Läufe schlagen auch implizite Ankündigungs-Delivery vor der Model-Ausführung fehl, wenn delivery.channel=last keine vorherige Route hat, sodass wiederkehrende Jobs keine Tokens ausgeben, bevor sie auf einen dauerhaften Zustellungsziel-Fehler treffen. Beide Änderungen folgen demselben Prinzip: Führe keine teure Arbeit aus, wenn die Ausgaberoute unmöglich ist, und melde keinen Erfolg, wenn kein Adapter die Zustellung bestätigt hat.
Discord-Zielparsening erhält einen konkreten Fix für agentenübergreifende Nachrichten. Provider-präfigierte Ziele wie discord:channel:<id> werden jetzt als Channel-Sends geparsed, anstatt als Legacy-Discord-Direct-Message-Ziele. Das verhindert, dass agentenübergreifende message(action="send")-Aufrufe Channel-IDs in irreführende Unknown Channel-Fehler falsch routen. Namespaces sind hier wichtig. Ein provider-präfigiertes Channel-Ziel ist keine Benutzer-ID, und eine generische Messaging-Schicht sollte diese Absicht durchgängig bis zum Adapter erhalten.
Telegram-Hardening umfasst Autorisierung und Lebendigkeit. Telegram respektiert jetzt accessGroup:*-Absender-Allowlists für DMs, Gruppen, native Befehle und Callback-Autorisierung, bevor numerische Absender-ID-Prüfungen angewendet werden. Der Polling-Watchdog bleibt an die getUpdates-Lebendigkeit gebunden, sodass unzusammenhängende ausgehende Bot-API-Aufrufe keinen verklemmten eingehenden Poller maskieren können. Der zweite Fix ist ein klassisches Health-Check-Problem. Ein Bot kann noch Nachrichten senden, während seine eingehende Polling-Schleife feststeckt. Wenn ausgehende Aufrufe den Watchdog zurücksetzen, sieht das System gesund aus, obwohl es keine Benutzereingaben empfangen kann.
Voice-Operationen verbessern sich auf Discord. channels capabilities und channels status --probe prüfen jetzt Discord-Voice-Channel-Berechtigungen, einschließlich Auto-Join-Ziele, sodass fehlende Connect-, Speak- und Read Message History-Berechtigungen vor /vc join angezeigt werden. Voice-Erfassung ist auch weniger abgehackt: Die Standard-Grace-Periode nach Sprachende verlängert sich auf 2,5 Sekunden, voice.captureSilenceGraceMs ist für laute Sitzungen verfügbar, und die gesprochene Ausgabe-Prompt wird um Live-STT-Fragmente herum straffer gefasst. Voice-Agenten leben oder sterben durch Turn-Segmentierung. Zu wenig Silence-Grace schneidet Sprecher ab. Zu viel Grace macht den Agenten träge. Die Grace konfigurierbar zu machen, gibt Betreibern einen Regler für Raumgeräusche und Sprechstil.
WhatsApp-Fixes sind operativ spezifisch, aber wichtig. Proaktive Telefonnummer-Sends routen jetzt durch Baileys LID-Forward-Mappings, wenn verfügbar, sodass LID-adressierte Kontakte Agent-Nachrichten erhalten, anstatt nur Absender-Gespräche zu erstellen. Captioned MEDIA:-Direktive-Auto-Replies senden jetzt einmal, anstatt eine leere Mediennachricht vor der beschrifteten Medienreply zu emitieren. Beides sind Beispiele für Adapter-Korrektheit. Messaging-Provider haben oft mehrere Identitätsformen und Medienprimitive. Die Agenten-Plattform muss sie korrekt mappen, oder Benutzer sehen doppelte, fehlende oder Geister-Nachrichten.
Codex-Genehmigungsverhalten ändert sich auf eine Weise, die Genehmigungsmüdigkeit reduzieren sollte, ohne Review zu umgehen. In Codex-Genehmigungsmodi stoppt OpenClaw standardmäßig die Installation des Pre-Guardian-nativen PermissionRequest-Hooks und ermöglicht es Codex' Reviewer, sichere Befehle zu genehmigen, bevor OpenClaw eine Genehmigung anzeigt. Es merkt sich allow-always-Entscheidungen für identische Codex-native PermissionRequest-Payloads innerhalb des aktiven Sitzungsfensters, und Plugin-Genehmigungsanfragen validieren und rendern ihre tatsächlich erlaubten Entscheidungen, sodass Telegram und andere native Genehmigungs-UIs keine veralteten Aktionen anbieten können. Das zu erklärende Detail ist die Sequenzierung: Lasse den inneren Reviewer sichere Befehle behandeln, zeige Genehmigungen bei Bedarf und stelle sicher, dass die UI-Aktionen mit dem aktuellen erlaubten Entscheidungssatz übereinstimmen.
Provider- und Medienkompatibilität erhalten ebenfalls Reparaturen. OpenClaw normalisiert APNG-gesniffte PNG-Uploads, bewahrt Gemini 3 Tool-Call Thought-Signature-Replay mit Fallback-Signaturen, akzeptiert Legacy __env__:VAR-Custom-Provider-Keys und repariert snake_case Tool-Call-Transcript-Sanitization. Das sind die Kanten, die Transcripts und Tools portierbar machen. Wenn Tool-Call-Signaturen nicht replayn, kann Provider-Zustand Folgeturns ablehnen. Wenn Transcript-Sanitization snake_case Tool-Calls falsch handhabt, weichen Replay und Audit-Oberfläche von dem ab, was tatsächlich passiert ist.
Die praktische Release-Bewertung ist hoch für Betreiber. v2026.5.7 ist keine eine auffällige Funktion; es ist eine Reihe von Zuverlässigkeitsverträgen. Publishing überprüft Registry-Zustand. Cron legt berechneten Status offen. Channels und Model-Auth sind getrennt. Inline-Skills durchlaufen Autorisierung. SecretRefs werden zur Runtime aufgelöst. Kontext-Caches werden nach Reset ungültig. Delivery schlägt fehl, bevor Tokens verschwendet werden. Voice-Berechtigungen und Erfassungs-Timing sind sichtbar. Codex-Genehmigungen richten sich nach tatsächlichen Entscheidungen. Das sind die Änderungen, die ein Agentensystem weniger rätselhaft machen, wenn es den ganzen Tag läuft.
[28:00] STORY 2 — OpenAI Agents JS v0.9 bis v0.11 verwandelt Sandboxes in Workspace-Manifests, Runtime-Limits, Tool-Scheduling und Artifact-Grenzen
Das Agents SDK von OpenAI für JavaScript hat sich diese Woche schnell weiterentwickelt, und die wichtigste Änderung betrifft die Sandbox-Agent-Oberfläche. Sandbox-Agenten bauen auf dem bestehenden Agent, Runner und Run-Flow auf, fügen aber persistente Workspaces, Workspace-Manifests, Sandbox-Sessions, Fähigkeiten, Snapshots, Memory und Resume-Unterstützung hinzu. Praktisch bedeutet das den Unterschied zwischen einem Agenten, der eine Funktion aufrufen kann, und einem Agenten, der in einer kontrollierten Computerumgebung über längere Zeit arbeiten kann.
Die zentrale Abstraktion ist das Manifest. Ein Manifest beschreibt, was der Workspace des Agenten enthält: synthetische Dateien und Verzeichnisse, lokale Dateien und Verzeichnisse, Git-Repositories, Umgebungsvariablen, Benutzer, Gruppen, Berechtigungen, Mounts und Ausgabespeicherorte. Das verwandelt Sandbox-Setup in einen deklarativen Workspace-Vertrag. Anstatt dass eine Aufgabe sagt „irgendwie diesem Agenten ein Repo und einen Ort zum Schreiben von Artifacts geben", sagt das Manifest genau, was gemountet ist, wo es erscheint, welche Dateien beschreibbar sind und welche externen Pfade erlaubt sind.
Das ist wichtig, weil Datei- und Kommando-Agenten Grenzen brauchen. Wenn ein Agent Dateien inspizieren, Befehle ausführen, Patches anwenden und Artefakte generieren kann, muss die Sandbox definieren, was im Scope ist. Ein persistenter Workspace ist leistungsstark für langfristige Aufgaben, weil der Agent aus dem vorherigen Zustand fortfahren kann, aber Persistenz bedeutet auch, dass sich Zustand ansammeln kann. Snapshots und Resume-Verhalten ermöglichen es Entwicklern zu entscheiden, wann dieser Zustand erhalten, wiederhergestellt oder verworfen werden soll. Die operative Frage wird: welche Dateien sind Aufgabeneingaben, welche sind generierte Ausgaben und welche sind persistentes Memory über mehrere Runs hinweg?
v0.11.0 fügt eine Artifact-Boundary-Änderung hinzu, die leicht zu übersehen, aber wichtig ist. Sandbox Local Source Materialization hält jetzt LocalFile.src und LocalDir.src innerhalb des Materialization-baseDir, es sei denn, der Quellpfad ist durch Manifest.extraPathGrants abgedeckt. Das Base-Verzeichnis ist das aktuelle Arbeitsverzeichnis des SDK-Prozesses, wenn das Manifest angewendet wird. Relative Quellen werden aus diesem Verzeichnis aufgelöst. Absolute Quellen müssen sich bereits darin oder unter einer expliziten Berechtigung befinden. Dies schließt ein lokales Artifact-Boundary-Problem.
Die Migrationsimplikation ist direkt. Wenn eine Anwendung absichtlich vertrauenswürdige Host-Dateien von außerhalb des Base-Verzeichnisses in einen Sandbox-Workspace kopiert, muss sie dies jetzt mit einer extra Path Grant deklarieren. Das ist ein besserer Vertrag. Es macht den Unterschied zwischen „der Agent kann beliebige Host-Pfade lesen, weil ein Quellpfad dorthin zeigte" und „die Anwendung hat dieses externe Verzeichnis explizit berechtigt, möglicherweise nur-lesen, mit einer Beschreibung." Für Agent-Systeme, die Kundendaten, proprietäre Repositories oder credentials-adjazente Dateien verarbeiten, sind explizite Grants die richtige Standardeinstellung.
Das Standardmodell des SDK änderte sich in v0.10.0 von gpt-4.1 zu gpt-5.4-mini, wenn kein Modell gesetzt ist. Das betrifft Agenten und Runs, die sich auf implizite Standards verlassen haben. Da der neue Standard ein GPT-5-Modell ist, beinhalten implizite Standard-Modelleinstellungen jetzt GPT-5-Standards wie reasoning.effort="none" und verbosity="low". Die Empfehlung für Entwickler ist einfach: Produktionsagenten sollten das Modell explizit setzen. Standards sind nützlich für Beispiele und Prototypen, aber Agentenverhalten, Kosten, Latenz, Reasoning-Aufwand und Verbosity sollten sich nicht ändern, nur weil eine Abhängigkeit aktualisiert wurde.
Turn-Limits werden explizit. maxTurns=null kann das Agents SDK Run-Turn-Limit deaktivieren, während der Standard bei DEFAULT_MAX_TURNS bleibt, derzeit zehn, wenn die Einstellung weggelassen wird. Das ist ein Runtime-Sicherheitsventil. Ein hartes Turn-Limit verhindert entlaufende Loops und Überraschungskosten. Das Deaktivieren des Caps kann für langfristige Workflows notwendig sein, aber es sollte mit anderen Kontrollen gekoppelt werden: Wall-Clock-Timeouts, Tool-Allowlists, Budget-Limits, Checkpointing und Fortschrittssichtbarkeit. Die nützliche Unterscheidung ist: weggelassen bedeutet sicheren Standard; null bedeutet, dass der Entwickler das Limit absichtlich entfernt hat.
Tool-Scheduling wird ebenfalls besser kontrollierbar. toolExecution.maxFunctionToolConcurrency auf RunConfig steuert die SDK-seitige lokale Funktions-Tool-Ausführungskonkurrenz. Das ist getrennt vom provider-seitigen ModelSettings.parallelToolCalls. Diese Trennung ist wichtig. Das Modell darf vielleicht mehrere Tool-Aufrufe parallel vorschlagen, aber die lokale Runtime muss trotzdem entscheiden, wie viele gleichzeitig auszuführen sind. Ein Dateisystem-Tool, Datenbank-Tool, Shell-Tool und HTTP-Tool haben unterschiedliche Nebenwirkungen und Ressourcenprofile. Lokale Konkurrenz ist eine Runtime-Scheduling-Policy, nicht nur eine Modellerzeugungspräferenz.
MCP-Tool-Naming erhält eine Kollisionsvermeidungsoption. Das SDK kann den MCP-Servernamen in Tool-Namen einbeziehen, im Einklang mit dem Python SDK. Das verhindert Konflikte, wenn mehrere MCP-Server Tools mit demselben lokalen Namen bereitstellen. Ohne Server-Präfixe könnten zwei verschiedene Server beide search, read oder query bereitstellen. Der Agent sieht dann mehrdeutige Tool-Namen und Logs werden schwerer zu prüfen. Server-präfixiertes Naming macht den Tool-Namespace expliziter, was besonders wichtig ist, wenn Agenten sich mit mehreren internen und externen Tool-Servern verbinden.
v0.11.0 ändert auch das Standardmodell von RealtimeAgent auf gpt-realtime-2. Realtime-Standards sind nicht kosmetisch. Ein Realtime-Modell beeinflusst Audio-Latenz, Turn-Taking, Transkriptionsverhalten, Barge-in-Erwartungen und Sprachinteraktionsqualität. Wenn ein Produkt RealtimeAgent verwendet, ohne ein Modell zu pinnen, kann das Aktualisieren des SDK das zugrunde liegende Realtime-Verhalten ändern. Auch hier ist die Empfehlung, Produktionsstandards zu pinnen und neue Realtime-Modelle unter repräsentativen Audiobedingungen zu testen, bevor sie in kundenorientierte Sessions verschoben werden.
Die Release-Serie enthält auch Fixes, die zeigen, wo Agent-Runtimes versagen. v0.9.1 bewahrt die Identität von Agenten mit doppelten Namen in der Run-State-Serialisierung, gleicht gestreamte Funktionsaufrufe aus, wenn server-verwaltete Runs abgebrochen werden, und vermeidet das Replay von Assistant-Conversation-Item-IDs. v0.10.1 stellt die Sitzungshistorie wieder her, wenn die Compaction-Replacement fehlschlägt, und validiert gehostete MCP-Zustimmungsrichtlinien. Das sind State-Machine-Fixes. Agent-Systeme haben lokalen Status, Server-Status, gestreamte Deltas, Compaction-Replacement und Zustimmungspolicy. Wenn diese divergieren, kann der nächste Turn das falsche Item replayen, Historie verlieren oder die falsche Aktion genehmigen.
Die praktische Empfehlung für JavaScript-Entwickler ist, das Agents SDK als Runtime zu behandeln, nicht nur als Wrapper um Modellaufrufe. Workspace-Manifests eng definieren. extraPathGrants für Host-Pfade gezielt verwenden. Produktionsmodelle pinnen. Entscheiden, ob Turn-Limits beim Standard bleiben, erhöht oder mit anderen Guardrails deaktiviert werden sollten. Lokale Tool-Konkurrenz basierend auf Nebenwirkungen setzen. MCP-Tool-Namen präfixieren, wenn mehrere Server angeschlossen sind. Realtime-Modelländerungen als Produktverhaltensänderungen testen, nicht nur als Abhängigkeits-Updates.
[40:00] STORY 3 — Gemini CLI v0.42 Nightlies härten Agent-Runtime-Kanten: Shell-Safety-Evals, Approval-Races, Compression-Queues, OAuth-Hangs und Auto-Memory-Patches
Die Gemini CLI Nightlies vom 6. und 7. Mai sind nützlich, weil sie die uns glamouröse Runtime-Arbeit zeigen, die für Kommandozeilen-Agenten erforderlich ist. Die Änderungen sind kein einzelnes Modellaunch; es ist eine Liste von Edge-Cases rund um Zustimmung, Shell-Safety, Kontextkomprimierung, Streaming-Fehler, OAuth, Sandbox-Naming, Auto Memory und nicht-interaktive Ausgabe. Das sind genau die Stellen, wo CLI-Agenten brüchig werden.
Beginnen wir mit Genehmigungen. Die A2A-Server-Fixes lösen eine Tool-Genehmigungs-Race-Condition, verbessern die Status-Berichterstattung und lösen ein Race beim Tool-Completion-Waiting. In einer Agent-Runtime ist Genehmigung eine State Machine. Ein Tool-Aufruf wird vorgeschlagen, Genehmigung wird angefordert, eine menschliche oder Richtlinienentscheidung kommt, das Tool wird ausgeführt oder verweigert, und die Runtime meldet den Abschluss. Wenn das System den Status meldet, bevor das Genehmigungsergebnis festgeschrieben ist, oder auf das falsche Completion-Signal wartet, kann die UI ein Tool als fertig anzeigen, während es noch aussteht, oder nach einem Verweigerungspfad ausführen, der es hätte stoppen sollen.
Shell-Command-Safety-Evals sind eine starke Ergänzung. Shell-Tools sind leistungsstark, weil sie Agenten ermöglichen, Dateien zu inspizieren, Tests auszuführen, Abhängigkeiten zu installieren und Entwickler-Workflows zu betreiben. Sie sind aus demselben Grund gefährlich. Eine Shell-Safety-Eval-Suite gibt Maintainern eine Möglichkeit zu testen, ob das Modell und die Runtime risky Commands, Weiterleitungen, destruktive Dateioperationen, Credential-Exposition und Sandbox-Escape-Versuche korrekt identifizieren. Der wichtige Teil ist, dass Safety als Verhalten evaluiert wird, nicht nur als Richtlinie dokumentiert.
Die Nightlies fügen auch JSON-Ausgabe für AgentExecutionStopped im nicht-interaktiven Modus hinzu. Das ist wichtig für CI und Wrapper-Scripts. Eine menschliche TUI kann einen gestoppten Zustand in Prosa anzeigen; Automatisierung braucht ein strukturiertes Objekt. Wenn nicht-interaktive Runs wegen einer Richtlinie, eines Limits, eines Fehlers oder eines Genehmigungszustands stoppen, ermöglicht JSON-Ausgabe aufrufenden Systemen, einen sauberen Stop von einem Crash oder Timeout zu unterscheiden. CLI-Agenten werden zunehmend in geplanten Jobs und Orchestrierungssystemen ausgeführt, also sind strukturierte Terminal-Semantiken Teil der Produktoberfläche.
Kontextkomprimierung erhält einen Queueing-Fix: Nachrichten können während der Komprimierung in die Queue gestellt werden. Komprimierung ist notwendig, weil lange Agent-Sessions Kontextlimits überschreiten, aber sie ist auch eine Parallelitätsgefahr. Wenn ein Benutzer eine Nachricht sendet, während die Runtime den Verlauf komprimiert, muss das System entscheiden, ob es Eingabe blockiert, verwirft, an den alten Kontext anhängt oder sie für den komprimierten Kontext in die Queue stellt. Queueing bewahrt die Absicht des Benutzers, während der Kontextmanager einen kohärenten Rewrite beendet. Ohne das werden Chat-Korruption oder verlorene Turns wahrscheinlich.
Die CLI wiederholt auch ERR_STREAM_PREMATURE_CLOSE-Fehler. Streaming-Agent-Runs hängen von langlebigen Verbindungen über Modelloutput, Tool-Fortschritt und Terminal-Rendering ab. Ein vorzeitiges Schließen kann ein transientes Netzwerk- oder Transportfehler sein, anstatt ein logischer Fehler. Wiederholen sorgfältig kann das System robuster machen, aber die Runtime muss vermeiden, Nebenwirkungen zu duplizieren. Das sichere Muster ist, idempotente oder Pre-Execution-Stream-Pfade zu wiederholen und konservativer zu sein, sobald ein Tool Zustand mutiert hat.
Mehrere Fixes betreffen headless und nichtstandardisierte Umgebungen. Die CLI verhindert einen stillen Hang während der OAuth-Authentifizierung auf headless Linux. Sie lehnt numerische Projekt-IDs in GOOGLE_CLOUD_PROJECT ab. Sie verbessert die MCP-Listen-UX in nicht vertrauenswürdigen Ordnern. Das sind Operator-Quality-Fixes. Viele Agenten laufen auf Remote-Maschinen, Containern, CI-Workern oder Servern ohne Browser. Authentifizierungs- und Projektauflösungsfehler müssen mit handlungsfähigem Status fehlschlagen, nicht hängen und auf eine UI warten, die nicht existiert.
Sandbox-Verhalten erhält kleinere, aber wichtige Änderungen. Die CLI randomisiert Sandbox-Container-Namen und erlaubt Weiterleitung im YOLO- und AUTO_EDIT-Modus ohne Sandbox. Randomisierte Container-Namen reduzieren Kollisionen, wenn mehrere Runs auf demselben Host ausgeführt werden. Weiterleitungsverhalten ist wichtig, weil Shell-Syntax Teil normaler Entwicklerarbeit ist: Ausgabe in Dateien umleiten, Logs pipen und Patches schreiben. Aber jede Änderung rund um Weiterleitung braucht auch Safety-Evaluation, weil Weiterleitung Dateien überschreiben oder Inhalte exfiltrieren kann. Deshalb gehören Shell-Safety-Evals und Shell-Verhaltensänderungen in dieselbe Diskussion.
Auto Memory erhält eine Verschärfung der privaten Patch-Allowlist und klarere Dokumentation, dass Auto Memory Speicheraktualisierungen und Skills vorschlägt. Persistenter Speicher ist nur sinnvoll, wenn Aktualisierungen begrenzt und überprüfbar sind. Eine Memory-Patch-Allowlist steuert, welche Arten von privaten Speicheraktualisierungen automatisch angewendet werden können. Ohne diese Grenze könnte ein Agent sensible, falsche oder zu breit gefasste Fakten speichern. Bei zu strenger Grenze wird der Speicher nutzlos. Das richtige Betreibermodell ist: Vorschlag, Begrenzung, Allowlist und Überprüfung.
Die Veröffentlichung vom 7. Mai verschiebt auch die Tool-Erklärung vom Thought-Stream zum Tool-Call-Content. Das klingt vielleicht nach UI-Bereinigung, betrifft aber Datenschutz und Beobachtbarkeit. Thought-Streams und Tool-Call-Content haben in vielen Systemen unterschiedliche Zielgruppen und Aufbewahrungsregeln. Wenn eine Tool-Erklärung zum Tool-Call gehört, macht das dortiges Ablegen Audit-Protokolle klarer und vermeidet es, benutzersichtbare Tool-Rationalität mit internen Reasoning-Kanälen zu vermischen. Agent-Runtimes benötigen diese Inhaltsgrenzen, um konsistent zu bleiben.
Die praktische Empfehlung für Gemini CLI-Betreiber ist, diese Nightlies als Runtime-Härtungssignale zu beobachten. Genehmigungs-State-Maschinen benötigen Race-Tests. Shell-Tools benötigen Safety-Evals. Komprimierung benötigt Input-Queueing. Streaming benötigt Retry-Regeln, die doppelte Side-Effects vermeiden. OAuth benötigt headless Failure-Modes. Memory-Patches benötigen Allowlists. Nicht-interaktive Läufe benötigen JSON-States. Dies ist kein optionales polish für einen CLI-Agenten; es ist der Unterschied zwischen einem Demo-Terminal und einer zuverlässigen Automatisierungsfläche.
[50:00] Abschluss Die praktische Erkenntnis aus EP047 ist operativ: OpenClaw v2026.5.7 macht den Systemzustand sichtbarer und sicherer in Publishing, Cron, Channels, Memory, Delivery, Voice, Messaging und Genehmigungen. OpenAI Agents JS zeigt, wie sandierte Agents zu Workspace-Manifest-Runtimes werden mit expliziten Path-Grants, Turn-Limits, Tool-Concurrency und MCP-Namespaces. Gemini CLI zeigt die Runtime-Grenzen, die relevant sind, wenn Kommandozeilen-Agents in realen Workflows laufen: Genehmigungsrennen, Shell-Sicherheit, Komprimierungsqueues, Transport-Retries, OAuth-Liveness und Memory-Patch-Scope. Für Builder ist die Frage nicht nur, was der Agent tun kann; es ist, welche Grenzen, Status und Recovery-Pfade existieren, wenn er die Arbeit erledigt.