OpenClaw v2026.5.7, Agents SDK Sandboxes, और Gemini CLI Safety Runtime — Episode 47 cover art
Episode 47·9 मई 2026·49:13

OpenClaw v2026.5.7, Agents SDK Sandboxes, और Gemini CLI Safety Runtime

OpenClaw Daily में OpenClaw v2026.5.7 पर ध्यान केंद्रित किया गया है, जिसमें ClawHub publish recovery, openai/chat-latest, cron JSON status, channel listing, native-command owner enforcement, Active Memory admin scope, skills snapshot refresh, before-tool authorization for inline skill dispatch, SecretRef-backed Tavily credentials, context cache invalidation, Discord target parsing, compaction token clamping, delivery failure reporting, Discord voice probes, Telegram poller liveness, WhatsApp routing, और Codex approvals शामिल हैं। Show notes: https://tobyonfitnesstech.com/hi/podcasts/episode-47/

🎧 Listen to Episode

[00:00] v2026.5.7 ऑपरेटर्स को publishing, cron, channels, auth, delivery, voice, memory और approvals के बारे में यह देखने के नए तरीके देता है कि ये वास्तव में कैसे व्यवहार कर रहे हैं। ClawHub publishing अब transient dependency-install failures को retry करती है, preview पास होने पर भी plugin publishes को तब तक चालू रखती है जब तक एक preview cell खराब नहीं होता, और publish के बाद हर expected package version को verify करती है। Cron JSON अब सीधे computed status expose करती है। Channel listing channel-focused है, model auth details उसमें मिश्रित नहीं हैं। Auto-reply inline skill dispatch अब before-tool-call authorization hooks से होकर गुजरता है। Tavily tools active runtime config snapshot से SecretRef-backed credentials resolve करती हैं। Provider prefix वाले Discord channel targets channel sends के रूप में route होते हैं, misleading direct-message attempts की बजाय। Release का आकार यह है: कम hidden assumptions, कम stale caches, कम false successes, और अधिक explicit operator contracts।

[02:30] STORY 1 — OpenClaw v2026.5.7 Publishing, Channels, Cron, Auth, Memory, Delivery, Voice, WhatsApp और Codex Approvals को अधिक Observable और Safer बनाता है Release और plugin publishing से शुरू करें। एक maintenance release को ऑपरेटर्स को यह अनुमान लगाना नहीं छोड़ना चाहिए कि क्या एक plugin वास्तव में हर जगह publish हुई जहाँ इसे जाना चाहिए था। v2026.5.7 transient ClawHub CLI dependency install failures के लिए retry handling जोड़ता है, एक plugin को तब तक publishable रखता है जब एक preview cell खराब होता है भले ही preview pass हो गया, और publish के बाद हर expected ClawHub package version को verify करता है। यह final verification step महत्वपूर्ण है। एक publish pipeline तब complete नहीं होती जब एक command exit होती है; यह तब complete होती है जब expected package versions वहाँ visible होते हैं जहाँ downstream installers उन्हें fetch करेंगे।

यह एक plugin ecosystem के लिए मायने रखता है क्योंकि partial publishes clean failures से बदतर हैं। एक package एक जगह available हो सकता है, दूसरी जगह missing हो सकता है, या गलत version पर publish हो सकता है। फिर ऑपरेटर्स install errors के पीछे भागते हैं जो local configuration problems जैसे दिखते हैं लेकिन वास्तव में release distribution problems हैं। Post-publish verification release process को एक reconciliation loop में बदल देता है: expected package set declare करें, publish का प्रयास करें, और check करें कि registry state match करती है या नहीं। अगर नहीं करती, तो failure maintenance time पर visible होती है, users द्वारा discover होने की बजाय।

OpenAI model surface को एक targeted addition मिलता है: openai/chat-latest एक explicit direct API-key model override के रूप में supported है जो stable default model बदले बिना moving ChatGPT Instant API alias try करने के लिए है। Key phrase है explicit override। एक moving alias current instant-chat lane से behavior test करने के लिए useful है, लेकिन production agents के लिए यह bad default है क्योंकि इसका underlying model snapshot change हो सकता है। इसे एक explicit model id के पीछे रखने से builders alias test कर सकते हैं जबकि scheduled jobs, production workflows और reproducible evaluations के लिए stable defaults preserve रहते हैं।

Cron को automate करना आसान हो जाता है। cron list --json और cron show --json अब computed status include करती हैं, इसलिए external tooling OpenClaw के status derivation को reimplement किए बिना disabled, running, ok, error, skipped, या idle state पढ़ सकती हैं। यह एक अच्छा API contract change है। अगर एक CLI machines को JSON देती है, तो JSON में वह state include होनी चाहिए जो humans देखते हैं। नहीं तो हर dashboard, monitor और wrapper script को timestamps, last error fields, enable flags और run markers से status reverse-engineer करनी होगी। यह inconsistent automation और false alarms बनाता है।

Channel inspection को भी एक cleaner contract मिलती है। openclaw channels list अब channel-only है, bundled और catalog channels के लिए --all जोड़ता है, installed, configured और enabled state render करता है, और model auth और usage details को openclaw models auth list, openclaw status और openclaw models list में ले जाता है। यह split महत्वपूर्ण है क्योंकि channel readiness और model authentication अलग operational domains हैं। एक Slack या Discord channel installed हो सकता है लेकिन disabled, configured हो सकता है लेकिन permissions lack करता है, या enabled हो सकता है लेकिन currently healthy नहीं। Model auth provider credentials और runtime selection से belong करता है। इन्हें एक command में मिलाने से automation के लिए simple questions का जवाब देना harder हो जाता है।

