Înapoi la catalog
Season 5 11 Episoade 43 min 2026

OpenClaw Gateway

v2026.3 — Ediția 2026. O analiză tehnică detaliată a arhitecturii OpenClaw Gateway, agent routing și tools. (Versiunea 2026.3)

Infrastructură LLM Sisteme multi-agent
OpenClaw Gateway
Se redă acum
Click play to start
0:00
0:00
1
Arhitectura Personal AI Gateway
Explorăm ce este OpenClaw și de ce există. Ascultătorii vor învăța cum un singur proces Gateway self-hosted conectează diverse aplicații de chat la un AI agent runtime.
4m 02s
2
Rutare Multi-Agent
Află cum coexistă mai multe identități de agenți pe un singur Gateway. Discutăm despre channel bindings, routing rules și izolarea workspace-urilor.
4m 12s
3
Agent Workspace și System Prompts
Descoperă cum OpenClaw modelează comportamentul agenților. Ascultătorii vor învăța despre asamblarea de system prompt și fișierele de bootstrap precum SOUL.md și AGENTS.md.
4m 36s
4
Session Management și Izolarea DM-urilor
O analiză detaliată a rutării conversațiilor și a confidențialității. Ascultătorii vor înțelege DM scopes, izolarea sesiunilor și resetările de lifecycle.
4m 00s
5
Gestionarea Limitelor de Context prin Compaction
Află cum OpenClaw gestionează conversații infinite în limitele finite ale ferestrelor de context LLM folosind Context Engine și auto-compaction.
3m 31s
6
Securitate și Trust Boundaries
Înțelege modelul de trust OpenClaw. Ascultătorii vor afla de ce este un gateway pentru asistenți personali mai degrabă decât un sandbox multi-tenant și cum să îl securizeze.
3m 29s
7
Exec Tool și Runtime Approvals
Explorează modul în care agentul interacționează în siguranță cu sistemul tău de fișiere și shell-ul. Discutăm despre exec tool, safe binaries și fluxurile de aprobare explicită.
3m 57s
8
Învățarea Agenților folosind Skills
Află cum să extinzi capabilitățile agentului tău fără a scrie cod. Explorăm formatarea AgentSkills, load-time gating și ClawHub.
3m 55s
9
Managed Browser Tool
Descoperă cum OpenClaw oferă agenților ochi pe web. Ascultătorii vor învăța despre profilurile Chromium izolate și existing-session MCPs.
3m 22s
10
Sub-Agenți Efemeri
Du orchestrarea la nivelul următor prin lansarea de background workers. Discutăm despre tool-ul sessions_spawn, nesting depth și anunțarea rezultatelor.
3m 53s
11
Workflow-uri de Automatizare Proactivă
Transformă-ți bot-ul reactiv într-un asistent proactiv. Ascultătorii vor învăța cum să combine Heartbeats, Cron jobs și Hooks pentru o automatizare puternică.
4m 05s

Episoade

1

Arhitectura Personal AI Gateway

4m 02s

Explorăm ce este OpenClaw și de ce există. Ascultătorii vor învăța cum un singur proces Gateway self-hosted conectează diverse aplicații de chat la un AI agent runtime.

Descarcă
Salut, sunt Alex de la DEV STORIES DOT EU. OpenClaw Gateway, episodul 1 din 11. Ești plecat de la birou, dar ai nevoie de un code review rapid. Trimiți un mesaj de pe telefon, iar câteva secunde mai târziu primești o analiză detaliată, generată în întregime de un server privat care rulează pe mașina ta locală. Arhitectura Personal AI Gateway este cea care face posibil acest setup complet self-hosted. Majoritatea chatbot-urilor AI îți trec forțat datele personale printr-un layer de orchestrare third-party. Dacă vrei să conectezi o aplicație de mesagerie la un language model, de obicei te bazezi pe un serviciu cloud ca să legi API-urile între ele. Asta îți expune query-urile private și introduce latență. Arhitectura OpenClaw Gateway elimină serviciul intermediar rulând totul într-un singur proces self-hosted. Acest proces servește ca o punte dedicată. Stă direct între aplicațiile tale de mesagerie de zi cu zi și runtime-ul AI ales. Hai să urmărim traseul exact al unui mesaj ca să vedem cum curge logica. Trimiți un code snippet de pe telefon folosind WhatsApp. Pe mașina ta locală, procesul gateway rulează deja. Menține conexiuni persistente către aplicațiile tale de mesagerie folosind librării specifice. Pentru WhatsApp, gateway-ul folosește librăria Baileys pentru a gestiona conexiunea directă prin socket. Pentru Telegram, se bazează pe framework-ul grammY. Când mesajul tău ajunge la serverul local, vine încapsulat într-o structură de date specifică protocolului. Un eveniment WhatsApp are o formă a payload-ului total diferită față de un eveniment Telegram. Gateway-ul parsează imediat aceste mesaje primite. Elimină wrapper-ele specifice platformei, extrage raw text-ul și sender ID-ul, și le împachetează într-un obiect intern standardizat. Iată ideea cheie. Până când mesajul tău ajunge în runtime-ul AI, motorul nu știe de unde provine textul. Runtime-ul funcționează complet independent de Baileys sau grammY. Vede doar un request curat și uniform. AI-ul procesează code snippet-ul tău, generează review-ul și dă un răspuns plain text înapoi către gateway. Gateway-ul inversează apoi fluxul. Verifică marker-ul de origine atașat request-ului inițial. Dacă ai pus întrebarea prin WhatsApp, gateway-ul formatează răspunsul AI într-o structură compatibilă cu Baileys și îl trimite prin socket direct către telefonul tău. Dacă request-ul a venit de pe Telegram, folosește grammY pentru a trimite răspunsul. Păstrarea tuturor acestor lucruri într-un singur proces self-hosted reduce drastic complexitatea operațională. Nu ai nevoie să faci deploy la mai multe microservicii, să configurezi message queues sau să expui endpoint-uri locale către webhook-uri externe doar ca să rutezi un text. O aplicație izolată gestionează socket-urile de rețea, execută logica de normalizare și invocă motorul AI. Pentru că gateway-ul unifică intern mai multe canale, contextul conversației tale rămâne centralizat. Poți începe să faci troubleshooting la un bug pe Telegram în timp ce mergi, și să pui o întrebare de follow-up mai târziu pe WhatsApp. Gateway-ul se asigură că runtime-ul AI păstrează istoricul complet, indiferent de aplicația mobilă pe care o deschizi. Cel mai mare avantaj al acestei arhitecturi este controlul absolut asupra input-urilor și output-urilor tale pe orice interfață de mesagerie, în întregime pe propriul hardware. Dacă îți place podcastul și vrei să susții emisiunea, poți căuta DevStoriesEU pe Patreon. Asta e tot pentru acest episod. Mulțumesc că m-ai ascultat și continuă să construiești!
2

