
AI एजेंट कोड के लिए क्षमता प्रवर्तन के साथ WASM सैंडबॉक्स। एजेंट केवल परिभाषित बाधाओं के साथ स्पष्ट रूप से प्रदान किए गए टूल को कॉल कर सकते हैं। सैंडबॉक्स्ड वर्चुअल फ़ाइल सिस्टम, कोई नेटवर्क नहीं, कोई शेल एस्केप नहीं। एक बाइनरी, कोई Docker या VM आवश्यक नहीं।
यह रिपॉजिटरी amla-sandbox Python पैकेज का रिलीज़ स्रोत है।
विकास the amlalabs monorepo में होता है; यह रिपॉजिटरी रिलीज़ पर अपडेट होती है।
जो Rust रनटाइम amla_sandbox.wasm में कंपाइल होता है वह amla-sandbox-core में स्थित है; जिस विशिष्ट रिलीज़ टैग के विरुद्ध यह Python पैकेज बनाया गया है वह .mirror-deps.json में दर्ज है।
amla-sandbox एक WASM सैंडबॉक्स है जिसमें AI एजेंट कोड के लिए क्षमता प्रवर्तन (capability enforcement) है। एजेंट केवल उन टूल्स को कॉल कर सकते हैं जो आप स्पष्ट रूप से प्रदान करते हैं, आपके द्वारा परिभाषित बाधाओं के साथ। सैंडबॉक्स्ड वर्चुअल फाइलसिस्टम। कोई नेटवर्क नहीं। कोई शेल एस्केप नहीं।
pip install amla-sandbox
कोई Docker नहीं। कोई VM नहीं। एक बाइनरी, हर जगह काम करता है।
from amla_sandbox import create_sandbox_tool
sandbox = create_sandbox_tool()
# JavaScript
sandbox.run("console.log('hello'.toUpperCase())", language="javascript")
# Shell
sandbox.run("echo 'hello' | tr 'a-z' 'A-Z'", language="shell")
# With tools
def get_weather(city: str) -> dict:
return {"city": city, "temp": 72}
sandbox = create_sandbox_tool(tools=[get_weather])
sandbox.run(
"const w = await get_weather({city: 'SF'}); console.log(w);",
language="javascript",
)
क्षमता बाधाओं के साथ:
from amla_sandbox import Sandbox, ToolCallCap, ConstraintSet, Param
sandbox = Sandbox(
capabilities=[
ToolCallCap(
method_pattern="stripe/charges/*",
constraints=ConstraintSet([
Param("amount") <= 10000,
Param("currency").is_in(["USD", "EUR"]),
]),
max_calls=100,
),
],
tool_handler=my_handler,
)
पूर्ण API सतह, फ्रेमवर्क एकीकरण और बाधा DSL के लिए PyPI पेज और examples/ निर्देशिका देखें।
सैंडबॉक्स न्यूनतम syscall सतह के लिए WASI के साथ WebAssembly के अंदर चलता है। WASM अलगाव के शीर्ष पर, प्रत्येक टूल कॉल क्षमता सत्यापन (capability validation) से गुजरता है; पहुंच स्पष्ट रूप से दी जाती है, न कि अंतर्निहित रूप से उपलब्ध। पूर्ण स्पष्टीकरण और ट्रेडऑफ़ के लिए ऊपर त्वरित प्रारंभ और अपस्ट्रीम PyPI README देखें।
अधिकांश उपयोगकर्ताओं के लिए, PyPI से इंस्टॉल करने की अनुशंसा की जाती है; व्हील में पूर्व-निर्मित WASM बाइनरी शामिल है। यदि आप स्वयं व्हील बनाना चाहते हैं:
uv build
व्हील के अंदर बंडल किए गए WASM आर्टिफैक्ट को पुन: उत्पन्न करने के लिए, इसे .mirror-deps.json में pinned टैग पर amla-sandbox-core से बनाएँ, फिर uv build चलाने से पहले परिणाम को src/amla_sandbox/_wasm/amla_sandbox.wasm पर रखें।
देखें CONTRIBUTING.md। इस मिरर के विरुद्ध पुल रिक्वेस्ट अगली रिलीज़ पर मिटा दी जाएंगी; कृपया मोनोरेपो को लक्ष्य करें या यहां एक इश्यू खोलें।
Python पैकेज कोड MIT लाइसेंस प्राप्त है। बंडल किया गया Rust WASM रनटाइम AGPL-3.0-or-later या BUSL-1.1 है।