A Vercel Sandbox már futó parancsoknak is tud bemenetet küldeni

A Vercel Sandbox mostantól lehetővé teszi, hogy a fejlesztők futás közben adatot küldjenek a parancsok standard bemenetére, vagyis stdin csatornájára. A funkció használható stdio MCP-szerverekkel, például az agent-browserrel, és más parancssori programokkal is.
- A Vercel Sandbox futó parancsok stdin bemenetére is tud adatot küldeni.
- A TypeScript SDK-ban a writeStdin() és closeStdin() metódusok kezelik a bemenetet.
- A Python SDK a subprocess.PIPE és a server.stdin.send() használatát támogatja.
- A funkció stdio MCP-szerverekkel, például az agent-browserrel is használható.
Futó folyamatokkal is kommunikálhat a Sandbox
A Vercel október 26-i közleménye szerint a Sandbox új lehetőséget kapott a futó parancsok kezelésére. A fejlesztők mostantól nem csak elindíthatnak egy parancsot, hanem annak futása közben is küldhetnek adatot a standard bemenetre, majd beolvashatják a folyamat kimenetét.
A Vercel ezt olyan felhasználási esetekhez kapcsolja, amikor egy program folyamatosan vár bemenetre. Ilyenek lehetnek a stdio MCP-szerverek, köztük az agent-browser, valamint más parancssori alkalmazások. A vállalat szerint a megoldás üzenetek cseréjére is használható ezekkel a folyamatokkal.
Így működik a TypeScript SDK-ban
A TypeScript SDK-ban a runCommand() hívásnál a stdin: true és a detached: true beállításokat kell megadni. Ezután a futó parancsnak a writeStdin() metódussal lehet adatot küldeni, a bemenet lezárására pedig a closeStdin() használható.
A Vercel példája egy cat parancsot indít el a Sandboxban. A kód a writeStdin('hello') hívással küld szöveget a folyamatnak, majd lezárja a bemenetet. A wait() megvárja a parancs befejezését, a standard kimenet kiolvasása pedig a példában a „hello” értéket adja vissza.
A stdin értékeként Node.js-féle olvasható adatfolyam, például a process.stdin is megadható. Az SDK továbbítja az adatfolyam adatait, majd lezárja a parancs standard bemenetét, amikor az adatfolyam véget ér.
Pythonban csővezetéken keresztül küldhető az adat
A Python SDK-ban a folyamat létrehozásakor a stdin=subprocess.PIPE beállítást kell használni. A futó szerver bemenetére a server.stdin.send() metódussal lehet adatot küldeni. A Vercel példakódja egy cat folyamatnak küld „ping” sort, majd a standard kimenetről olvas.
A communicate() hívás lezárja a standard bemenetet, összegyűjti a fennmaradó kimenetet, és megvárja a folyamat kilépését. Ha egy parancs egyszerre kapja meg a teljes bemenetét, az adat közvetlenül is átadható a Python SDK run_process() függvényének.
A fejlesztők a Sandbox dokumentációjában találják meg az induláshoz szükséges információkat. A Vercel közleményének közreműködője Amelia Charles volt.
Vercel: Vercel Sandbox commands now support stdin