Rutare Multi-Agent

4m 12s

Află cum coexistă mai multe identități de agenți pe un singur Gateway. Discutăm despre channel bindings, routing rules și izolarea workspace-urilor.

Descarcă
Salut, sunt Alex de la DEV STORIES DOT EU. OpenClaw Gateway, episodul 2 din 11. Botul tău de lucru și botul tău asistent personal nu ar trebui să partajeze niciodată aceeași memorie, însă să ridici o instanță separată de server pentru fiecare nouă persona de bot este un coșmar operațional. Aceasta este exact problema pe care o rezolvă Multi-Agent Routing. Ascultătorii confundă adesea acest setup cu arhitectura SaaS multi-tenant. Să clarificăm asta imediat. Multi-Agent Routing nu este conceput pentru a găzdui boți diferiți pentru mii de clienți externi. În schimb, există pentru a organiza diferitele personas ale unui singur proprietar, sau pentru a lega anumite grupuri de chat la boți specifici, purpose-built, toți rulând eficient sub același acoperiș. Ca asta să funcționeze, sistemul separă strict două concepte. Trebuie să înțelegi diferența dintre un account ID și un agent ID. Account ID-ul este omul. Este identificatorul persoanei care trimite mesajul. Agent ID-ul este botul. El definește acea persona specifică, modelul și instrucțiunile cu care vorbește omul. Un singur om cu un singur account ID va vorbi în mod obișnuit cu mai multe agent ID-uri diferite pe parcursul zilei. Pe OpenClaw Gateway, mai mulți agenți izolați rulează în paralel. Nu partajezi memory states între ei. Fiecare agent ID primește propriul său workspace dedicat și propriul său session store distinct. Când un inbound message ajunge în Gateway, sistemul trebuie să-și dea seama exact care workspace izolat ar trebui să-l primească. Face asta folosind routing rules cunoscute sub numele de bindings. Aceste bindings sunt mappings deterministe. Ele se uită la acele metadata exacte atașate unui incoming message și îl rutează în consecință. Fiecare inbound message conține un payload de date de conexiune. Asta include canalul, cum ar fi WhatsApp sau Telegram. Include account ID-ul expeditorului. Poate include, de asemenea, un peer identifier, care ar putea dicta un anumit group chat room. Configurezi bindings pentru a evalua aceste metadata. De exemplu, poți crea un binding care dictează ca orice mesaj care sosește pe canalul WhatsApp să fie rutat direct către un agent ID rapid, de zi cu zi. Acest agent gestionează task-uri rapide, liste de cumpărături sau căutări simple pe web. În exact același setup, setezi un alt binding care precizează că orice mesaj care sosește prin Telegram este rutat către un agent ID heavy-duty, care rulează un model mai mare, cum ar fi Opus, pentru muncă de deep coding. Logic flow-ul este simplu. Gateway-ul primește un mesaj pe Telegram. Citește metadata canalului și account ID-ul tău. Verifică acele bindings, găsește regula care se potrivește cu Telegram și transmite payload-ul către agent ID-ul Opus. Agentul Opus se trezește în workspace-ul său izolat. Își interoghează propriul session store dedicat pentru a recupera istoricul conversației. Nu are absolut niciun acces la lista de cumpărături pe care tocmai ai trimis-o agentului de pe WhatsApp. Iată ideea cheie. Multi-Agent Routing transformă un singur Gateway într-un switchboard determinist, folosind metadata canalului și a utilizatorului pentru a garanta că acea persona potrivită preia mereu request-ul corect, fără să-și contamineze vreodată memoria. Ca întotdeauna, îți mulțumesc că mă asculți. Ne vedem în următorul episod.
3

Agent Workspace și System Prompts

4m 36s

Descoperă cum OpenClaw modelează comportamentul agenților. Ascultătorii vor învăța despre asamblarea de system prompt și fișierele de bootstrap precum SOUL.md și AGENTS.md.