Security boundaries कई जगहों पर tight होती हैं। Native command handlers अब owner enforcement honor करती हैं। Active Memory के लिए global memory toggles पर admin scope जरूरी है। Auto-reply inline skill tool dispatch को before-tool-call authorization hooks से gate करता है। ये सब surfaces के around authorization fixes हैं जो system state बदल सकते हैं। Native commands privileged control paths run कर सकती हैं। Global memory toggles भविष्य की sessions को याद करने वाली चीजों को affect कर सकती हैं। Inline skills auto-reply path से tools trigger कर सकती हैं, जहाँ user हर internal step नहीं देख रहा हो सकता। Release इन actions को explicit authorization checks के through धकेलती है।

Inline skill dispatch fix worth calling out है। Skill systems convenient हैं क्योंकि वे एक agent को packaged behavior में task route करने देती हैं। लेकिन अगर auto-reply inline skill tool को before-tool-call authorization से pass किए बिना dispatch कर सकता है, तो convenient path weaker path बन जाती है। सही design यह है कि हर tool entry point, चाहे वह visible chat turn, inline skill, plugin, या background auto-reply से invoke हो, execution से पहले same policy hook से गुजरता है। यह administrators को एक जगह allow, deny, prompt, log, या rate-limit behavior implement करने देता है।

Credentials को भी similar runtime-boundary fix मिलता है। Dedicated tavily_search और tavily_extract tools अब active runtime config snapshot से credentials resolve करती हैं, इसलिए exec SecretRef-backed API keys tools तक unresolved नहीं पहुँचतीं। SecretRef systems तभी work करती हैं जब हर tool secrets को same resolved runtime view से पढ़ती है। अगर एक tool literal unresolved marker प्राप्त करता है, तो failure bad credentials जैसी दिखती है भले ही secret मौजूद हो। बदतर, developers इसे workaround करके एक key hardcode कर सकते हैं। Active snapshot से resolve करने से per-run config, SecretRefs और tool credentials aligned रहते हैं।

Managed plugin install paths भी अधिक robust होती हैं। OpenClaw अब managed plugin install, rollback, repair और uninstall npm operations के लिए staged package updates की तरह same absolute POSIX npm lifecycle shell use करती है। यहाँ failure mode subtle है: एक restricted PATH shell cleanup या rollback को break कर सकती है भले ही original install path काम करता हो। Install और repair actions में same absolute lifecycle shell use करने से environment drift कम होता है। ऑपरेटर्स को trust करने में सक्षम होना चाहिए कि rollback same toolchain assumptions use करती है जो install करती है।

सत्र और संदर्भ सुधार पर ध्यान दिया गया है। गेटवे सत्र /new और sessions.reset के दौरान कैश्ड स्किल स्नैपशॉट्स को साफ करते हैं, ताकि लंबे समय तक चलने वाले चैनल सत्र स्किल बदलने के बाद दृश्यमान स्किल सूचियों को पुनर्निर्मित कर सकें। एजेंट संदर्भ इंजन तब कैश्ड असेम्बल्ड संदर्भ व्यू को अमान्य कर देते हैं जब स्रोत इतिहास सिकुड़ता है या असेंबली विफल होती है, जिससे प्री-रीसेट इतिहास के पुन:उपयोग से बचा जा सकता है। ये कैश अमान्यता बग हैं, लेकिन यूज़र-फेसिंग प्रभाव गंभीर है। अगर रीसेट स्किल स्नैपशॉट को साफ नहीं करता है, तो एजेंट पुरानी क्षमताओं का विज्ञापन कर सकता है। अगर संदर्भ व्यू इतिहास सिकुड़ने के बाद भी बना रहता है, तो मॉडल रीसेट के बाद पुरानी बातचीत स्थिति देख सकता है।

संक्षेपण को मॉडल-सीमा गार्ड मिला है। सारांश रिज़र्व टोकन प्रत्येक मॉडल की आउटपुट सीमा तक सीमित हैं ताकि हाई-कॉन्टेक्स्ट संक्षेपण अब अमान्य max_tokens मानों का अनुरोध न करे। यह एक व्यावहारिक मल्टी-मॉडल मुद्दा है। एक संदर्भ इंजन बड़ा सारांश रिज़र्व प्लान कर सकता है, लेकिन चयनित मॉडल उतने टोकन उत्सर्जित करने में सक्षम नहीं हो सकता। अगर अनुरोध फिर भी जाता है, तो संक्षेपण प्रोवाइडर सीमा पर विफल हो जाता है। रिज़र्व टोकन को मॉडल आउटपुट सीमाओं तक सीमित करना एक अमान्य अनुरोध को एक सीमित सारांश योजना में बदल देता है।

डिलीवरी सेमांटिक्स अधिक ईमानदार बन गए हैं। एजेंट डिलीवरी अब deliverySucceeded=false रिपोर्ट करती है जब आउटबाउंड डिलीवरी कोई एडेप्टर परिणाम नहीं लौटाती, ताकि दावा किए गए या खाली डिलीवरी पथ सफल भेजने की तरह मुखौटा न लगा सकें। क्रॉन आइसोलेटेड रन भी मॉडल निष्पादन से पहले अमान्य घोषणा डिलीवरी को फेल करते हैं जब delivery.channel=last का कोई पिछला रूट नहीं होता, ताकि आवर्ती जॉब स्थायी डिलीवरी-टारगेट त्रुटि का सामना करने से पहले टोकन खर्च न करें। दोनों परिवर्तन एक ही सिद्धांत का पालन करते हैं: महंगा काम तब न करें जब आउटपुट रूट असंभव हो, और तब सफलता रिपोर्ट न करें जब कोई एडेप्टर डिलीवरी की पुष्टि न करे।

