
بدلاً من منح الوكيل مفاتيح حقيقية، يضيفها OpenShell 0.1 فقط لطلبات النقاط المعتمدة ويُخضع كل تعديل في السياسة لتحقق رسمي ومراجعة بشرية.
ضمن ملف: إنفيديا، وكلاء الذكاء الاصطناعي
بقلم: ليلى | محررة أدوات المطورين · صوت تحريري بإشراف بشري
المصدر الأساسي: NVIDIA OpenShell GitHub
لماذا يهم
المطورون والفرق التي تشغّل وكلاء برمجيين بصلاحيات واسعة تحصل على طبقة عزل وتدقيق للصلاحيات قبل منحها، بدل الاعتماد على الثقة في سلوك النموذج.
الوكيل البرمجي الذي يقرأ ملفاتك ويثبّت الحزم ويستدعي واجهات API بمفاتيحك هو نفسه الوكيل الذي قد يسرّب تلك المفاتيح أو يصل إلى خادم لم تقصده. هذه المعضلة تحاول NVIDIA حلها عبر OpenShell، وهي بيئة تشغيل مفتوحة المصدر تصفها الشركة بأنها “آمنة وخاصة” لأساطيل الوكلاء المستقلين. بحسب مستودع المشروع على GitHub، يحدد المطوّر في سياسة مكتوبة ما يُسمح لكل وكيل بلمسه، وتتولى OpenShell فرض هذه السياسة. وصل المشروع إلى سلسلة الإصدارات 0.1.x (وفقاً لـ دليل الترقية إلى 0.1.0 من NVIDIA)، ومعها وتيرة إصدارات مستقرة وأدوات عزل جديدة وواجهة امتدادات أوسع وواجهات API جديدة. لكن هذه القصة تستند إلى مصدر وحيد هو مستودع NVIDIA ووثائقها الرسمية، ولم يتسنَّ التحقق بشكل مستقل من متانة آليات العزل.
تعمل الفكرة على مستويين. الأول وقت التشغيل: بحسب المستودع، يعمل كل وكيل داخل sandbox معزول، وتقيّد ضوابط على مستوى نواة النظام الملفات التي يصل إليها واستدعاءات النظام التي ينفذها، ويمر كل اتصال شبكي عبر فحص للسياسة قبل أن يغادر الصندوق. والأهم أن الوكيل لا يرى بيانات الاعتماد الحقيقية أبداً، إذ تضيفها OpenShell فقط إلى الطلبات المتجهة إلى نقاط نهاية معتمدة. المستوى الثاني قبل التشغيل: عند اقتراح تعديل على السياسة، تستخدم الأداة التحقق الرسمي (formal verification) لرصد أي صلاحية جديدة خطرة، مثل الوصول إلى مضيف جديد مع بيانات اعتماد أو استدعاء طريقة API جديدة، فتُعلَّق هذه التغييرات حتى يراجعها إنسان. ويتكون النظام بحسب الوثائق من ثلاثة أجزاء: gateway يمثل طبقة التحكم، وsupervisor، والـ sandbox نفسه.
تقديرنا أن الجزء الثاني هو الأثمن. عزل الحاويات معروف منذ سنوات، أما أن تُخبرك الأداة رياضياً بما سيفتحه تعديل صغير في السياسة قبل تطبيقه، فهذا يعالج المشكلة الفعلية مع الوكلاء: الصلاحيات تتسع تدريجياً بموافقات متتالية لا يراجعها أحد بعناية. إن أردت تجربتها بنفسك، فهذا هو المسار كما يرسمه المستودع:
- تحقق من المتطلبات: تعمل OpenShell على Linux، أو macOS على معالجات Apple Silicon، أو Windows عبر WSL 2 (الدعم تجريبي)، وتحتاج إلى Docker أو Podman أو المحاكاة الافتراضية على المضيف. التفاصيل في مصفوفة الدعم داخل وثائق OpenShell.
- ثبّت الأداة بالأمر
curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh، فيُعدّ المثبّت واجهة سطر الأوامر CLI وgateway محلياً. - أنشئ أول صندوق معزول بالأمر
openshell sandbox create --name demo. انتبه إلى أن الصورة الافتراضية Ubuntu مصغّرة لا يوجد فيها أي وكيل مثبّت. - شغّل وكيلاً حقيقياً عبر دليل Run Your First Agent، الذي يشغّل OpenCode على نموذج مجاني من OpenRouter، ويريك كيف توافق على صلاحيات جديدة كلما احتاجها الوكيل.
- اكتب سياساتك: تغطي السياسات قواعد نظام الملفات والشبكة والعمليات، مع أداتي advisor وprover لمراجعة التغييرات. أما Providers فتدير بيانات اعتماد لا تعمل إلا عند نقاط نهاية معتمدة، بما فيها نقاط inference.
- علّم وكيلك البرمجي استخدام الأداة بالأمر
npx skills add NVIDIA/OpenShell. بحسب المستودع، تعلّم هذه المهارات الوكيل تشغيل CLI وكتابة سياسات الـ sandbox وتصحيح أخطاء الـ gateway وتوجيه inference، وتعمل دون الحاجة إلى نسخة من الشيفرة المصدرية.
للربط البرمجي، توفر NVIDIA حزم SDK بأربع لغات تتصل بالـ gateway ولا تثبّت CLI: في Python عبر uv add openshell (الحزمة منشورة على PyPI)، وفي TypeScript عبر npm install @nvidia/openshell-sdk من GitHub Packages، وفي Go عبر go get github.com/NVIDIA/OpenShell/sdk/go@latest، وفي Rust عبر cargo add openshell-sdk --git https://github.com/NVIDIA/OpenShell --tag متبوعاً بوسم الإصدار. وتنصح الوثائق باستخدام الإصدار نفسه للـ SDK والـ gateway قدر الإمكان.
للفرق التي تعمل على نطاق أوسع، يمكن نشر الـ gateway على Kubernetes عبر Helm، بشرط أن تفرض واجهة CNI لديك سياسات NetworkPolicy، وإلا سقط جزء من ضمانات العزل الشبكي. وتسمح طبقة الامتدادات بإضافة middleware وinterceptors ومشغلات حوسبة (compute drivers)، والصناديق نفسها تدعم الصور المخصصة وبيئات التشغيل المختلفة ووحدات GPU وإدارة دورة الحياة. ومن يريد تجربة سحابية يجد خيار Brev Launchable، كما تتوفر إصدارات تجريبية ونسخ من أحدث commit على الفرع الرئيسي.
بقيت نقاط يجب أن تعرفها قبل الاعتماد على الأداة. أولاً، تجمع OpenShell قياسات استخدام مجهولة تقتصر بحسب المستودع على فئات تشغيلية وأعداد، ولا تشمل أسماء الصناديق أو المضيفين أو مسارات الملفات أو الـ prompts أو بيانات الاعتماد أو أسماء المزودين والنماذج أو محتوى المستخدم. يمكنك تعطيلها بضبط OPENSHELL_TELEMETRY_ENABLED=false على الـ gateway، أو server.telemetryEnabled=false في تثبيتات Helm، أو إزالتها كلياً عند الترجمة. ثانياً، تحمل الأداة إخلاء مسؤولية صريحاً: تُقدَّم “كما هي” دون ضمان، وأنت وحدك المسؤول عن مراجعة شروط وتراخيص وسلامة أي مواد تجلبها. ثالثاً، دعم Windows ما زال تجريبياً، والرقم 0.1 نفسه يقول إن المشروع في بداياته، فلا تفترض أن الصندوق المعزول بديل عن مراجعة أمنية لبيئتك الإنتاجية.
الترخيص هو Apache 2.0، ما يتيح الاستخدام التجاري. وتطلب NVIDIA الإبلاغ عن الثغرات الأمنية عبر ملف SECURITY.md لا عبر GitHub Issues، بينما تُطرح الأسئلة في GitHub Discussions، وتُتابع الخطة على لوحة RFC وخريطة الطريق العامة. وتقول الشركة إن المشروع يُطوَّر بالأسلوب نفسه الذي يتيحه، أي بسير عمل يقوده الوكلاء، مع ملف AGENTS.md يحدد أعراف كتابة الشيفرة. السؤال الذي سيحدد مصير OpenShell ليس قوة العزل وحدها، بل هل ستقبل الفرق إيقاف وكلائها لانتظار موافقة بشرية كلما طلبوا صلاحية جديدة؟
المصادر
- GitHub – NVIDIA/OpenShell: OpenShell is the safe, private runtime for autonomous AI agents. github.com
- Upgrade to NVIDIA OpenShell 0.1.0 | NVIDIA OpenShell docs.nvidia.com
- Overview of NVIDIA OpenShell | NVIDIA OpenShell docs.nvidia.com
- openshell pypi.org
- OpenShell/LICENSE at main · NVIDIA/OpenShell github.com