Descarcă
Salut, sunt Alex de la DEV STORIES DOT EU. OpenClaw Gateway, episodul 3 din 11. Ți-ai dorit vreodată să poți scrie literalmente un suflet pentru AI-ul tău, poate făcându-l să răspundă exclusiv ca un homar spațial morocănos? În OpenClaw, atingerea acestui nivel de control al personajului necesită zero cod. Se întâmplă în întregime prin plain text, ceea ce ne aduce la Agent Workspace și la System Prompts. Un agent în OpenClaw este definit de workspace-ul său. Acest workspace este pur și simplu un director de fișiere care conține un set specific de fișiere de bootstrap în Markdown. În loc să îngroape system prompt-ul în logica aplicației sau în câmpuri complexe ale bazei de date, OpenClaw expune instrucțiunile de bază ca documente lizibile, cu version control. Când aplicația rulează, OpenClaw citește aceste fișiere pentru a construi system prompt-ul monolitic care ghidează Large Language Model-ul. Construcția se bazează pe patru documente principale. Primul este fișierul Markdown agents. Acest document stabilește identitatea de bază, obiectivele principale și limitele operaționale stricte ale agentului. Gândește-te la el ca la o fișă a postului fundamentală. Acesta îi spune modelului ce ar trebui să realizeze și ce subiecte trebuie să evite complet. Al doilea document este fișierul Markdown soul. Aici se află personalitatea, tonul și stilul conversațional. Exact aici instruiești modelul să se comporte ca un homar spațial morocănos. Scrii instrucțiuni explicite prin care îi spui agentului să se plângă de vidul înghețat din spațiu, să folosească metafore despre crustacee și să se comporte, în general, ca și cum ar fi deranjat de întrebările umane. Prin izolarea personalității de logica de bază, poți schimba tonul agentului tău fără a-i risca fiabilitatea funcțională. A treia componentă este fișierul Markdown tools. Acest text explică capacitățile externe disponibile agentului. Descrie ce funcții poate declanșa modelul, parametrii necesari pentru aceste funcții și cum să interpreteze logic rezultatele. Face legătura între raționamentul intern al modelului și codebase-ul tău real. Documentul final este fișierul Markdown user. Acest fișier injectează context despre persoana care interacționează cu agentul. Poate conține preferințele utilizatorului, nivelurile de competență tehnică sau constrângerile contului. Acest lucru asigură că agentul își adaptează răspunsurile la persoana specifică de la celălalt capăt al chat-ului, în loc să ofere sfaturi generice. Iată ideea cheie. OpenClaw preia conținutul acestor patru fișiere și le concatenează. Acest string combinat devine system prompt-ul final. Detaliul crucial este că acest prompt este injectat în context window la fiecare rundă a conversației. Modelul nu citește aceste fișiere o singură dată la startup pentru a le păstra cumva într-o bancă de memorie separată. Citește întregul bloc concatenat de fiecare dată când utilizatorul trimite un mesaj nou. Această alegere arhitecturală dictează modul în care trebuie să îți scrii fișierele din workspace. Deoarece întregul text al workspace-ului este adăugat la începutul fiecărei interacțiuni, numărul tău de tokeni va crește agresiv. Dacă scrii un backstory de trei pagini în fișierul soul, plătești costul de procesare pentru acele trei pagini de fiecare dată când utilizatorul spune pur și simplu salut. Mai important, system prompt-urile mari consumă limitele disponibile din context window. Un workspace încărcat aglomerează istoricul real al conversației, făcând modelul să uite mult mai repede părțile anterioare ale chat-ului. Trebuie să fii nemilos atunci când îți editezi documentele din workspace. Elimină instrucțiunile redundante. Folosește un limbaj precis. Dacă o regulă din fișierul agents nu este niciodată declanșată, șterge-o. System prompt-ul nu este un pas de configurare pe care îl faci o singură dată. Este o taxă recurentă pe context window-ul tău și pe bugetul tău de API, plătită la fiecare rundă a conversației. Păstrează-l simplu, iar agentul tău va rămâne concentrat. Mulțumesc că m-ați ascultat. Aveți grijă de voi.
4

Session Management și Izolarea DM-urilor

4m 00s

O analiză detaliată a rutării conversațiilor și a confidențialității. Ascultătorii vor înțelege DM scopes, izolarea sesiunilor și resetările de lifecycle.

Descarcă
Salut, sunt Alex de la DEV STORIES DOT EU. OpenClaw Gateway, episodul 4 din 11. Faci deploy la un nou chat bot în workspace-ul companiei tale. Alice îi cere să-i rezume notițele private de ședință, iar cinci minute mai târziu, acesta îi citează din greșeală acele notițe lui Bob. Agentul tău tocmai a dat leak la date pentru că îi tratează pe toți din workspace ca fiind exact aceeași persoană. Ca să repari asta, trebuie să înțelegi Session Management și DM Isolation. Înainte să reparăm acest overlap, trebuie să clarificăm o concepție greșită des întâlnită. Inginerii confundă adesea session keys cu token-urile de autentificare. Nu sunt același lucru. Session keys nu sunt bariere de securitate. Sunt pur și simplu routing selectors. Ele îi spun sistemului OpenClaw ce bloc din istoricul conversației să extragă din baza de date și să-l injecteze în prompt. Dacă trebuie să restricționezi cine poate vorbi cu agentul tău, folosești o autentificare adecvată. Session keys doar mențin textul separat. Fiecare interacțiune cu un agent OpenClaw are loc în interiorul unei sesiuni. Sesiunea ține istoricul conversației și contextul activ pe termen scurt. By default, OpenClaw rutează tot traficul printr-un singur shared session key numit main. Dacă rulezi un script de terminal local sau un asistent personal doar pentru tine, acest comportament default funcționează perfect. Tot contextul tău rămâne într-un singur thread continuu. Dar dacă conectezi exact același agent la o platformă multi-user, setarea default nu mai face față. Fiecare user care vorbește cu botul scrie în exact același istoric main. Agentul citește promptul de la Alice, generează un răspuns și îl salvează. Când Bob trimite un mesaj zece secunde mai târziu, agentul citește input-ul de la Bob alături de input-ul anterior de la Alice. Aici devine interesant. Previi acest overlap folosind setările de DM Isolation. Când configurezi integrarea cu platforma, schimbi strategia de session routing de la default la per-channel-peer. Când activezi per-channel-peer, OpenClaw oprește rutarea traficului către sesiunea main. În schimb, generează dinamic un session key unic pentru fiecare mesaj primit. Face asta combinând channel identifier-ul platformei cu user identifier-ul. Acum, când Alice îi dă mesaj botului într-un anumit canal, OpenClaw construiește un session key unic pentru ea și pentru acel canal. Când Bob îi dă mesaj botului, user identifier-ul lui generează un session key complet diferit. Sistemul încarcă un state curat și gol pentru Bob. Contextele lor sunt complet izolate. Dacă Alice vorbește cu botul pe un canal complet diferit, primește o sesiune fresh și acolo. Aceste sesiuni nu mențin state-ul pentru totdeauna. OpenClaw gestionează session cleanup-ul prin două lifecycle events specifice. Primul este un idle reset. Dacă o anumită sesiune nu primește mesaje noi pentru o durată configurată, sistemul face drop la context. Data viitoare când userul trimite un mesaj, începe de la zero. Al doilea cleanup mechanism este un hard daily reset. Indiferent de cât de activă este o conversație, OpenClaw face purge forțat la toate contextele de sesiune exact la 4:00 AM, server time. Acest daily reset acționează ca un pas automat de garbage collection. Se asigură că memoria este eliberată și că acele conversații long-running nu consumă în tăcere cantități masive de context tokens pe parcursul a săptămâni de utilizare. Când faci deploy la agenți în medii de grup, nu presupune niciodată că platforma gestionează separarea userilor pentru tine. Maparea explicită a session keys către user boundary-ul corect este singura modalitate de a preveni context leaks accidentale. Asta e tot pentru acest episod. Mulțumesc pentru ascultare și continuă să construiești!
5