Discord टारगेट पार्सिंग को क्रॉस-चैनल एजेंट मैसेजिंग के लिए एक ठोस सुधार मिला है। discord:channel:<id> जैसे प्रोवाइडर-प्रीफिक्स्ड टारगेट अब लेगसी Discord डायरेक्ट-मैसेज टारगेट के बजाय चैनल सेंड के रूप में पार्स होते हैं। यह क्रॉस-चैनल एजेंट message(action="send") कॉल को भ्रामक Unknown Channel विफलताओं में चैनल आईडी को गलत रूट करने से रोकता है। नेमस्पेस यहां मायने रखते हैं। एक प्रोवाइडर-प्रीफिक्स्ड चैनल टारगेट यूज़र आईडी नहीं है, और एक जेनरिक मैसेजिंग लेयर को उस इरादे को एडेप्टर तक संरक्षित रखना चाहिए।

Telegram hardening authorization और liveness दोनों को कवर करती है। Telegram अब न्यूमेरिक sender-ID चेक लागू करने से पहले DMs, groups, native commands, और callback authorization के लिए accessGroup:* sender allowlists का सम्मान करती है। Polling watchdog getUpdates liveness से बंधी रहती है ताकि असंबंधित outbound Bot API कॉल wedged inbound poller को मास्क न कर सकें। दूसरा सुधार एक क्लासिक health-check समस्या है। एक बॉट अभी भी मैसेज भेज सकता है जबकि उसका inbound polling loop फंसा हुआ है। अगर outbound कॉल watchdog को रीसेट करते हैं, तो सिस्टम स्वस्थ दिखता है भले ही यह यूज़र इनपुट प्राप्त नहीं कर सकता।

Discord पर वॉयस ऑपरेशन में सुधार हुआ है। channels capabilities और channels status --probe अब Discord वॉयस-चैनल परमिशन की जांच करते हैं, जिसमें ऑटो-जॉइन टारगेट शामिल हैं, ताकि /vc join से पहले गायब Connect, Speak, और Read Message History परमिशन दिखाई दें। वॉयस कैप्चर भी कम चपटा है: पोस्ट-स्पीच साइलेंस ग्रेस डिफ़ॉल्ट 2.5 सेकंड तक बढ़ गया है, voice.captureSilenceGraceMs शोर वाले सत्रों के लिए उपलब्ध है, और spoken-output प्रॉम्प्ट को लाइव STT फ्रैगमेंट के आसपास टाइट किया गया है। वॉयस एजेंट टर्न सेगमेंटेशन पर जीते या मरते हैं। बहुत कम साइलेंस ग्रेस स्पीकर को क्लिप करता है। बहुत अधिक ग्रेस एजेंट को सुस्त बनाता है। ग्रेस को कॉन्फ़िगर करने योग्य बनाना ऑपरेटरों को रूम नॉइज़ और स्पीकिंग स्टाइल के लिए ट्यूनिंग नॉब देता है।

WhatsApp सुधार ऑपरेशनली विशिष्ट हैं लेकिन महत्वपूर्ण हैं। Proactive फ़ोन-नंबर सेंड अब उपलब्ध होने पर Baileys LID forward mappings के माध्यम से रूट होते हैं, ताकि LID-एड्रेस्ड कॉन्टैक्ट एजेंट मैसेज प्राप्त करें सेंडर-ओनली घोस्ट चैट बनाने के बजाय। कैप्शनड MEDIA: directive auto-reply अब एक बार भेजते हैं कैप्शनड मीडिया रिप्लाय से पहले खाली मीडिया मैसेज उत्सर्जित करने के बजाय। दोनों एडेप्टर की सही कार्यप्रणाली के उदाहरण हैं। मैसेजिंग प्रोवाइडर्स के पास अक्सर कई पहचान रूप और मीडिया प्रिमिटिव्स होते हैं। एजेंट प्लेटफॉर्म को उन्हें सही ढंग से मैप करना होगा नहीं तो यूज़र डुप्लिकेट, मिसिंग, या घोस्ट मैसेज देखते हैं।

Codex approval behavior इस तरह बदलती है कि यह review को बायपास किए बिना approval fatigue को कम करनी चाहिए। Codex approval modes में, OpenClaw डिफ़ॉल्ट रूप से pre-guardian native PermissionRequest hook इंस्टॉल करना बंद कर देता है, जिससे Codex की reviewer को OpenClaw approval सतह पर लाने से पहले सुरक्षित कमांड को approve करने की अनुमति मिलती है। यह सक्रिय सत्र विंडो के भीतर समान Codex native PermissionRequest payloads के लिए allow-always निर्णयों को याद रखता है, और plugin approval requests अपने वास्तविक allowed निर्णयों को मान्य और रेंडर करती हैं ताकि Telegram और अन्य native approval UIs पुराने एक्शन ऑफर न कर सकें। समझाने के लिए विवरण sequencing है: आंतरिक reviewer को सुरक्षित कमांड संभालने दें, जब जरूरत हो approval सतह पर लाएं, और सुनिश्चित करें कि UI एक्शन वर्तमान allowed निर्णय सेट से मेल खाते हैं।

Provider और media compatibility को भी मरम्मत मिलती है। OpenClaw APNG sniffed PNG अपलोड को सामान्य बनाता है, Gemini 3 tool-call thought-signature replay को fallback signatures के साथ संरक्षित करता है, legacy __env__:VAR custom-provider keys को स्वीकार करता है, और snake_case tool-call transcript sanitization की मरम्मत करता है। ये वे किनारे हैं जो transcripts और tools को portable बनाते हैं। अगर tool-call signatures replay नहीं करते, तो provider state follow-up turns को अस्वीकार कर सकता है। अगर transcript sanitization snake_case tool calls को गलत संभालता है, तो replay और audit surfaces वास्तव में जो हुआ उससे विचलित हो जाते हैं।

