
yoloai v0.11.0
आपका एजेंट एक सुरक्षा जोखिम है, इसलिए इसे वैसे ही व्यवहार करें। yoloAI AI एजेंट सैंडबॉक्सिंग को सही तरीके से करता है।
yoloAI
AI कोडिंग एजेंटों के लिए सैंडबॉक्स्ड रनर। कोई अनुमति थकान नहीं, बॉक्स में कोई क्रेडेंशियल नहीं, और जब तक आप उन्हें स्वीकृत नहीं करते, आपके प्रोजेक्ट में कोई बदलाव नहीं।
AI कोडिंग एजेंट सबसे अच्छा तब काम करते हैं जब सुरक्षा उपाय बंद हों, और यह उन्हें आपकी असली मशीन पर चलाने का एक भयानक तरीका है। yoloAI एजेंट को एक डिस्पोजेबल सैंडबॉक्स देता है जहाँ वह कुछ भी संपादित कर सकता है और कुछ भी चला सकता है, बिना निगरानी के। आपका प्रोजेक्ट, आपके क्रेडेंशियल, और आपका नेटवर्क आपके नियंत्रण में रहते हैं। जब एजेंट काम पूरा कर लेता है, तो diff की समीक्षा करें और जो आप रखना चाहते हैं उसे लागू करें।
You Sandbox Your project
│ │ │
├─ yoloai new fix-bug . ├─ sandbox copy of project │
│ │ │
├─ << your prompt(s) >> ├─ agent works freely │
│ │ (no permission prompts) │
│ │ │
├─ yoloai diff fix-bug ├─ shows what changed │
│ │ │
├─ yoloai apply fix-bug │ ├─ patches applied
│ (you choose which ones) │ │
│ │ │
├─ yoloai destroy fix-bug ├─ destroys sandbox │
क्यों?
अनुमति संकेत इसलिए मौजूद हैं क्योंकि एजेंट गलतियाँ करते हैं। सौवें स्वीकृत/अस्वीकृत के बाद आप उन्हें पढ़ना बंद कर देते हैं, और --dangerously-skip-permissions एक भ्रमित एजेंट से एक बहुत बुरे दिन की दूरी पर है। yoloAI विस्फोट त्रिज्या को तब तक छोटा करता है जब तक कि संकेत अनावश्यक न हों:
- आपकी फ़ाइलें सुरक्षित हैं। एजेंट आपके प्रोजेक्ट की एक अलग प्रति पर काम करता है।
diffदिखाता है कि वास्तव में क्या बदला,applyआपके वास्तविक प्रोजेक्ट को पैच करता है जबकि व्यक्तिगत कमिट संरक्षित रहते हैं, और आपके मूल फ़ाइलें तब तक नहीं बदलतीं जब तक आप लागू नहीं करते। - आपके रहस्य सुरक्षित हैं। सैंडबॉक्स एक न्यूनतम, स्थानीय रूप से निर्मित वातावरण से शुरू होता है; होस्ट पर्यावरण चर होस्ट पर ही रहते हैं। क्रेडेंशियल केवल-पढ़ने के लिए फ़ाइल माउंट के रूप में आते हैं, कभी भी पर्यावरण चर के रूप में नहीं। जहाँ क्रेडेंशियल ब्रोकरिंग लागू होती है (Claude, Gemini, और Codex आज, डिफ़ॉल्ट रूप से चालू), API कुंजी पूरी तरह से होस्ट-साइड रहती है: एक स्थानीय प्रॉक्सी इसे प्रदाता के रास्ते में इंजेक्ट करता है, इसलिए एक पूरी तरह से समझौता किया गया एजेंट भी निकालने के लिए कुछ नहीं रखता।
- आपका नेटवर्क आपका है।
--network-isolatedएजेंट के API एंडपॉइंट्स के साथ-साथ आपके द्वारा अनुमत डोमेन तक बाहरी यातायात को प्रतिबंधित करता है।--network-noneनेटवर्क को पूरी तरह से हटा देता है। - आपकी मशीन अलग है। अपना आराम स्तर चुनें, Linux नेमस्पेस से लेकर gVisor से लेकर हार्डवेयर VM तक।
पूर्ण मॉडल के लिए सुरक्षा देखें, जिसमें ईमानदार सीमाएँ शामिल हैं।
स्थापना
पूर्व-निर्मित बाइनरी (अनुशंसित)
नवीनतम रिलीज़ से अपने प्लेटफ़ॉर्म के लिए संग्रह डाउनलोड करें, yoloai बाइनरी निकालें, और इसे अपने PATH पर रखें:
# Linux x86-64 (आवश्यकता अनुसार linux_arm64 / darwin_amd64 / darwin_arm64 बदलें)।
# VERSION को ऊपर लिंक किए गए नवीनतम-रिलीज़ पृष्ठ पर दिखाए गए टैग पर सेट करें, बिना
# अग्रणी "v" के — उदा. टैग v1.2.3 के लिए VERSION=1.2.3।
VERSION=X.Y.Z
curl -fsSL "https://github.com/kstenerud/yoloai/releases/download/v${VERSION}/yoloai_${VERSION}_linux_amd64.tar.gz" \
| tar -xz yoloai
sudo install yoloai /usr/local/bin/
प्रत्येक संग्रह में शेल पूर्णताएँ, LICENSE, और परिवर्तन लॉग भी शामिल हैं। रिलीज़ cosign (checksums.txt) के साथ हस्ताक्षरित हैं और GitHub बिल्ड प्रोवेनेंस (gh attestation verify yoloai_… --repo kstenerud/yoloai) रखते हैं। Debian/RPM पैकेज भी प्रत्येक रिलीज़ से जुड़े होते हैं।
Homebrew (macOS / Linux)
brew install --cask kstenerud/tap/yoloai
go install का उपयोग करना
# नवीनतम रिलीज़
go install github.com/kstenerud/yoloai/cmd/yoloai@latest
# नवीनतम विकास संस्करण (अस्थिर)
go install github.com/kstenerud/yoloai/cmd/yoloai@main
Go 1.26+ की आवश्यकता है। बाइनरी $GOPATH/bin में रखी जाती है (आमतौर पर ~/go/bin)।
स्रोत से
git clone https://github.com/kstenerud/yoloai.git
cd yoloai
git checkout "$(git describe --tags --abbrev=0)" # नवीनतम रिलीज़ टैग; या विकास संस्करण के लिए main पर रहें
make build
sudo install yoloai /usr/local/bin/
यह एक एकल Go बाइनरी है जिसमें आपके चुने हुए बैकएंड के अलावा कोई रनटाइम निर्भरता नहीं है। पहली बार चलाने पर, yoloAI अपनी आधार छवि बनाता है और ~/.yoloai/ (या जिस भी निर्देशिका को आप --data-dir की ओर इंगित करते हैं) बनाता है।
त्वरित प्रारंभ
गैर-संवादात्मक
# प्रमाणीकरण (yoloAI मौजूदा क्रेडेंशियल स्वचालित रूप से उठाता है)
export ANTHROPIC_API_KEY=sk-ant-... # Claude Code
export GEMINI_API_KEY=... # Gemini CLI
# या बस इसे अपने पहले से प्रमाणित सत्र को उठाने दें
# 1. एक सैंडबॉक्स स्पिन करें। जब आप एक प्रॉम्प्ट देते हैं तो एजेंट तुरंत काम शुरू कर देता है
yoloai new fix-bug ./my-project --prompt "fix the failing tests"
# 2. देखें कि एजेंट ने क्या बदला
yoloai diff fix-bug
# 3. अच्छे हिस्सों को अपने वास्तविक प्रोजेक्ट पर लागू करें
yoloai apply fix-bug
# 4. सैंडबॉक्स को फेंक दें
yoloai destroy fix-bug
संवादात्मक
yoloai new exploration ./my-project -a
# आप एजेंट के अंदर हैं, सैंडबॉक्स में tmux में चल रहे हैं।
# अलग करने के लिए Ctrl-B, D।
# पुनः कनेक्ट करने के लिए yoloai attach exploration।
पुनरावृत्ति
लंबे सत्रों के लिए, एक लूप में काम करें: एजेंट को बताएं कि वह जाते समय कमिट करे, और जब भी आप पूर्ण कमिट को अपने वास्तविक प्रोजेक्ट में खींचना चाहें तो दूसरे टर्मिनल से yoloai apply चलाएँ। प्रत्येक apply केवल पिछले एक के बाद से नए कमिट लाता है। जब आप परिणाम से खुश हों, तो हमेशा की तरह push करें और सैंडबॉक्स को नष्ट कर दें। पूर्ण वर्कफ़्लो के लिए उपयोग गाइड देखें।
डेमो
एक सैंडबॉक्स बनाना, एजेंट को प्रॉम्प्ट करना, और परिणाम लागू करना:
https://github.com/user-attachments/assets/9d6740b4-a34e-4253-82ec-cb0e4c7a8bd9
विशेषताएँ
सैंडबॉक्सिंग
- छह बैकएंड: Docker, Podman, containerd (Kata), Apple Container, Tart, और Seatbelt। Linux, macOS, और Windows (WSL2) पर चलता है।
- प्रति सैंडबॉक्स चयन योग्य अलगाव शक्ति, runc से gVisor से लेकर Kata VM (QEMU या Firecracker) तक।
- प्रति सैंडबॉक्स नेटवर्क नीति: खुला, अनुमत सूची, या कोई नहीं।
- सैंडबॉक्स के अंदर न्यूनतम वातावरण। होस्ट से कुछ भी एक स्पष्ट ऑप्ट-इन है (
--env,--dir)। - संसाधन सीमाएँ (
--cpus,--memory) और पोर्ट फ़ॉरवर्डिंग (--port)। - सस्ती workdir प्रतियाँ: macOS पर पूरे-पेड़ क्लोन (APFS
clonefile), Linux फ़ाइल सिस्टम पर प्रति-फ़ाइल reflinks जो उनका समर्थन करते हैं (btrfs, XFS)। reflink के बिना फ़ाइल सिस्टम (ext4) को एक नियमित प्रति मिलती है। .gitignoreसम्मानित: जो कुछ भी अनदेखा किया गया है उसे सैंडबॉक्स में नहीं कॉपी किया जाता है (डिस्क पर विकास क्रेडेंशियल के लिए सुरक्षा अभ्यास)।
क्रेडेंशियल