
आपका एजेंट एक सुरक्षा जोखिम है, इसलिए इसे वैसे ही व्यवहार करें। yoloAI AI एजेंट सैंडबॉक्सिंग को सही तरीके से करता है।
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 आपके वास्तविक प्रोजेक्ट को पैच करता है जबकि व्यक्तिगत कमिट संरक्षित रहते हैं, और आपके मूल फ़ाइलें तब तक नहीं बदलतीं जब तक आप लागू नहीं करते।--network-isolated एजेंट के API एंडपॉइंट्स के साथ-साथ आपके द्वारा अनुमत डोमेन तक बाहरी यातायात को प्रतिबंधित करता है। --network-none नेटवर्क को पूरी तरह से हटा देता है।पूर्ण मॉडल के लिए सुरक्षा देखें, जिसमें ईमानदार सीमाएँ शामिल हैं।
नवीनतम रिलीज़ से अपने प्लेटफ़ॉर्म के लिए संग्रह डाउनलोड करें, 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 पैकेज भी प्रत्येक रिलीज़ से जुड़े होते हैं।
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
सैंडबॉक्सिंग
--env, --dir)।--cpus, --memory) और पोर्ट फ़ॉरवर्डिंग (--port)।clonefile), Linux फ़ाइल सिस्टम पर प्रति-फ़ाइल reflinks जो उनका समर्थन करते हैं (btrfs, XFS)। reflink के बिना फ़ाइल सिस्टम (ext4) को एक नियमित प्रति मिलती है।.gitignore सम्मानित: जो कुछ भी अनदेखा किया गया है उसे सैंडबॉक्स में नहीं कॉपी किया जाता है (डिस्क पर विकास क्रेडेंशियल के लिए सुरक्षा अभ्यास)।क्रेडेंशियल
वर्कफ़्लो
.patch फ़ाइलें निर्यात करें, ref द्वारा कमिट चुनें, या पहले --dry-run।yoloai run --prompt ... --rm, हर कमांड पर --json आउटपुट के साथ।एकीकरण
shell मोड।--vscode-tunnel)।yoloai mcp serve एक बाहरी एजेंट को सैंडबॉक्स को उपकरण के रूप में चलाने देता है; yoloai mcp proxy एक सैंडबॉक्स के अंदर MCP सर्वर चलाता है।yoloai x)।~/.yoloai/ में रहती है (--data-dir के साथ स्थानांतरित करने योग्य)।नोट: Tart एक पूर्ण macOS VM प्रदान करता है, जिससे आप सैंडबॉक्स के भीतर सिमुलेटर चला सकते हैं।
वैकल्पिक रूप से मजबूत अलगाव के लिए OCI रनटाइम को अपग्रेड करें। gVisor मोड docker और podman पर उपलब्ध हैं; VM मोड containerd बैकएंड के साथ आते हैं।
# सभी नए सैंडबॉक्स के लिए gVisor का उपयोग करें
yoloai config set isolation container-enhanced
# या प्रति सैंडबॉक्स
yoloai new task . --isolation container-enhanced
उपलब्ध एजेंटों को सूचीबद्ध करने के लिए yoloai system agents का उपयोग करें।
सार्वजनिक बीटा। मुख्य वर्कफ़्लो स्थिर है और दैनिक रूप से उपयोग किया जाता है; इंटरफ़ेस 0.x रिलीज़ के बीच बदल सकते हैं, और हर ब्रेकिंग परिवर्तन BREAKING-CHANGES में प्रलेखित है। प्रतिक्रिया का स्वागत है।
| बैकएंड | समर्थित होस्ट | निर्भरताएँ |
|---|
| docker | Linux, macOS, Windows (WSL2) | Docker Engine, Docker Desktop, या OrbStack |
| podman | Linux, macOS | Podman (macOS पर brew install podman) |
| containerd | Linux | Kata Containers |
| apple | macOS (Apple Silicon) | Apple Container |
| tart | macOS (Apple Silicon) | Tart (brew install cirruslabs/cli/tart) |
| seatbelt | macOS (कोई भी) | कोई नहीं (अंतर्निहित sandbox-exec का उपयोग करता है) |
| मोड | विवरण |
|---|
container | डिफ़ॉल्ट runc: मानक Linux नेमस्पेस और cgroups |
container-enhanced | उपयोगकर्ता-स्थान कर्नेल (gVisor/runsc): syscall अवरोधन, KVM की आवश्यकता नहीं |
container-privileged | सभी क्षमताएँ, seccomp/AppArmor अनियंत्रित। Docker-in-Docker और Compose के लिए उपयोग करें |
vm | Kata Containers (QEMU): हार्डवेयर VM अलगाव |
vm-enhanced | Kata + Firecracker microVM: हल्का VM अलगाव |
| मोड | विवरण |
|---|
claude | API कुंजी या सदस्यता क्रेडेंशियल के माध्यम से Claude Code चलाता है (डिफ़ॉल्ट) |
codex | API कुंजी या सदस्यता क्रेडेंशियल के माध्यम से Codex चलाता है |
gemini | API कुंजी या सदस्यता क्रेडेंशियल के माध्यम से Gemini CLI चलाता है |
aider | Aider चलाता है (आपका कॉन्फ़िगरेशन कॉपी किया जाता है) |
opencode | OpenCode चलाता है (आपका कॉन्फ़िगरेशन कॉपी किया जाता है) |
shell | सभी एजेंट क्रेडेंशियल के साथ एक tmux शेल चलाता है |
idle | MCP प्रॉक्सीिंग की अनुमति देने के लिए एक निष्क्रिय प्रक्रिया चलाता है |