ऑपरेटरों के लिए व्यावहारिक रिलीज रेटिंग उच्च है। v2026.5.7 कोई फ्लैशी फीचर नहीं है; यह विश्वसनीयता अनुबंधों का एक सेट है। Publishing registry state को सत्यापित करती है। Cron computed status को उजागर करती है। Channels और model auth अलग हैं। Inline skills authorization से गुजरती हैं। SecretRefs runtime पर resolve होते हैं। Context caches रीसेट के बाद अमान्य होते हैं। Delivery टोकन बर्बाद करने से पहले विफल होती है। Voice permissions और capture timing दिखाई देती हैं। Codex approvals वास्तविक निर्णयों के साथ संरेखित होती हैं। ये वे परिवर्तन हैं जो एक एजेंट सिस्टम को पूरे दिन चलने पर कम रहस्यमय बनाते हैं।

[28:00] कहानी 2 — OpenAI Agents JS v0.9 से v0.11 तक: सैंडबॉक्स को वर्कस्पेस मैनिफेस्ट, रनटाइम लिमिट्स, टूल शेड्यूलिंग और आर्टिफैक्ट बाउंड्रीज़ में बदलना

OpenAI का JavaScript के लिए Agents SDK इस सप्ताह तेज़ी से आगे बढ़ रहा है, और सबसे महत्वपूर्ण बदलाव सैंडबॉक्स एजेंट सरफेस है। सैंडबॉक्स एजेंट मौजूदा Agent, Runner और रन फ्लो पर आधारित हैं, लेकिन पर्सिस्टेंट वर्कस्पेस, वर्कस्पेस मैनिफेस्ट, सैंडबॉक्स सेशन, क्षमताएं, स्नैपशॉट, मेमोरी और रिज्यूम सपोर्ट जोड़ते हैं। व्यावहारिक रूप से, यह एक एजेंट जो फंक्शन कॉल कर सकता है और एक एजेंट जो समय के साथ एक नियंत्रित कंप्यूटर वातावरण में काम कर सकता है के बीच का अंतर है।

केंद्रीय अमूर्तता Manifest है। एक मैनिफेस्ट बताता है कि एजेंट का वर्कस्पेस क्या रखता है: सिंथेटिक फाइलें और डायरेक्टरी, लोकल फाइलें और डायरेक्टरी, Git रिपॉजिटरी, एनवायरनमेंट वेरिएबल्स, यूज़र्स, ग्रुप्स, परमिशन, माउंट और आउटपुट लोकेशन। यह सैंडबॉक्स सेटअप को एक डिक्लेरेटिव वर्कस्पेस कॉन्ट्रैक्ट में बदल देता है। एक टास्क यह नहीं कहता कि "किसी तरह इस एजेंट को एक रेपो और आर्टिफैक्ट्स लिखने की जगह दो," मैनिफेस्ट बिल्कुल बताता है कि क्या माउंट है, यह कहाँ दिखता है, कौन सी फाइलें राइटेबल हैं और कौन से एक्सटर्नल पाथ अलाउड हैं।

यह मायने रखता है क्योंकि फाइल और कमांड एजेंट्स को बाउंड्रीज़ की ज़रूरत है। अगर एक एजेंट फाइलें इंस्पेक्ट कर सकता है, कमांड चला सकता है, पैचेस लागू कर सकता है और आर्टिफैक्ट्स जेनरेट कर सकता है, तो सैंडबॉक्स को परिभाषित करना होगा कि स्कोप में क्या है। लॉन्ग-होराइज़न टास्क्स के लिए एक पर्सिस्टेंट वर्कस्पेस शक्तिशाली है क्योंकि एजेंट पिछली स्थिति से जारी रख सकता है, लेकिन पर्सिस्टेंस का मतलब यह भी है कि स्थिति जमा हो सकती है। स्नैपशॉट्स और रिज्यूम व्यवहार बिल्डर्स को यह तय करने देते हैं कि कब प्रिज़र्व करना है, रिस्टोर करना है या डिस्कार्ड करना है। ऑपरेशनल सवाल बन जाता है: कौन सी फाइलें टास्क इनपुट हैं, कौन सी जेनरेटेड आउटपुट हैं और कौन सी रन के बीच पर्सिस्टेंट मेमोरी हैं?

v0.11.0 एक आर्टिफैक्ट-बाउंड्री बदलाव जोड़ता है जो नज़रअंदाज़ करना आसान है लेकिन महत्वपूर्ण है। सैंडबॉक्स लोकल सोर्स मैटेरियलाइज़ेशन अब Manifest.extraPathGrants द्वारा कवर नहीं किया गया सोर्स पाथ होने तक LocalFile.src और LocalDir.src को मैटेरियलाइज़ेशन baseDir के भीतर रखता है। बेस डायरेक्टरी वह SDK प्रोसेस करंट वर्किंग डायरेक्टरी है जब मैनिफेस्ट लागू होता है। रिलेटिव सोर्सेस उस डायरेक्टरी से रिज़ॉल्व होते हैं। एब्सोल्यूट सोर्सेस पहले से ही उसके अंदर या किसी स्पष्ट ग्रांट के तहत होने चाहिए। यह एक लोकल आर्टिफैक्ट बाउंड्री इश्यू को बंद करता है।

