
وكيلك يمثل خطرًا أمنيًا، لذا تعامل معه على هذا الأساس. yoloAI يتعامل مع العزل الآمن لوكلاء الذكاء الاصطناعي بشكل صحيح.
مشغّل معزول (Sandbox) لوكلاء البرمجة بالذكاء الاصطناعي. لا إزعاج من أذونات متكررة، لا بيانات اعتماد داخل الصندوق، ولا تغييرات على مشروعك حتى توافق عليها.
وكلاء البرمجة بالذكاء الاصطناعي يعملون بشكل أفضل مع إيقاف تشغيل الحواجز الوقائية، وهذا أسلوب سيئ لتشغيلهم على جهازك الحقيقي. يمنحك yoloAI الوكيل صندوقًا معزولًا قابلًا للتصرف حيث يمكنه تعديل أي شيء وتشغيل أي شيء دون مراقبة. يبقى مشروعك وبيانات اعتمادك وشبكتك تحت سيطرتك. عندما ينتهي الوكيل، راجع الفروقات (diff) وطبّق ما تريد الاحتفاظ به.
أنت الصندوق المعزول مشروعك
│ │ │
├─ yoloai new fix-bug . ├─ نسخة معزولة من المشروع │
│ │ │
├─ << مطالباتك >> ├─ الوكيل يعمل بحرية │
│ │ (بدون مطالبات أذونات) │
│ │ │
├─ yoloai diff fix-bug ├─ يعرض ما تغيّر │
│ │ │
├─ yoloai apply fix-bug │ ├─ يتم تطبيق التصحيحات
│ (أنت تختار أيها) │ │
│ │ │
├─ yoloai destroy fix-bug ├─ يدمر الصندوق المعزول │
مطالبات الأذونات موجودة لأن الوكلاء يرتكبون أخطاء. بعد المرة المئة من الموافقة/الرفض تتوقف عن قراءتها، و--dangerously-skip-permissions تبعد وكيلًا مشوشًا عن يوم سيئ للغاية. يقلص yoloAI نصف قطر الانفجار حتى تصبح المطالبات غير ضرورية:
diff بالضبط ما تغيّر، وapply يرقّع مشروعك الحقيقي مع الحفاظ على الالتزامات الفردية، ولا تتغير أصولك أبدًا حتى تطبق.--network-isolated الاتصال الصادر بنقاط نهاية API الخاصة بالوكيل بالإضافة إلى النطاقات التي تسمح بها. يزيل --network-none الشبكة بالكامل.راجع الأمان للنموذج الكامل، بما في ذلك القيود الصادقة.
نزّل الأرشيف لمنصتك من أحدث إصدار، واستخرج ثنائي yoloai، وضعه في PATH الخاص بك:
# Linux x86-64 (استبدل بـ linux_arm64 / darwin_amd64 / darwin_arm64 حسب الحاجة).
# اضبط VERSION على الوسم المعروض في صفحة أحدث إصدار المرتبطة أعلاه، بدون
# "v" البادئة — على سبيل المثال VERSION=1.2.3 للوسم v1.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 "أصلح الاختبارات الفاشلة"
# 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 لإعادة الاتصال.
لجلسات أطول، اعمل في حلقة: أخبر الوكيل بالالتزام (commit) أثناء تقدمه، وشغّل yoloai apply من طرفية أخرى كلما أردت سحب الالتزامات المكتملة إلى مشروعك الحقيقي. كل تطبيق يجلب فقط الالتزامات الجديدة منذ التطبيق الأخير. عندما تكون راضيًا عن النتيجة، ادفع (push) كالمعتاد ودمر الصندوق المعزول. راجع دليل الاستخدام لسير العمل الكامل.
إنشاء صندوق معزول، وتوجيه الوكيل، وتطبيق النتائج:
https://github.com/user-attachments/assets/9d6740b4-a34e-4253-82ec-cb0e4c7a8bd9
العزل (Sandboxing)
--env، --dir).--cpus، --memory) وإعادة توجيه المنافذ (--port).clonefile)، وروابط إعادة ربط لكل ملف على أنظمة ملفات Linux التي تدعمها (btrfs، XFS). أنظمة الملفات بدون إعادة ربط (ext4) تحصل على نسخة عادية..gitignore: أي شيء مُتجاهَل لا يُنسخ إلى الصندوق المعزول (ممارسة أمنية لبيانات اعتماد التطوير على القرص).بيانات الاعتماد
سير العمل
.patch، اختيار الالتزامات بالمرجع، أو --dry-run أولًا.yoloai run --prompt ... --rm، مع إخراج --json في كل أمر.التكامل
shell لأي شيء آخر.--vscode-tunnel).yoloai mcp serve يسمح لوكيل خارجي بقيادة الصناديق المعزولة كأدوات؛ yoloai mcp proxy يشغّل خوادم MCP داخل صندوق معزول.yoloai x).~/.yoloai/ (قابلة للنقل مع --data-dir).ملاحظة: يوفر Tart جهاز macOS افتراضيًا كاملًا، مما يتيح لك تشغيل المحاكيات داخل الصندوق المعزول.
اختياريًا، قم بترقية وقت تشغيل OCI لعزل أقوى. أوضاع gVisor متاحة على docker وpodman؛ أوضاع الجهاز الافتراضي تأتي مع خلفية 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 (brew install podman على macOS) |
| 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): اعتراض استدعاءات النظام، لا حاجة لـ KVM |
container-privileged | كل القدرات، seccomp/AppArmor غير مقيدة. استخدمه لـ Docker-in-Docker وCompose |
vm | Kata Containers (QEMU): عزل جهاز افتراضي عتادي |
vm-enhanced | Kata + Firecracker microVM: عزل جهاز افتراضي خفيف |
| الوضع | الوصف |
|---|
claude | يشغّل Claude Code عبر مفتاح API أو بيانات اعتماد الاشتراك (افتراضيًا) |
codex | يشغّل Codex عبر مفتاح API أو بيانات اعتماد الاشتراك |
gemini | يشغّل Gemini CLI عبر مفتاح API أو بيانات اعتماد الاشتراك |
aider | يشغّل Aider (يُنسخ إعدادك) |
opencode | يشغّل OpenCode (يُنسخ إعدادك) |
shell | يشغّل صدفة tmux مع جميع بيانات اعتماد الوكيل المزروعة |
idle | يشغّل عملية خاملة للسماح بوساطة MCP |