Gestionarea Limitelor de Context prin Compaction

3m 31s

Află cum OpenClaw gestionează conversații infinite în limitele finite ale ferestrelor de context LLM folosind Context Engine și auto-compaction.

Descarcă
Salut, sunt Alex de la DEV STORIES DOT EU. OpenClaw Gateway, episodul 5 din 11. Ferestrele de context AI nu sunt infinite, dar conversația ta trebuie adesea să fie așa. Când o sesiune lungă se lovește de un blocaj, soluția standard este să începi să renunți complet la mesajele mai vechi, ceea ce face agentul să uite brusc pași critici de setup. Gestionarea limitelor de context prin Compaction rezolvă asta transformând elegant chat-urile mai vechi în rezumate dense, înainte ca limita să fie depășită. Înainte să ne uităm la mecanisme, nu confunda asta cu session pruning. Session pruning este o operațiune separată care elimină doar excesul de tool results. Compaction operează direct pe istoricul de bază al conversației. Gândește-te la o sesiune lungă de coding. Agentul a generat boilerplate, a citit fișiere locale și a făcut debugging pe erori de logică timp de o oră. Fiecare interacțiune crește token count-ul. Dacă sistemul atinge hard limit-ul language model-ului din spate, API-ul respinge request-ul și sesiunea dă crash. Ai nevoie de o modalitate să recuperezi spațiu fără să strici logica asistentului. OpenClaw gestionează asta prin Context Engine. Context Engine-ul gestionează întregul flow de mesaje dintre user și model. În interiorul acestui engine, există un punct specific de lifecycle numit compact. Această fază acționează ca o supapă de siguranță automată pentru context overflow. Engine-ul monitorizează activ consumul de token-uri din conversația curentă. Tu definești un prag maxim de token-uri în configurația ta. Cât timp conversația rămâne sub acest prag, mesajele trec normal. Când token count-ul se apropie de limită, engine-ul declanșează automat un memory flush prin punctul de lifecycle compact. Când se declanșează acest flush, sistemul împarte istoricul mesajelor în două secțiuni. Separă cele mai recente mesaje de mesajele mai vechi, istorice. Mesajele recente rămân complet intacte. Engine-ul păstrează formularea exactă a schimbului imediat de replici, astfel încât agentul să nu-și piardă șirul gândurilor sau sintaxa exactă a funcției la care lucrezi activ. Iată ideea cheie. Mesajele mai vechi nu sunt aruncate. În schimb, sunt direcționate către un proces secundar de sumarizare. Acest proces citește grosul conversației inițiale și îl condensează într-un text scurt de rezumat. Acest text captează obiectivele inițiale, deciziile de arhitectură luate la început și orice reguli stabilite, eliminând în același timp umplutura conversațională și iterațiile învechite de cod. Engine-ul restructurează apoi memoria activă. Înlocuiește blocul mare de mesaje brute mai vechi cu acest singur bloc de rezumat. Noul prompt structurat conține mai întâi blocul de rezumat, urmat de mesajele recente ad litteram. Token count-ul total scade drastic. Agentul înțelege în continuare contextul istoric citind rezumatul și poate continua să execute task-ul activ citind mesajele recente. Conversația continuă fără probleme, fără nicio intervenție manuală. Managementul eficient al contextului nu înseamnă să reții fiecare cuvânt exact pe care l-ai tastat, ci să comprimi sistematic trecutul, astfel încât agentul să aibă spațiu maxim pentru a raționa despre prezent. Asta e tot pentru acest episod. Îți mulțumesc că m-ai ascultat și keep building!
6

Securitate și Trust Boundaries

3m 29s

Înțelege modelul de trust OpenClaw. Ascultătorii vor afla de ce este un gateway pentru asistenți personali mai degrabă decât un sandbox multi-tenant și cum să îl securizeze.