माइग्रेशन का निहितार्थ सीधा है। अगर कोई एप्लिकेशन जानबूझकर बेस डायरेक्टरी के बाहर से ट्रस्टेड होस्ट फाइलों को सैंडबॉक्स वर्कस्पेस में कॉपी करता है, तो उसे अब एक एक्स्ट्रा पाथ ग्रांट के साथ उसकी घोषणा करनी होगी। यह एक बेहतर कॉन्ट्रैक्ट है। यह "एजेंट किसी सोर्स पाथ ने वहाँ इशारा किया इसलिए ऐबिट्रेरी होस्ट पाथ्स पढ़ सकता है" और "एप्लिकेशन ने स्पष्ट रूप से इस एक्सटर्नल डायरेक्टरी को ग्रांट किया, शायद रीड-ओनली, एक डिस्क्रिप्शन के साथ" के बीच का अंतर बनाता है। एजेंट सिस्टम्स के लिए जो कस्टमर डेटा, प्रोप्रायटरी रिपॉजिटरीज़ या क्रेडेंशियल-एडजेसेंट फाइल्स को हैंडल करते हैं, स्पष्ट ग्रांट्स सही डिफ़ॉल्ट हैं।

SDK डिफ़ॉल्ट मॉडल v0.10.0 में जब कोई मॉडल सेट नहीं होता तो gpt-4.1 से बदलकर gpt-5.4-mini हो गया। यह उन एजेंट्स और रन को प्रभावित करता है जो इम्प्लिसिट डिफ़ॉल्ट्स पर निर्भर थे। क्योंकि नया डिफ़ॉल्ट एक GPT-5 मॉडल है, इम्प्लिसिट डिफ़ॉल्ट मॉडल सेटिंग्स में अब GPT-5 डिफ़ॉल्ट्स शामिल हैं जैसे reasoning.effort="none" और verbosity="low"। बिल्डर की सिफारिश सरल है: प्रोडक्शन एजेंट्स को मॉडल स्पष्ट रूप से सेट करना चाहिए। डिफ़ॉल्ट्स उदाहरणों और प्रोटोटाइप्स के लिए उपयोगी हैं, लेकिन एजेंट व्यवहार, लागत, लेटेंसी, रीज़निंग इफ़र्ट और वर्बोसिटी सिर्फ इसलिए नहीं बदलनी चाहिए क्योंकि कोई डिपेंडेंसी अपग्रेड हो गई।

टर्न लिमिट्स स्पष्ट हो जाती हैं। maxTurns=null Agents SDK रन टर्न लिमिट को डिसेबल कर सकता है, जबकि सेटिंग छोड़ दी जाए तो डिफ़ॉल्ट DEFAULT_MAX_TURNS पर, वर्तमान में दस, रहता है। यह एक रनटाइम सेफ्टी वाल्व है। एक हार्ड टर्न कैप रनअवे लूप्स और सरप्राइज़ कॉस्ट को रोकता है। कैप को डिसेबल करना लॉन्ग-होराइज़न वर्कफ़्लोज़ के लिए ज़रूरी हो सकता है, लेकिन इसे अन्य कंट्रोल्स के साथ जोड़ा जाना चाहिए: वॉल-क्लॉक टाइमआउट्स, टूल अलाउलिस्ट, बजट लिमिट्स, चेकपॉइंटिंग और प्रोग्रेस विजिबिलिटी। उपयोगी अंतर यह है कि छोड़ दिया गया मतलब सेफ डिफ़ॉल्ट; null मतलब डेवलपर ने जानबूझकर लिमिट हटाई।

टूल शेड्यूलिंग भी अधिक नियंत्रित हो जाती है। RunConfig पर toolExecution.maxFunctionToolConcurrency SDK-साइड लोकल फंक्शन-टूल एक्जीक्यूशन कॉन्करेंसी को नियंत्रित करता है। यह प्रोवाइडर-साइड ModelSettings.parallelToolCalls से अलग है। यह अलगाव मायने रखता है। मॉडल को पैरेलल में कई टूल कॉल्स प्रपोज़ करने की अनुमति हो सकती है, लेकिन लोकल रनटाइम को अभी भी तय करना होता है कि एक बार में कितने एक्जीक्यूट करने हैं। एक फाइलसिस्टम टूल, डेटाबेस टूल, शेल टूल और HTTP टूल के अलग-अलग साइड इफेक्ट्स और रिसोर्स प्रोफाइल्स हैं। लोकल कॉन्करेंसी एक रनटाइम शेड्यूलिंग पॉलिसी है, सिर्फ एक मॉडल-जेनरेशन प्रेफरेंस नहीं।

MCP टूल नेमिंग को एक कॉलिज़न-अवॉइडेंस ऑप्शन मिलता है। SDK टूल नेम्स में MCP सर्वर नेम शामिल कर सकता है, जो Python SDK के साथ अलाइन करता है। यह कई MCP सर्वर्स द्वारा एक ही लोकल नेम के साथ टूल्स एक्सपोज़ करने पर कॉन्फ्लिक्ट्स को रोकता है। सर्वर प्रिफिक्सेस के बिना, दो अलग-अलग सर्वर्स दोनों search, read या query एक्सपोज़ कर सकते हैं। एजेंट तब अस्पष्ट टूल नेम्स देखता है, और लॉग्स की ऑडिट करना कठिन हो जाता है। सर्वर-प्रिफिक्स्ड नेमिंग टूल नेमस्पेस को अधिक स्पष्ट बनाती है, जो तब विशेष रूप से महत्वपूर्ण है जब एजेंट कई इंटरनल और एक्सटर्नल टूल सर्वर्स से कनेक्ट होते हैं।

