
OpenShell v0.1.5
بيئة تشغيل معزولة لوكلاء الذكاء الاصطناعي المستقلين مع سياسات YAML تعريفية تفرض قيودًا على نظام الملفات والشبكة والعمليات، بالإضافة إلى حقن بيانات الاعتماد المرتبطة بنقاط النهاية.
[!IMPORTANT] جديد في OpenShell 0.1.x: إيقاع إصدارات مستقر، وبدائيات عزل جديدة، وسطح إضافات موسّع، وواجهات برمجية جديدة. اقرأ دليل الترقية إلى 0.1.0.
OpenShell هو بيئة التشغيل الآمنة والخاصة لأساطيل وكلاء الذكاء الاصطناعي المستقلين. يكون الوكلاء أكثر فائدة عندما يستطيعون قراءة الملفات وتثبيت الحزم واستدعاء واجهات API واستخدام بيانات الاعتماد. يمنحهم OpenShell هذه القدرة دون منحهم وصولاً غير مقيّد إلى بياناتك أو أسرارك أو شبكتك. تُصرّح بما يمكن لكل وكيل الوصول إليه في سياسة، ويقوم OpenShell بفرضها.
كيف يعمل
يحكم OpenShell ما يمكن للوكلاء فعله بطريقتين: فهو يزوّد النواة بأدوات المراقبة لفرض السياسة على كل وصول إلى الملفات، وكل استدعاء نظام، وكل اتصال شبكي في وقت التشغيل، ويستخدم التحقق الشكلي لفحص ما قد تسمح به أي تغيير في السياسة قبل تطبيقه.
- الفرض على مستوى النواة. يعمل كل وكيل في بيئة معزولة (sandbox). تقيّد عناصر التحكم في النواة الملفات التي يمكنه الوصول إليها واستدعاءات النظام التي يمكنه إجراؤها، ويمر كل اتصال شبكي عبر فحص للسياسة قبل مغادرته البيئة المعزولة. لا يرى الوكلاء أبداً بيانات اعتماد حقيقية؛ إذ يضيفها OpenShell فقط إلى الطلبات المتجهة إلى نقاط نهاية معتمدة.
- تغييرات سياسة مُتحقَّق منها شكلياً. قبل اعتماد أي تغيير في السياسة، يستخدم OpenShell التحقق الشكلي لتمييز الوصول الجديد المحفوف بالمخاطر الذي قد يمنحه، مثل الوصول إلى مضيف جديد باستخدام بيانات اعتماد أو استدعاء طريقة API جديدة، بحيث تنتظر تلك التغييرات مراجعة بشرية.
راجع البنية لمعرفة كيفية ترابط البوابة والمشرف والبيئة المعزولة.
البدء السريع
تحتاج إلى Linux، أو macOS على Apple Silicon، أو Windows مع WSL 2 (تجريبي)، بالإضافة إلى Docker أو Podman أو المحاكاة الافتراضية للمضيف. راجع مصفوفة الدعم للتفاصيل.
curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh
openshell sandbox create --name demo
يقوم المثبّت بإعداد واجهة سطر الأوامر (CLI) وبوابة محلية. صورة البيئة المعزولة الافتراضية هي Ubuntu بسيطة بدون أي وكيل مثبّت. لتشغيل وكيل حقيقي، اتبع تشغيل وكيلك الأول: فهو يشغّل OpenCode مقابل نموذج مجاني من OpenRouter ويوضح كيفية اعتماد الوصول الجديد حسب حاجة الوكيل إليه.
استكشف المزيد
- البيئات المعزولة: الصور، وبيئات التشغيل، ووحدات GPU، ودورة الحياة.
- السياسات: قواعد نظام الملفات والشبكة والعمليات، مع المستشار والمُثبِت لمراجعة التغييرات.
- المزوّدون: بيانات اعتماد تعمل فقط عند نقاط النهاية المعتمدة، بما في ذلك الاستدلال.
- البوابات: مستوى التحكم للبيئات المعزولة والسياسات والوصول.
- Kubernetes: انشر البوابة باستخدام Helm. يجب أن تفرض شبكة CNI لديك
NetworkPolicy. - قابلية التوسعة: البرمجيات الوسيطة، والمعترضات، ومشغّلات الحوسبة.
- الدروس التعليمية: جولات خطوة بخطوة للسياسات والوكلاء.
- الإصدارات التجريبية وإصدارات التطوير: جرّب إصداراً قادماً أو أحدث إيداع على
main.
مهارات الوكيل
ثبّت مهارات OpenShell العامة لوكيل البرمجة الخاص بك:
npx skills add NVIDIA/OpenShell
تعلّم المهارات وكيلك كيفية تشغيل واجهة OpenShell CLI، وكتابة سياسات البيئات المعزولة، وتصحيح أخطاء البوابات وتوجيه الاستدلال. وهي موجودة في skills/ وتعمل دون الحاجة إلى نسخة مصدرية من OpenShell.
حزم تطوير البرمجيات (SDKs)
تربط حزم SDK التطبيقات ببوابة OpenShell. وهي لا تثبّت واجهة CLI. استخدم نفس إصدار OpenShell لحزمة SDK والبوابة عند الإمكان.
| اللغة | التثبيت | الوثائق |
|---|---|---|
| Python | uv add openshell | README |
| TypeScript | npm install @nvidia/openshell-sdk (GitHub Packages) | README |
| Go | go get github.com/NVIDIA/OpenShell/sdk/go@latest | README |
| Rust | cargo add openshell-sdk --git https://github.com/NVIDIA/OpenShell --tag <release-tag> | التثبيت والاستخدام |
المجتمع
- الأسئلة والنقاش: مناقشات GitHub
- تقارير الأخطاء وطلبات الميزات: قضايا GitHub، باستخدام قوالب القضايا
- الثغرات الأمنية: اتبع SECURITY.md. لا تفتح قضية على GitHub.
- خارطة الطريق: خارطة طريق OpenShell ولوحة RFC
- جرّبه في السحابة: Brev Launchable
بُني OpenShell وفق مبدأ الوكيل أولاً: إذ يُطوَّر باستخدام نفس سير العمل المدفوع بالوكلاء الذي يمكّنه. راجع CONTRIBUTING.md لإعداد التطوير وسير عمل المساهمة، وAGENTS.md لاصطلاحات البرمجة في المستودع.
القياس عن بُعد
يجمع OpenShell بيانات قياس عن بُعد مجهولة الهوية، تقتصر على الفئات التشغيلية والأعداد، للمساعدة في تحسين المشروع. وهو لا يجمع أسماء البيئات المعزولة، أو أسماء المضيفين، أو مسارات الملفات، أو المطالبات (prompts)، أو بيانات الاعتماد، أو أسماء المزوّدين أو النماذج، أو محتوى المستخدم. لتعطيله، اضبط OPENSHELL_TELEMETRY_ENABLED=false على البوابة، أو server.telemetryEnabled=false لعمليات تثبيت Helm. يمكنك أيضاً استبعاد القياس عن بُعد بالكامل عند الترجمة. راجع القياس عن بُعد للتفاصيل وتقارير القياس عن بُعد المجتمعية لاتجاهات الاستخدام المنشورة.