Descarcă
Salut, sunt Alex de la DEV STORIES DOT EU. OpenClaw Gateway, episodul 6 din 11. Să pui un AI într-un workspace de Slack partajat, cu acces la terminal, sună a incident de securitate garantat, asta dacă nu definești strict cine are voie să-i spună ce să facă. Astăzi discutăm despre securitate și trust boundaries. Regula fundamentală a OpenClaw Gateway este că funcționează pe un trust model de tip asistent personal. Mulți developeri presupun că gateway-urile AI vin cu o autorizare complexă la nivel de user, built-in. OpenClaw nu are așa ceva. OpenClaw nu este conceput pentru izolare ostilă multi-tenant. Nu încearcă să separe în siguranță userii malițioși unii de alții pe o singură instanță partajată. În schimb, întregul Gateway acționează ca un singur boundary care reprezintă un singur operator de încredere. Sistemul presupune că oricine poate comunica cu Gateway-ul este autorizat să acționeze în numele owner-ului. Gândește-te la asta ca la un workstation deblocat. Dacă instanța ta OpenClaw este configurată cu un tool care modifică infrastructura, oricine poate vorbi cu acea instanță poate declanșa acea modificare. Modelul AI în sine nu are conceptul de user roles sau access tokens. El vede doar un stream de text primit. Asta ne aduce la riscul serios al canalelor partajate. Dacă îți conectezi Gateway-ul la un grup public de Telegram sau la un canal de Slack al unei echipe mari, absolut fiecare user din acel canal este acum în trust boundary-ul tău. AI-ul tratează fiecare mesaj pe care îl citește ca pe o instrucțiune validă. Dacă un user extern scrie un atac de tip prompt injection în chat, el deturnează autoritatea delegată a tool-urilor botului tău. Gateway-ul nu poate face diferența între tine cerând un system status și un atacator care păcălește modelul să ruleze un shell script distructiv. Autoritatea aparține botului, dar controlul aparține celui care dă promptul. Dacă ai o conexiune expusă, cum ar fi un bot de Telegram, trebuie să o securizezi. În primul rând, dezactivează elevated tools pentru acel profil specific de Gateway. Nu îi da unui bot accesibil public acces la file system-ul tău local sau la API-uri interne sensibile. Păstrează-i toolset-ul limitat la acțiuni read-only sau inofensive. În al doilea rând, restricționează communication layer-ul. Configurează conexiunea să accepte doar direct messages de la anumiți useri asociați, ignorând complet group chat-urile și străinii. Limitând cine poate introduce text și ce tool-uri poate executa botul, securizezi boundary-ul. Ca să verifici că nu ai lăsat o ușă deschisă, folosește utilitarul built-in din command line. Rulează comanda openclaw security audit. Acest tool îți scanează configurația activă de Gateway și verifică două riscuri principale. În primul rând, îți verifică network exposure-ul. Te va avertiza dacă instanța ta ascultă pe interfețe publice, în loc să fie legată în siguranță de localhost. În al doilea rând, semnalează tool-urile permisive. Auditul te va alerta dacă ai capabilități cu risc ridicat, cum ar fi arbitrary code execution, activate în același timp cu integrări de public chat. Iată ideea de bază. Boundary-ul securității sistemului tău este exact boundary-ul celor care pot trimite text către modelele tale. Dacă nu poți limita publicul, trebuie să limitezi tool-urile. Mulțumesc că ai petrecut câteva minute cu mine. Până data viitoare, numai bine.
7

Exec Tool și Runtime Approvals

3m 57s

Explorează modul în care agentul interacționează în siguranță cu sistemul tău de fișiere și shell-ul. Discutăm despre exec tool, safe binaries și fluxurile de aprobare explicită.

Descarcă
Salut, sunt Alex de la DEV STORIES DOT EU. OpenClaw Gateway, episodul 7 din 11. Să-i dai unui model AI acces brut la command-line sună ca o cale rapidă spre un sistem distrus. Dar cum ar fi dacă agentul ar putea rula automat comenzi inofensive de data-parsing, cerându-ți explicit permisiunea înainte să atingă ceva distructiv? Exec Tool și Runtime Approvals gestionează exact acest echilibru. Exec Tool îi permite unui agent OpenClaw să ruleze comenzi shell pentru a interacționa cu sistemul. Când agentul decide că trebuie să execute o comandă, targetează fie direct mașina host, fie un container sandbox desemnat. Folosirea unui container sandbox limitează blast radius-ul pentru execuția generală. Totuși, uneori agentul chiar are nevoie să interacționeze cu file system-ul tău local, să-ți citească log-urile locale sau să pornească procese locale. Rularea comenzilor pe host este puternică, exact motivul pentru care există modelul de autorizare. OpenClaw folosește un sistem de autorizare pe două niveluri, ca să te mențină în control fără să încetinească agentul inutil. Primul nivel se bazează pe safe bins. Acestea sunt binare specifice pe care le pui explicit pe whitelist ca fiind inofensive, cum ar fi jq pentru parsarea de JSON sau grep pentru căutarea în text. Dacă agentul apelează o comandă care folosește doar aceste safe bins, Gateway-ul o execută imediat. Nu există prompt-uri, iar agentul își menține momentumul. Al doilea nivel prinde tot restul. Dacă agentul încearcă o execuție completă de shell sau încearcă să folosească un binar care nu e pe safe list, Gateway-ul interceptează request-ul. Oprește agentul și declanșează sistemul de runtime approvals. Un prompt apare în UI-ul tău Gateway sau în companion app. Poți să revizuiești exact command string-ul pe care vrea să-l ruleze agentul. Dacă aprobi, Gateway-ul execută comanda și returnează output-ul către agent. Dacă o respingi, comanda nu rulează niciodată. În schimb, agentul primește o eroare de execution denied și trebuie să găsească altă cale de a continua sau să-ți ceară clarificări. Iată ideea de bază despre cum funcționează asta în practică. Să zicem că agentul trebuie să analizeze un log file masiv. Apelează grep ca să extragă erorile. Asta rulează instant. Apoi, trebuie să compileze proiectul, așa că încearcă să ruleze npm run build ca background process. Gateway-ul oprește agentul și îți dă un ping pe companion app. Citești comanda, îți dai seama că are sens și dai approve. Build-ul începe în background. Mai târziu, agentul decide să facă un clean up încercând să șteargă un source file. Gateway-ul îți dă ping din nou. Tu dai deny la request. Fișierul tău rămâne neatins, iar agentul învață că nu are permisiune pentru acea acțiune. Există o constrângere strictă de securitate pe care trebuie să o știi când execuți pe host. Gateway-ul respinge explicit orice încercare de a face override la variabila de environment path. Asta previne hijacking-ul. Fără acest block, un prompt malițios ar putea păcăli agentul să redefinească path-ul, făcând ca un nume de safe bin precum grep să execute un script distructiv ascuns într-un alt folder. Pentru că path-ul este blocat, lista de safe bins rămâne absolută. Adevărata putere a Exec Tool nu e doar că AI-ul poate rula comenzi, ci că modelul de securitate pe niveluri forțează un om în loop doar atunci când miza este mare, lăsând agentul complet autonom pentru munca de rutină. Dacă vrei să ajuți la continuarea show-ului, poți căuta DevStoriesEU pe Patreon. Asta e tot pentru acest episod. Mulțumesc că m-ai ascultat și keep building!
8