v0.11.0 RealtimeAgent के डिफ़ॉल्ट मॉडल को भी gpt-realtime-2 में बदलता है। Realtime डिफ़ॉल्ट्स कॉस्मेटिक नहीं हैं। एक realtime मॉडल ऑडियो लेटेंसी, टर्न-टेकिंग, ट्रांसक्रिप्शन व्यवहार, बार्ज-इन एक्सपेक्टेशन और वॉइस इंटरैक्शन क्वालिटी को प्रभावित करता है। अगर कोई प्रोडक्ट RealtimeAgent का उपयोग बिना मॉडल पिन किए करता है, तो SDK अपग्रेड करने से अंतर्निहित realtime व्यवहार बदल सकता है। फिर से, सिफारिश यह है कि प्रोडक्शन डिफ़ॉल्ट्स पिन करें और नए realtime मॉडल्स को कस्टमर-फेसिंग सेशन में ले जाने से पहले प्रतिनिधि ऑडियो कंडीशंस में टेस्ट करें।

रिलीज सीरीज में फिक्सेस भी शामिल हैं जो दिखाते हैं कि एजेंट रनटाइम कहाँ फेल होते हैं। v0.9.1 रन-स्टेट सीरियलाइजेशन में डुप्लिकेट-नेम एजेंट आइडेंटिटी प्रिज़र्व करता है, स्ट्रीम्ड फंक्शन कॉल्स को रिकंसाइल करता है जब सर्वर-मैनेज्ड रन एबॉर्ट होते हैं, और असिस्टेंट कन्वर्सेशन आइटम आईडीज़ को रीप्ले करने से बचता है। v0.10.1 सेशन हिस्ट्री रिस्टोर करता है जब रिस्पॉन्सेस कम्पैक्शन रिप्लेसमेंट फेल होता है और होस्टेड MCP अप्रूवल पॉलिसीज़ को वैलिडेट करता है। ये स्टेट-मशीन फिक्सेस हैं। एजेंट सिस्टम्स में लोकल स्टेट, सर्वर स्टेट, स्ट्रीम्ड डेल्टास, कम्पैक्शन रिप्लेसमेंट, और अप्रूवल पॉलिसी होती है। अगर ये ड्रिफ्ट होते हैं, तो अगला टर्न गलत आइटम रीप्ले कर सकता है, हिस्ट्री खो सकता है, या गलत एक्शन अप्रूव कर सकता है।

जावास्क्रिप्ट बिल्डर्स के लिए प्रैक्टिकल टेकअवे यह है कि एजेंट्स SDK को रनटाइम के रूप में ट्रीट करें, न कि सिर्फ मॉडल कॉल्स के रैपर के रूप में। वर्कस्पेस मैनिफेस्ट्स को संकरे से डिफाइन करें। होस्ट पाथ्स के लिए जानबूझकर extraPathGrants का उपयोग करें। प्रोडक्शन मॉडल्स को पिन करें। तय करें कि टर्न लिमिट्स डिफॉल्ट पर रहनी चाहिए, बढ़नी चाहिए, या अन्य गार्डरेल्स के साथ डिसेबल की जानी चाहिए। साइड इफेक्ट्स के आधार पर लोकल टूल कंकरेंसी सेट करें। जब मल्टीपल सर्वर अटैच्ड हों तो MCP टूल नेम्स को प्रीफिक्स करें। रियलटाइम मॉडल चेंजेस को डिपेंडेंसी अपडेट्स के रूप में नहीं, बल्कि प्रोडक्ट बिहेवियर चेंजेस के रूप में टेस्ट करें।

[40:00] स्टोरी 3 — Gemini CLI v0.42 नाइटलीज़ एजेंट रनटाइम एजेस को हार्डन करते हैं: शेल सेफ्टी इवैल्स, अप्रूवल रेसेस, कम्प्रेशन क्यूज़, OAuth हैंग्स, और ऑटो मेमोरी पैचेस Gemini CLI के 6 और 7 मई के नाइटलीज़ उपयोगी इसलिए हैं क्योंकि ये कमांड-लाइन एजेंट्स के लिए जरूरी अनग्लैमरस रनटाइम वर्क को दिखाते हैं। बदलाव एक सिंगल मॉडल लॉन्च नहीं हैं; ये अप्रूवल, शेल सेफ्टी, कंटेक्स्ट कम्प्रेशन, स्ट्रीमिंग फेलर्स, OAuth, सैंडबॉक्स नेमिंग, ऑटो मेमोरी, और नॉन-इंटरैक्टिव आउटपुट के आसपास एज केसिस की सूची हैं। ये बिल्कुल वही जगहें हैं जहाँ CLI एजेंट्स भंगुर हो जाते हैं।

अप्रूवल्स से शुरू करें। A2A सर्वर फिक्सेस टूल अप्रूवल रेस कंडीशन को रिज़ॉल्व करते हैं, स्टेटस रिपोर्टिंग को इम्प्रूव करते हैं, और टूल कम्प्लीशन वेटिंग में रेस को रिज़ॉल्व करते हैं। एजेंट रनटाइम में, अप्रूवल एक स्टेट मशीन है। एक टूल कॉल प्रपोज़ की जाती है, अप्रूवल रिक्वेस्ट की जाती है, एक इंसान या पॉलिसी का फैसला आता है, टूल एक्जीक्यूट होता है या डिनाइड होता है, और रनटाइम कम्प्लीशन रिपोर्ट करता है। अगर सिस्टम अप्रूवल रिज़ल्ट कमिट होने से पहले स्टेटस रिपोर्ट करता है, या गलत कम्प्लीशन सिग्नल का इंतज़ार करता है, तो UI एक टूल को डन दिखा सकता है जबकि वह अभी भी पेंडिंग है, या एक्जीक्यूट कर सकता है जब एक डिनायल पाथ ने उसे रोका होना चाहिए था।

