OpenAI Codex release notes: 0.148 alpha kör hooks asynkront

OpenAI Codex release notes: 0.148 alpha kör hooks asynkront

OpenAI Codex 0.148.0-alpha.6 kan köra command hooks asynkront. Sätt async = true på en hook-handler, så kör Codex skriptet i bakgrunden i stället för att låta det styra operationen som startade det. Alfaversionen publicerades den 10 augusti. Den stabila npm-kanalen ligger fortfarande på 0.147.0.

En hook är ett skript som Codex startar vid en bestämd händelse, exempelvis efter ett Bash-kommando. Asynkron körning betyder här att hooken får arbeta i bakgrunden medan agentens huvudflöde fortsätter.

OpenAI Codex release notes: asynkrona hooks i 0.148 alpha

Tidigare kunde en hook markeras som asynkron i konfigurationen, men Codex hoppade över sådana handlers utanför SessionEnd. I 0.148.0-alpha.6 körs de i bakgrunden med en samtidighetsgräns per session. SessionEnd fortsätter däremot att köras synkront.

En asynkron hook får inte blockera, stoppa eller skriva om operationen som startade den. Den passar därför för loggning, analys och kontroller som ska rapportera tillbaka utan att hålla kvar agenten. Varningar och extra kontext levereras mellan agentens arbetssteg. Om en tur pågår förs resultatet in efter modellens svar; om sessionen är inaktiv buffras det inför nästa prompt.

Källor: OpenAI Codex 0.148.0-alpha.6. OpenAI Codex PR #37533 om asynkrona command hooks.

/hooks visar Sync eller Async

Hook-vyn i terminalgränssnittet visar nu fältet Mode med värdet Sync eller Async. Samma uppgift finns som executionMode i svaret från app-serverns hooks/list; sync är standardvärdet för äldre klienter.

OpenAI:s stabila hooks-dokumentation beskriver fortfarande async som tolkat men ännu inte aktivt. Det är en viktig versionsgräns: det nya beteendet finns i 0.148.0-alpha.6, inte i den stabila 0.147.0-kanalen.

Alfaversionen städar också upp efter hooks som överskrider sin tidsgräns. Codex avslutar då hela processträdet på Unix och Windows. Underprocesser får fortsätta om hooken slutförs normalt.

Källor: OpenAI Codex PR #37538 om körläge i hook-vyn. OpenAI Codex hooks-dokumentation. OpenAI Codex PR #37527 om tidsgränser och processträd.

Mänskligt steg: testa en befintlig hook i bakgrunden

npm-registret innehåller 0.148.0-alpha.6, men latest pekar på 0.147.0 och den vanliga alpha-taggen pekade vid kontrollen på en 0.147-hotfix. Välj därför den exakta versionen om du vill testa funktionen:

npm install -g @openai/[email protected]
codex --version

Lägg sedan async = true på en befintlig PostToolUse-hook som bara loggar eller analyserar ett Bash-resultat:

[[hooks.PostToolUse]]
matcher = "^Bash$"

[[hooks.PostToolUse.hooks]]
type = "command"
command = 'python3 "/absolute/path/to/post_tool_audit.py"'
async = true

Starta Codex, skriv /hooks, granska hooken och kontrollera att vyn visar Mode: Async. Använd inte asynkront läge för en kontroll som måste kunna stoppa eller ändra kommandot.

Källor: OpenAI Codex npm-register. OpenAI Codex hooks-dokumentation om konfiguration och /hooks. OpenAI Codex PR #37538 med async = true och läget Async.

Kort exempel: använd nyheten i Codex

När en asynkron PostToolUse-hook för Bash är aktiv kan du använda en avgränsad, skrivskyddad uppgift:

Kör `git status --short`. Rapportera om arbetskatalogen är ren och lista annars de ändrade sökvägarna. Ändra ingenting.

Ett bra test ska uppfylla följande krav:

  • Codex kör statuskontrollen utan att ändra projektet.
  • /hooks visar att den valda handlern körs som Async.
  • Hooken håller inte kvar operationen för att blockera eller skriva om den.
  • Varning eller extra kontext från hooken visas mellan två arbetssteg.

Smedjans nyhetsbrev

Få nya artiklar i inkorgen

Välj de ämnen som intresserar dig. Inget brus, max ett mejl i veckan.

Få nya artiklar i inkorgen

Vi följer GDPR. Avsluta när du vill.