Învățarea Agenților folosind Skills

3m 55s

Află cum să extinzi capabilitățile agentului tău fără a scrie cod. Explorăm formatarea AgentSkills, load-time gating și ClawHub.

Descarcă
Salut, sunt Alex de la DEV STORIES DOT EU. OpenClaw Gateway, episodul 8 din 11. Vrei ca agentul tău să manipuleze imagini folosind un tool din command-line. De obicei, asta înseamnă să scrii wrappere Python, să definești scheme și să speri că language model-ul înțelege parametrii. Dar nu ai de fapt nevoie de cod ca să înveți un AI o nouă capabilitate. Ai nevoie doar de un fișier text. Astăzi, ne concentrăm pe cum să învățăm agenții folosind Skills în OpenClaw. Un Skill în OpenClaw este în esență un manual de instrucțiuni. Este un fișier plain text numit SKILL dot md, formatat folosind standardul AgentSkills. Nu este un binar compilat și nu este un script Python. Este un document Markdown care îi spune agentului exact cum să orchestreze tool-urile existente. În interiorul acestui fișier, scrii instrucțiuni pas cu pas. Definești scopul acelui skill, tool-urile pe care le folosește și secvența de acțiuni pe care agentul trebuie să le facă. Dacă construiești un skill de procesare a imaginilor numit image-lab, fișierul tău SKILL dot md va explica cum să formatezi argumentele din command-line pentru a face resize sau crop la o imagine. Agentul citește acest fișier și traduce instrucțiunile tale din engleză în execuții precise în command-line. Un skill este inutil dacă tool-ul de bază lipsește din sistem. OpenClaw previne erorile aici folosind load-time gating. Asta îți permite să definești prerequisites, astfel încât agentul tău să nu încerce niciodată să folosească un software care nu este instalat. Gestionezi asta declarând requirements în configurația acelui skill. Pentru skill-ul image-lab, s-ar putea să ai nevoie de un anumit package manager pentru a rula comenzile. Specifici asta folosind proprietatea requires dot bins, listând numele executabilului, cum ar fi uv. De asemenea, poți cere anumite environment variables folosind proprietatea requires dot env, care se asigură că un API key sau un configuration path este prezent înainte ca skill-ul să se activeze. Când OpenClaw pornește, evaluează aceste gates. Verifică environment-ul local pentru binarul uv și orice variabile cerute. Dacă lipsesc, OpenClaw dă skip silențios la skill. Sistemul nu va da crash și agentul nu va halucina comenzi nesuportate. Pur și simplu funcționează fără capabilitățile image-lab. Iată ideea cheie. OpenClaw trebuie să livreze aceste skills valide către language model într-un mod eficient. Ia toate acele skills care au trecut de load-time checks și le compilează într-o listă XML compactă. Acest bloc XML este injectat direct în system prompt-ul agentului. Language models sunt foarte optimizate pentru a face parsing la tag-uri XML. Formatând manualul de instrucțiuni în acest fel, agentul își separă clar persona de bază de logica strictă, pas cu pas, definită în skill-urile tale. Nu trebuie să scrii fiecare skill tu însuți. OpenClaw se integrează cu ClawHub, registry-ul oficial pentru skills construite de comunitate. Dacă ai nevoie ca agentul tău să opereze o anumită bază de date sau un utilitar de cloud, poți căuta pe ClawHub și poți instala un skill existent. Acesta se descarcă în environment-ul tău, trece prin aceleași load-time checks și se injectează automat în system prompt. Cel mai valoros aspect al arhitecturii de Skills este decuplarea capabilității de cod. Poți să faci rewire complet la modul în care agentul tău rezolvă probleme complexe multi-step, doar editând un fișier Markdown, fără să modifici vreodată logica aplicației sau să compilezi un build nou. Îți mulțumesc că ai petrecut câteva minute cu mine. Până data viitoare, numai bine.
9

Managed Browser Tool

3m 22s

Descoperă cum OpenClaw oferă agenților ochi pe web. Ascultătorii vor învăța despre profilurile Chromium izolate și existing-session MCPs.