शेल-कमांड सेफ्टी इवैल्स एक मजबूत एडिशन हैं। शेल टूल्स पावरफुल इसलिए हैं क्योंकि वे एजेंट्स को फाइल्स इंस्पेक्ट करने, टेस्ट रन करने, डिपेंडेंसीज़ इंस्टॉल करने, और डेवलपर वर्कफ्लोज़ ऑपरेट करने देते हैं। वे उसी कारण से खतरनाक भी हैं। एक शेल सेफ्टी इवैल सुइट मेंटेनर्स को यह टेस्ट करने का तरीका देता है कि मॉडल और रनटाइम रिस्की कमांड्स, रिडायरेक्शन, डिस्ट्रक्टिव फाइल ऑपरेशन, क्रेडेंशियल एक्सपोज़र, और सैंडबॉक्स एस्केप अटेंप्ट्स को सही से आइडेंटिफाई करते हैं या नहीं। जरूरी हिस्सा यह है कि सेफ्टी बिहेवियर के रूप में इवैल्यूएट की जाती है, सिर्फ पॉलिसी के रूप में डॉक्यूमेंट नहीं की जाती।

नाइटलीज़ में नॉन-इंटरैक्टिव मोड में AgentExecutionStopped के लिए JSON आउटपुट भी जुड़ा है। यह CI और रैपर स्क्रिप्ट्स के लिए मायने रखता है। एक इंसान का TUI स्टॉप्ड स्टेट को प्रोज़ में दिखा सकता है; ऑटोमेशन को एक स्ट्रक्चर्ड ऑब्जेक्ट चाहिए। अगर नॉन-इंटरैक्टिव रन पॉलिसी, लिमिट, एरर, या अप्रूवल स्टेट के कारण रुकते हैं, तो JSON आउटपुट कॉलिंग सिस्टम्स को क्लीन स्टॉप, क्रैश या टाइमआउट में अंतर करने देता है। CLI एजेंट्स तेजी से शेड्यूल्ड जॉब्स और ऑर्केस्ट्रेशन सिस्टम्स के अंदर चलते हैं, इसलिए स्ट्रक्चर्ड टर्मिनल सेमैंटिक्स प्रोडक्ट सरफेस का हिस्सा हैं।

कंटेक्स्ट कम्प्रेशन को क्यूइंग फिक्स मिलता है: मैसेज कम्प्रेशन के दौरान क्यू किए जा सकते हैं। कम्प्रेशन जरूरी है क्योंकि लंबी एजेंट सेशन कंटेक्स्ट लिमिट्स से ज्यादा हो जाती हैं, लेकिन यह कंकरेंसी हाज़ार्ड भी है। अगर यूज़र रनटाइम कंटेक्स्ट को कम्प्रेस कर रहा हो तब मैसेज भेजता है, तो सिस्टम को तय करना होता है कि इनपुट को ब्लॉक करना है, ड्रॉप करना है, पुराने कंटेक्स्ट में ऐपेंड करना है, या कम्प्रेस्ड कंटेक्स्ट के लिए क्यू करना है। क्यूइंग यूज़र के इंटेंट को प्रिज़र्व करता है जबकि कंटेक्स्ट मैनेजर कोहीरेंट रीराइट पूरी करने देता है। उसके बिना, चैट करप्शन या लॉस्ट टर्न्स संभव हैं।

CLI ERR_STREAM_PREMATURE_CLOSE एरर्स को भी रिट्राई करता है। स्ट्रीमिंग एजेंट रन मॉडल आउटपुट, टूल प्रोग्रेस, और टर्मिनल रेंडरिंग में लंबे-चले कनेक्शन पर निर्भर करते हैं। प्रीमैचर क्लोज़ ट्रांज़िएंट नेटवर्क या ट्रांसपोर्ट फेलियर हो सकता है, लॉजिकल फेलियर नहीं। ध्यान से रिट्राई करने से सिस्टम ज्यादा रोबस्ट हो सकता है, लेकिन रनटाइम को साइड इफेक्ट्स डुप्लिकेट करने से बचना चाहिए। सेफ पैटर्न यह है कि आइडेम्पोटेंट या प्री-एक्जीक्यूशन स्ट्रीम पाथ्स को रिट्राई करें और एक बार टूल ने स्टेट म्यूटेट कर दिया हो तो ज्यादा कंज़र्वेटिव रहें।

कई फिक्सेस हेडलेस और नॉनस्टैंडर्ड एनवायरनमेंट्स के बारे में हैं। CLI हेडलेस Linux पर OAuth ऑथ के दौरान साइलेंट हैंग को प्रिवेंट करता है। यह GOOGLE_CLOUD_PROJECT में न्यूमेरिक प्रोजेक्ट आईडीज़ को रिजेक्ट करता है। यह अनट्रस्टेड फोल्डर्स में MCP लिस्ट UX को इम्प्रूव करता है। ये ऑपरेटर-क्वालिटी फिक्सेस हैं। कई एजेंट्स रिमोट मशीनों, कंटेनर्स, CI वर्कर्स, या बिना ब्राउज़र के सर्वर पर चलते हैं। ऑथेंटिकेशन और प्रोजेक्ट रिज़ॉल्यूशन फेलर्स को एक्शनेबल स्टेटस के साथ फेल होना चाहिए, उस UI का इंतज़ार करते हुए हैंग नहीं होना चाहिए जो मौजूद ही नहीं है।

