العودة للدورة|استخدام كلود للحاسوب: بناء وكلاء سطح المكتب والمتصفح المستقلين
معمل

إعداد بيئة Docker المعزولة الخاصة بك

30 دقيقة
متوسط
3 المحاولات المجانية

التعليمات

الهدف

إنشاء ملف docker-compose.yml يُعد بيئة تطوير استخدام الحاسوب الكاملة مع العزل المناسب والشبكات وتركيب المجلدات.

الخلفية

تشغيل وكلاء استخدام الحاسوب مباشرة على نظامك محفوف بالمخاطر. يوفر Docker العزل حتى لا يتمكن الوكيل من حذف الملفات عن طريق الخطأ أو الوصول إلى بيانات حساسة على جهازك المضيف.

المتطلبات

أنشئ ملف docker-compose.yml يقوم بـ:

  1. استخدام صورة Anthropic الرسمية: ghcr.io/anthropics/anthropic-quickstarts:computer-use-demo-latest

  2. كشف المنافذ المطلوبة:

    • 5900 لـ VNC
    • 6080 لـ noVNC (العرض عبر المتصفح)
    • 8501 لواجهة Streamlit
  3. تعيين متغيرات البيئة:

    • ANTHROPIC_API_KEY من بيئة المضيف
    • WIDTH=1024 و HEIGHT=768 لدقة الشاشة
  4. تكوين الأمان:

    • --cap-drop=ALL لإزالة الصلاحيات غير الضرورية
    • نظام ملفات جذر للقراءة فقط حيثما أمكن
    • بدون وضع الامتيازات
  5. إعداد تركيب المجلدات:

    • مجلد ./workspace مركب على /home/user/workspace لمشاركة الملفات
    • هذا هو الموقع الوحيد القابل للكتابة الذي يجب أن يصل إليه الوكيل
  6. عزل الشبكة (تحدي اختياري):

    • إنشاء شبكة مخصصة مع وصول خارجي محدود

هيكل المخرجات المتوقع

version: '3.8'
services:
  computer-use:
    image: ghcr.io/anthropics/anthropic-quickstarts:computer-use-demo-latest
    ports:
      - "5900:5900"
      - "6080:6080"
      - "8501:8501"
    environment:
      - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
      - WIDTH=1024
      - HEIGHT=768
    # ... تكوين الأمان والمجلدات

تلميحات

  • استخدم صيغة ${VARIABLE} للإشارة إلى متغيرات بيئة المضيف
  • توجيه cap_drop يزيل صلاحيات Linux
  • ركب المجلدات بـ :rw للقراءة والكتابة أو :ro للقراءة فقط

معايير التقييم

يستخدم صورة Docker Anthropic الصحيحة20 نقاط
يكشف جميع المنافذ الثلاثة المطلوبة (5900، 6080، 8501)20 نقاط
يعين متغيرات البيئة بشكل صحيح بما في ذلك مفتاح API20 نقاط
ينفذ إجراءات الأمان (cap_drop، صلاحيات محدودة)20 نقاط
يكون تركيب مجلد مساحة العمل بشكل صحيح20 نقاط

حلك

هذا المعمل يتطلب YAML
YMLYAML(مطلوب)
3 محاولات مجانية متبقية