Descarcă
Salut, sunt Alex de la DEV STORIES DOT EU. OpenClaw Gateway, episodul 9 din 11. Agentul tău încearcă să extragă date dintr-o pagină web, dar nu face doar parsing pe HTML brut. Trebuie să randeze un dashboard React dinamic, să dea click pe un buton și să aștepte să se încarce un chart. Trebuie să-i oferi agentului o interfață web complet funcțională, dar în niciun caz nu vrei să-ți încurce propriile tab-uri deschise sau să-ți preia controlul asupra mouse-ului. Managed Browser Tool se ocupă exact de acest lucru. Acest tool îi oferă agentului tău posibilitatea să dea click, să tasteze, să navigheze și să captureze vizual exact ceea ce ar vedea un om. Rulează un mediu de browser real pentru a interacționa cu aplicații randate client-side, ocolind limitările unor simple request-uri HTTP. Pentru a-ți menține workspace-ul în siguranță, Managed Browser Tool folosește diferite profiluri operaționale. Cel default este profilul izolat openclaw. Când agentul folosește acest profil, tool-ul pornește o instanță de Chromium complet separată și dedicată. Are propriile cookie-uri, propriul local storage și propriul istoric gol. Agentul navighează în propriul său browser dedicat. Poate să completeze formulare și să dea click prin meniuri fără să se atingă vreodată de sesiunea ta personală de Chrome. Totuși, există momente când un agent are nevoie de acces la tool-uri interne unde ești deja autentificat. Pentru asta, tool-ul oferă profilul user. În loc să pornească o instanță goală, profilul user se atașează la sesiunea ta de Chrome existentă, în care ești deja logat. Se conectează prin DevTools Protocol, prin intermediul Model Context Protocol. Asta îi permite agentului să folosească token-urile tale de login active pentru acel task specific, fără să fie nevoie să-i pasezi credențialele direct AI-ului. Iată ideea cheie. Să-i dai unui agent AI un browser automatizat în environment-ul tău introduce riscuri imediate de securitate. Pentru a mitiga asta, controlul asupra Managed Browser Tool este strict loopback-only. Agentul comunică cu browser-ul exclusiv prin interfața de loopback locală. Mai important, fiecare request de navigare este protejat de politica Server-Side Request Forgery. Această politică se asigură că agentul nu își poate folosi instanța de browser ca proxy pentru a scana silențios porturile din rețeaua ta locală sau pentru a accesa servicii interne neautorizate. Gândește-te la scenariul cu dashboard-ul React. Mai întâi, agentul dă o comandă pentru a porni browser-ul folosind profilul izolat default. Navighează la URL-ul dashboard-ului și așteaptă activ ca acele componente JavaScript să facă mount și DOM-ul să se stabilizeze. Apoi, localizează elementul specific al chart-ului folosind un selector CSS și declanșează un click event pentru a extinde vizualizarea. În final, dă o comandă de screenshot. Browser-ul capturează frame-ul randat și returnează image buffer-ul direct înapoi către gateway. Să-i dai unui agent un browser nu ar trebui să însemne niciodată să-i predai cheile de la rețeaua ta internă sau de la sesiunea ta personală de Chrome. Managed Browser Tool menține agentul extrem de capabil, dar strict izolat. Atât pentru episodul ăsta. Ne auzim data viitoare!
10

Sub-Agenți Efemeri

3m 53s

Du orchestrarea la nivelul următor prin lansarea de background workers. Discutăm despre tool-ul sessions_spawn, nesting depth și anunțarea rezultatelor.

Descarcă
Salut, sunt Alex de la DEV STORIES DOT EU. OpenClaw Gateway, episodul 10 din 11. Îi ceri AI-ului tău să facă scrape pe un website complex sau să proceseze mii de linii de log, și apoi pur și simplu stai acolo. Te uiți la un spinner timp de zece minute, fără să poți pune o altă întrebare până când task-ul nu se termină. Pentru a repara această problemă blocantă, folosești Ephemeral Sub-Agents. Un sub-agent efemer este un background worker temporar și izolat. În loc să facă el însuși procesarea grea, agentul tău principal de chat deleagă munca. Face asta folosind un system tool specific numit sessions spawn. Când agentul principal întâlnește un task masiv, declanșează acest tool. Acesta îi dă mai departe un prompt clar, orice fișiere de context necesare și instrucțiunile specifice pentru job. Această acțiune creează o sesiune de chat complet nouă, invizibilă, care rulează în întregime în background. Pentru că această sesiune este izolată, agentul tău principal este eliberat imediat. Poți continua să vorbești cu asistentul tău principal, să pui întrebări fără legătură sau să îi atribui mai multe task-uri în timp ce sub-agentul procesează datele grele, departe de ochii tăi. Hai să ne uităm la un scenariu concret. Arunci un server error log masiv în chat-ul principal și ceri un security audit. Procesarea acelui log linie cu linie cu LLM-ul tău principal și puternic durează mult timp și consumă o mulțime de tokens scumpi. În schimb, agentul tău principal deleagă job-ul. Iată ideea cheie. Atunci când apelează sessions spawn, agentul principal poate specifica un model complet diferit pentru background task. Poate atribui un LLM mai ieftin și mai rapid sub-agentului. Acest background worker folosește modelul mai rapid pentru a trece prin analiza repetitivă a log-urilor. Agentul principal rămâne responsiv folosind modelul inteligent, în timp ce sub-agentul face grunt work-ul folosind modelul rapid. Când sub-agentul termină în sfârșit de făcut parsing pe acele log-uri, are nevoie de o modalitate de a returna datele. Face asta anunțându-și rezultatul final mai sus pe chain. Sub-agentul ia rezumatul compilat și injectează un mesaj direct înapoi în chat-ul original. Pur și simplu vezi un mesaj nou care apare de la sub-agent cu analiza log-urilor finalizată, gata pentru a fi discutată de tine și de agentul principal. Această arhitectură este cunoscută sub numele de orchestrator pattern și se bazează pe reguli privind nesting depth. Scenariul pe care tocmai l-am acoperit este nesting depth unu. User-ul vorbește cu agentul principal, iar agentul principal face spawn la un sub-agent. OpenClaw suportă, de asemenea, nesting depth doi. Într-un scenariu de depth doi, sub-agentul tău de log-parsing ar putea întâlni un payload puternic encodat în log-uri. Acesta poate apoi să facă spawn la propriul său sub-agent doar pentru a decoda acel payload specific. Acel agent de nivel doi decodează textul, îl dă înapoi primului sub-agent, care apoi finalizează analiza log-urilor și raportează înapoi în chat-ul tău principal. Sistemul limitează strict acest lucru la depth doi. Acest hard limit previne acele runaway recursive loops în care agenții fac spawn continuu la alți agenți la nesfârșit, epuizându-ți resursele de compute. Sub-agenții efemeri schimbă fundamental modul în care interacționezi cu o interfață de prompt. Încetezi să îți tratezi LLM-ul ca pe un singur thread blocat și începi să-l tratezi ca pe un asynchronous task manager. Cam atât pentru episodul ăsta. Ne vedem data viitoare!
11