सैंडबॉक्स बिहेवियर में छोटे लेकिन जरूरी बदलाव हैं। CLI सैंडबॉक्स कंटेनर नेम्स को रैंडमाइज़ करता है, और YOLO और AUTO_EDIT मोड्स में बिना सैंडबॉक्सिंग के रिडायरेक्शन की अनुमति देता है। रैंडमाइज़्ड कंटेनर नेम्स कॉलिज़न्स को कम करते हैं जब मल्टीपल रन एक ही होस्ट पर एक्जीक्यूट होते हैं। रिडायरेक्शन बिहेवियर मायने रखता है क्योंकि शेल सिंटैक्स नॉर्मल डेवलपर वर्क का हिस्सा है: फाइल्स में आउटपुट रिडायरेक्ट करना, लॉग्स पाइप करना, और पैचेस लिखना। लेकिन रिडायरेक्शन के आसपास किसी भी बदलाव को सेफ्टी इवैल्यूएशन की भी जरूरत है क्योंकि रिडायरेक्शन फाइल्स को ओवरराइट कर सकता है या कंटेंट एक्सफ़िल्ट्रेट कर सकता है। इसीलिए शेल सेफ्टी इवैल्स और शेल बिहेवियर बदलाव एक ही डिस्कशन में belong करते हैं।

Auto Memory को एक निजी पैच अलाउलिस्ट सख्ती और स्पष्ट दस्तावेज़ीकरण मिलता है कि Auto Memory मेमोरी अपडेट और स्किल्स का प्रस्ताव करता है। पर्सिस्टेंट मेमोरी तभी उपयोगी है जब अपडेट स्कोप्ड और समीक्षा योग्य हों। एक मेमोरी पैच अलाउलिस्ट नियंत्रित करता है कि किस प्रकार के निजी मेमोरी अपडेट स्वचालित रूप से लागू किए जा सकते हैं। उस सीमा के बिना, एक एजेंट संवेदनशील, गलत, या अत्यधिक व्यापक तथ्यों को बनाए रख सकता है। बहुत सख्त सीमा के साथ, मेमोरी बेकार हो जाती है। सही ऑपरेटर मॉडल प्रस्ताव, स्कोप, अलाउलिस्ट, और समीक्षा है।

7 मई की रिलीज थॉट स्ट्रीम से टूल एक्सप्लनेशन को टूल कॉल कंटेंट में भी स्थानांतरित करती है। यह UI क्लीनअप लग सकता है, लेकिन यह प्राइवेसी और ऑब्जर्वेबिलिटी को प्रभावित करता है। थॉट स्ट्रीम और टूल-कॉल कंटेंट के कई सिस्टम्स में अलग-अलग ऑडियंस और रिटेंशन नियम होते हैं। अगर टूल एक्सप्लनेशन टूल कॉल के साथ है, तो उसे वहां रखना ऑडिट लॉग्स को स्पष्ट बनाता है और इंटरनल रीजनिंग चैनल्स के साथ यूजर-विजिबल टूल रेशनल को मिलाने से बचाता है। एजेंट रनटाइम्स को इन कंटेंट बाउंड्रीज को सुसंगत रखने की जरूरत है।

Gemini CLI ऑपरेटर्स के लिए व्यावहारिक सिफारिश यह है कि इन नाइटलीज़ को रनटाइम-हार्डनिंग सिग्नल के रूप में देखें। अप्रूवल स्टेट मशीनों को रेस टेस्ट्स की जरूरत है। शेल टूल्स को सेफ्टी इवैल्स की जरूरत है। कंप्रेशन को इनपुट क्यूइंग की जरूरत है। स्ट्रीमिंग को रिट्री रूल्स की जरूरत है जो डुप्लिकेट साइड इफेक्ट्स से बचें। OAuth को हेडलेस फेलियर मोड्स की जरूरत है। मेमोरी पैचेस को अलाउलिस्ट्स की जरूरत है। नॉन-इंटरैक्टिव रन्स को JSON स्टेट्स की जरूरत है। ये CLI एजेंट के लिए वैकल्पिक पॉलिश नहीं हैं; ये डेमो टर्मिनल और विश्वसनीय ऑटोमेशन सर्फेस के बीच का अंतर हैं।

[50:00] समापन EP047 से व्यावहारिक निष्कर्ष ऑपरेशनल है: OpenClaw v2026.5.7 पब्लिशिंग, क्रॉन, चैनल्स, मेमोरी, डिलीवरी, वॉइस, मैसेजिंग, और अप्रूवल्स में सिस्टम स्टेट को अधिक विजिबल और सुरक्षित बनाता है। OpenAI Agents JS दिखाता है कि सैंडबॉक्स्ड एजेंट्स वर्कस्पेस-मैनिफेस्ट रनटाइम्स बन रहे हैं जिसमें स्पष्ट पाथ ग्रांट्स, टर्न लिमिट्स, टूल कंकरेंसी, और MCP नेमस्पेस हैं। Gemini CLI उन रनटाइम एजेस को दिखाता है जो कमांड-लाइन एजेंट्स के रियल वर्कफ्लोज़ में चलने पर मायने रखती हैं: अप्रूवल रेसेस, शेल सेफ्टी, कंप्रेशन क्यूज़, ट्रांसपोर्ट रिट्रीज़, OAuth लाइवनेस, और मेमोरी पैच स्कोप। बिल्डर्स के लिए, सवाल सिर्फ यह नहीं है कि एजेंट क्या कर सकता है; यह है कि जब वह काम करता है तो कौन सी बाउंड्रीज़, स्टेटस, और रिकवरी पाथ्स मौजूद हैं।

🎙 Never miss an episode — subscribe now

🎙 Subscribe to AgentStack Daily