ब्लॉग · गाइड · 28 अक्टूबर 2026
Firecracker के साथ AEGIS को सेल्फ़-होस्ट करना: डॉक्स में लिखा सेटअप, और आज क्या चलता है
खुलासा: AEGIS को 100monkeys.ai बनाता है, इसलिए इस गाइड को निर्माता का विवरण मानकर पढ़ें। इसका मसौदा हमारे एक AI एजेंट ने AEGIS के सार्वजनिक दस्तावेज़ों से तैयार किया, मुख्यतः Firecracker Deployment, What are Agents?, Infrastructure Requirements और Podman Deployment, और कंपनी ने इसकी समीक्षा की; यह हिन्दी संस्करण मूल अंग्रेज़ी गाइड का अनुवाद है। हर कमांड और कॉन्फ़िगरेशन ब्लॉक उन्हीं पन्नों से कॉपी किया गया है। इस गाइड के लिए हमने उनमें से कोई भी नहीं चलाया।
AEGIS by 100monkeys.ai, in beta, स्वायत्त एजेंटों के लिए एक सेल्फ़-होस्टेड ऑर्केस्ट्रेटर है। इसके डॉक्स Firecracker microVM को मज़बूत प्रोडक्शन के आइसोलेशन के रूप में बताते हैं। हार्डवेयर ख़रीदने से पहले उस पन्ने की पहली पंक्ति पढ़ें: "Firecracker support is planned for a future release and is not yet available. The Docker and Podman runtimes are the current deployment targets." (Firecracker का समर्थन किसी भावी रिलीज़ के लिए योजना में है और अभी उपलब्ध नहीं है। Docker और Podman रनटाइम ही अभी के डिप्लॉयमेंट लक्ष्य हैं।) यह गाइड बताती है कि आप आज क्या कर सकते हैं: होस्ट जाँचना, योजनाबद्ध रनटाइम के लिए डॉक्स में लिखा कॉन्फ़िगरेशन पढ़ना, और Podman वाला रास्ता चलाना जो अभी उपलब्ध है।
Firecracker क्यों, डॉक्स के शब्दों में
"Docker containers share the host kernel: a container escape vulnerability could give a malicious prompt-injected agent code execution on the host. Firecracker provides hardware-level isolation via KVM." (Docker कंटेनर होस्ट का कर्नेल साझा करते हैं: कंटेनर से बाहर निकलने की कोई कमज़ोरी, prompt injection से भटकाए गए किसी दुर्भावनापूर्ण एजेंट को होस्ट पर कोड चलाने का मौक़ा दे सकती है। Firecracker KVM के ज़रिए हार्डवेयर स्तर का आइसोलेशन देता है।) पन्ने की तुलना हर एजेंट को "a dedicated guest kernel per agent" (हर एजेंट के लिए अलग guest कर्नेल) देती है, बाहर निकलने पर नुक़सान का दायरा "bounded to single microVM" (एक ही microVM तक सीमित), और virtio-fs पर स्टोरेज, "shared memory, no network" (साझा मेमोरी, कोई नेटवर्क नहीं), जबकि कंटेनर NFS इस्तेमाल करते हैं। बताई गई क़ीमत है लगभग 125 ms का बूट, कंटेनर के लगभग 100 ms के मुक़ाबले।
डिज़ाइन एजेंटों को हर रनटाइम में एक जैसा रखता है: "Switching a node from Docker to Podman or Firecracker requires only a config change: no agent manifest changes needed." (किसी नोड को Docker से Podman या Firecracker पर ले जाने के लिए सिर्फ़ कॉन्फ़िगरेशन बदलना होता है: एजेंट मैनिफ़ेस्ट में कोई बदलाव नहीं।) इसीलिए अभी की गई तैयारी बेकार नहीं जाती।
चरण 1. होस्ट पर KVM जाँचें
Firecracker को KVM चाहिए, जिसका मतलब डॉक्स के अनुसार है "bare-metal Linux servers with Intel VT-x or AMD-V CPU virtualization extensions" (Intel VT-x या AMD-V वर्चुअलाइज़ेशन एक्सटेंशन वाले bare-metal Linux सर्वर), या ऐसे क्लाउड इंस्टेंस जो bare metal हों या जिनमें nested virtualization हो। यह समर्थित नहीं है: "NOT supported on standard EC2 instances without bare-metal, most VMs (including standard VMs on most cloud providers), and macOS (Docker Desktop)." (bare metal के बिना सामान्य EC2 इंस्टेंस, ज़्यादातर VM, जिनमें ज़्यादातर क्लाउड प्रदाताओं की सामान्य VM भी शामिल हैं, और Docker Desktop वाले macOS पर समर्थित नहीं।) डॉक्स की जाँचें, कॉपी की हुई:
# Check for KVM device nodes
ls -la /dev/kvm
# Verify CPU virtualization extensions
grep -cw vmx /proc/cpuinfo # Intel (should return > 0)
grep -cw svm /proc/cpuinfo # AMD (should return > 0)
अगर किसी क्लाउड VM पर /dev/kvm नहीं है, तो Firecracker रनटाइम आने पर भी वह होस्ट उसे नहीं चलाएगा, उसमें बाक़ी चाहे जो हो।
चरण 2. कर्नेल जाँचें
uname -r चलाएँ और डॉक्स से मिलान करें। दो पन्ने दो न्यूनतम संस्करण बताते हैं: What are Agents? में "Bare-metal or KVM-passthrough host, Linux kernel 5.10+" (bare-metal या KVM-passthrough होस्ट, Linux कर्नेल 5.10 या नया) है, और Infrastructure Requirements में "Linux kernel 5.15+" के साथ "KVM support for Firecracker (planned later phase)" (Firecracker के लिए KVM समर्थन, बाद के चरण में योजनाबद्ध)। 5.15 या नए की योजना बनाएँ, तो दोनों शर्तें पूरी होंगी।
चरण 3. डॉक्स में लिखा कॉन्फ़िगरेशन पढ़ें
योजनाबद्ध रनटाइम aegis-config.yaml में runtime.firecracker के अंतर्गत कॉन्फ़िगर होता है। पन्ने का ब्लॉक, कॉपी किया हुआ:
runtime:
type: firecracker
firecracker:
# Path to the jailer binary
jailer_binary: /usr/local/bin/jailer
# Path to the Firecracker VMM binary
firecracker_binary: /usr/local/bin/firecracker
# User/group for the jailed process
uid: 65534 # nobody
gid: 65534
# Kernel image for microVMs
kernel_image_path: /opt/aegis/vmlinux
# Root filesystem for agent microVMs (minimal Linux + Python)
rootfs_path: /opt/aegis/agent-rootfs.ext4
# CPU and memory limits
vcpu_count: 2
mem_size_mib: 512
# cgroup version (v1 or v2)
cgroup_version: v2
इसे इस नज़र से पढ़ें कि यह होस्ट से क्या माँगता है: एक jailer और एक Firecracker बाइनरी, बिना विशेषाधिकार वाला uid और gid, एक guest कर्नेल इमेज, एजेंट का root फ़ाइल सिस्टम, और हर VM के लिए CPU और मेमोरी। jailer "drops privileges before starting the VMM" (VMM शुरू करने से पहले विशेषाधिकार छोड़ देता है): एक chroot जेल, पहले से बना tap इंटरफ़ेस और cgroup, और seccomp फ़िल्टर। हर microVM को अपना tap डिवाइस मिलता है, और "outbound traffic from the microVM is routed through the orchestrator proxy (SEAL), not directly to the internet." (microVM से बाहर जाने वाला ट्रैफ़िक सीधे इंटरनेट पर नहीं, ऑर्केस्ट्रेटर के प्रॉक्सी SEAL से होकर जाता है।)
यह ब्लॉक आज डिप्लॉय न करें। डॉक्स यह नहीं बताते कि कर्नेल इमेज और root फ़ाइल सिस्टम कहाँ से आते हैं, और उन्हें पढ़ने वाले रनटाइम को "in development" (विकास में) बताया गया है।
चरण 4. आज AEGIS को Podman पर चलाएँ
आज के प्रोडक्शन के लिए डॉक्स aegis-deploy रिपॉज़िटरी की ओर इशारा करते हैं: "aegis-deploy is the recommended production deployment path. It includes OpenBao (secrets management), TLS via Caddy, and full observability." (aegis-deploy प्रोडक्शन डिप्लॉयमेंट का सुझाया गया रास्ता है। इसमें सीक्रेट प्रबंधन के लिए OpenBao, Caddy के ज़रिए TLS और पूरी ऑब्ज़र्वेबिलिटी शामिल है।) इसका क्विक स्टार्ट, कॉपी किया हुआ:
# Clone the deployment repo
git clone https://github.com/100monkeys-ai/aegis-deploy.git
cd aegis-deploy
# Copy and edit environment configuration
cp .env.example .env
# Edit .env with your values (GHCR credentials, passwords, LLM API keys)
# Install system dependencies (Ubuntu)
make setup
# Authenticate with GitHub Container Registry
make registry-login
# Generate SEAL signing keys
make generate-keys
# Deploy the full stack
make deploy PROFILE=full
# Validate all services are healthy
make validate
# Bootstrap secrets
make bootstrap-secrets
Podman एजेंटों को rootless चलाता है, जिसका श्रेय डॉक्स "the privileged daemon" (विशेषाधिकार वाले daemon) को हटाने और कंटेनर के root को "to an unprivileged host UID" (होस्ट के बिना विशेषाधिकार वाले UID पर) मैप करने को देते हैं। एक मशीन पर आज़माने के लिए, 100monkeys.ai पर छपा एक-पंक्ति इंस्टॉलर है curl -fsSL https://get.100monkeys.ai | bash, जो लोकल Docker स्टैक चालू करता है; डॉक्स उस स्टैक को "for local testing and evaluation only" (सिर्फ़ लोकल टेस्टिंग और मूल्यांकन के लिए) बताते हैं।
चरण 5. बदलाव को कॉन्फ़िगरेशन तक सीमित रखें
अपने एजेंट मैनिफ़ेस्ट में आइसोलेशन तय न करें, ताकि फ़ैसला नोड करे। मैनिफ़ेस्ट का isolation फ़ील्ड inherit, firecracker, docker और process स्वीकार करता है, और उसका डिफ़ॉल्ट inherit है, "from node config" (नोड के कॉन्फ़िगरेशन से)। कॉन्फ़िगरेशन रेफ़रेंस का उदाहरण नोड का default_isolation docker रखता है, एक ऐसा मान जो "works with both Docker and Podman runtimes" (Docker और Podman दोनों रनटाइम के साथ काम करता है)। Firecracker आने पर बदलाव नोड में होगा, हर एजेंट में नहीं।
चरण 6. काम पर नज़र रखें
पन्ना इस पर ख़त्म होता है: "Monitor progress on Firecracker support in the aegis-orchestrator GitHub repository." (Firecracker समर्थन की प्रगति aegis-orchestrator GitHub रिपॉज़िटरी में देखें।) रनटाइम लाने वाली रिलीज़ का नाम वहीं आएगा।
डॉक्स क्या खुला छोड़ते हैं
- Firecracker समर्थन की कोई तारीख़ या संस्करण।
- guest कर्नेल (
vmlinux) और एजेंट का root फ़ाइल सिस्टम कहाँ से आते हैं, और उन्हें कैसे बनाएँ। - न्यूनतम कर्नेल: एक पन्ने पर 5.10, दूसरे पर 5.15।
- कुछ और पन्ने अब भी Firecracker को "not yet available" (अभी उपलब्ध नहीं) की चेतावनी के बिना मज़बूत प्रोडक्शन रनटाइम बताते हैं, इसलिए Firecracker पन्ने को ही ताज़ा जानकारी मानें।
आगे
मूल्यांकन स्टैक इंस्टॉल करने और किसी अनुमोदन के पीछे पहला एजेंट चलाने के लिए पढ़ें नए Ubuntu VPS पर AEGIS इंस्टॉल करें और अपना पहला स्वीकृत टास्क चलाएँ।