Workflow-uri de Automatizare Proactivă

4m 05s

Transformă-ți bot-ul reactiv într-un asistent proactiv. Ascultătorii vor învăța cum să combine Heartbeats, Cron jobs și Hooks pentru o automatizare puternică.

Descarcă
Salut, sunt Alex de la DEV STORIES DOT EU. OpenClaw Gateway, episodul 11 din 11. Un asistent adevărat nu stă pur și simplu degeaba așteptând să tastezi o comandă. Verifică proactiv sistemele tale și te avertizează atunci când ceva chiar are nevoie de atenția ta. Trecerea de la un loop reactiv de prompt și răspuns la un agent autonom necesită mecanisme specifice de scheduling și execuție. Asta ne aduce la workflow-uri de automatizare proactivă. OpenClaw gestionează automatizarea bazată pe timp folosind două mecanisme distincte. Primul este Heartbeat. Al doilea este Cron. Inginerii le confundă adesea, deoarece ambele declanșează automat acțiuni în funcție de timp, dar au roluri arhitecturale complet diferite în ceea ce privește state-ul și izolarea sesiunii. Heartbeat este un loop periodic care rulează continuu în cadrul sesiunii tale principale, active. Este conceput pentru verificări de rutină, continue, în care contextul tău curent contează. Iată ideea de bază. Pentru că Heartbeat operează în interiorul sesiunii tale curente, are acces direct la interfața ta activă. Gândește-te la un scenariu în care vrei să îți monitorizezi inbox-ul pentru mesaje urgente. Configurezi un Heartbeat să execute o verificare la fiecare treizeci de minute. Dacă detectează un email critic, Heartbeat poate da push imediat unei alerte în limbaj natural direct în stream-ul tău activ de conversație. Acționează ca un background thread continuu, atașat de user state-ul tău curent, permițând întreruperi imediate, contextuale. Cron funcționează complet diferit. Este construit pentru job-uri precise, programate, care necesită izolare completă. Dacă vrei ca sistemul să compileze un briefing zilnic cuprinzător de dimineață din diverse surse de date la exact șase dimineața, folosești Cron. Când se declanșează un schedule Cron, OpenClaw nu folosește chat-ul tău activ. În schimb, dă spin up unei sesiuni de background complet izolate. Face pull la datele necesare, procesează în liniște partea grea de analiză și face track la întregul job intern ca un Background Task. Asta înseamnă că procesarea grea nu poluează context window-ul chat-ului tău activ de pe desktop. Odată ce job-ul se termină, briefing-ul finalizat este stocat și gata să fie preluat de tine când te loghezi. Heartbeat face share la state cu tine, în timp ce Cron rulează headless și izolat. Trigger-ele bazate pe timp sunt doar o parte din workflow. OpenClaw se bazează pe Hooks și Standing Orders ca tool-uri complementare pentru a completa loop-ul de automatizare. În timp ce Heartbeat și Cron dictează când se întâmplă o acțiune pe baza unui ceas, Hooks gestionează trigger-ele externe, event-driven. Un Hook expune un endpoint de listening pe care sistemele externe îl pot apela. Dacă un server log critic indică un failure, un sistem extern poate da hit unui Hook OpenClaw, trezind asistentul ca să analizeze eroarea imediat, fără să aștepte următorul puls programat de Heartbeat. Standing Orders oferă regulile operaționale persistente pentru toate aceste run-uri autonome. Când acel job Cron izolat se trezește la șase dimineața, nu este prezent niciun user care să îi ghideze output-ul. Standing Orders definesc formatul exact, profunzimea analitică și regulile de prioritate pe care asistentul trebuie să le respecte în timp ce lucrează complet independent. Combinând Heartbeat-uri periodice pentru monitorizare activă, job-uri Cron izolate pentru task-uri programate grele și Standing Orders persistente pentru a guverna comportamentul neghidat, schimbi fundamental natura aplicației. Te oprești din a construi o simplă interfață de chat și începi să faci deploy la un asistent autonom adevărat. Din moment ce ăsta e ultimul episod din seria noastră OpenClaw, te încurajez mult să explorezi documentația oficială, să încerci să configurezi aceste background tasks hands-on, sau să vizitezi devstories dot eu ca să sugerezi subiecte pentru următoarea noastră serie. Mersi că ai petrecut câteva minute cu mine. Până data viitoare, numai bine.