Skip to content

medhachoum/OpenHands

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

OpenHands: Code Less, Make More

يُحدث OpenHands ثورة في عالم البرمجة! فهو يُمكن من إدارة البرمجة بالكامل بواسطة الذكاء الاصطناعي، من التخطيط وكتابة الأكواد إلى تنفيذ الأوامر وتصفح الويب واستدعاء الـ APIs والبحث عن حلول في StackOverflow. إنه "مهندس برمجيات" متكامل.

شاهد الشرح الكامل على يوتيوب لـ OpenHands، أداة إدارة البرمجة بالذكاء الاصطناعي!

شاهد الفيديو

الخطوة ١: نواة Linux (WSL2)

  • تفعيل ميزات Windows المطلوبة:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  • dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart : يُفعّل WSL.

  • dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart : يُفعّل منصة الآلة الافتراضية.

  • إعادة تشغيل الجهاز

  • تثبيت WSL2 Linux kernel: (رابط التحميل)

  • تعيين WSL2 كإصدار افتراضي:

wsl --set-default-version 2
  • wsl --set-default-version 2: يُعيّن الإصدار 2 من WSL كافتراضي.

  • تثبيت توزيعة Linux (Ubuntu): (من خلال Microsoft Store)

  • التحقق من التثبيت:

wsl --version
wsl --list --verbose
  • wsl --version: يعرض إصدار WSL.

  • wsl --list --verbose: يعرض التوزيعات المثبتة ومعلومات عنها.

  • إعداد Ubuntu: (إنشاء اسم مستخدم وكلمة مرور)

الخطوة ٢: تثبيت Docker Desktop

رابط التحميل

الخطوة ٣: تكامل Docker مع WSL2

التحقق من التكامل:

docker --version
docker ps
  • docker --version: يعرض إصدار Docker.
  • docker ps: يعرض الحاويات المشغلة.

الخطوة ٤: تثبيت وتشغيل OpenHands

  • تحميل صورة OpenHands:
docker pull docker.all-hands.dev/all-hands-ai/runtime:0.14-nikolaik
  • يقوم هذا الأمر بتحميل أحدث صورة Docker لـ OpenHands (0.14-nikolaik).

  • إنشاء مجلد للمشروع (مثال: D:\Hello World)

  • تحديد متغير بيئة لمسار المجلد في Ubuntu WSL:

export WORKSPACE_BASE="/mnt/d/Hello World"
  • export WORKSPACE_BASE="/mnt/d/Hello World": يُحدد مسار مجلد المشروع داخل WSL. تأكد من تغيير المسار إلى المسار الصحيح لمجلد مشروعك.

  • تشغيل OpenHands:

docker run -it --pull=always \
    -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.14-nikolaik \
    -e SANDBOX_USER_ID=$(id -u) \
    -e WORKSPACE_MOUNT_PATH="$WORKSPACE_BASE" \
    -v "$WORKSPACE_BASE:/opt/workspace_base:rw" \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -p 3000:3000 \
    -p 5000:5000 \  
    -e LOG_ALL_EVENTS=true \
    --add-host host.docker.internal:host-gateway \
    --name openhands-app \
    docker.all-hands.dev/all-hands-ai/openhands:0.14
  • -e SANDBOX_USER_ID=$(id -u): يضبط مُعرّف المستخدم داخل الحاوية ليتطابق مع مُعرّف المستخدم على النظام المضيف، وهذا مهم للسماح بالوصول إلى الملفات بشكل صحيح.

  • -e WORKSPACE_MOUNT_PATH="$WORKSPACE_BASE": يُحدد مسار المجلد المُشترك داخل الحاوية.

  • -v "$WORKSPACE_BASE:/opt/workspace_base:rw": يربط مجلد المشروع على النظام المضيف ($WORKSPACE_BASE) بمجلد /opt/workspace_base داخل الحاوية مع صلاحيات القراءة والكتابة (rw).

  • -v /var/run/docker.sock:/var/run/docker.sock: يربط Docker socket للسماح للحاوية بالوصول إلى Docker daemon على النظام المضيف.

  • -p 3000:3000: يعيّن المنفذ 3000 للحاوية إلى المنفذ 3000 على النظام المضيف.

  • -p 5000:5000: يعيّن المنفذ 5000 للحاوية إلى المنفذ 5000 على النظام المضيف (تمت إضافته).

  • --add-host host.docker.internal:host-gateway: يُضيف مُدخل host للوصول إلى النظام المضيف من داخل الحاوية.

  • --name openhands-app: يُسمّي الحاوية بـ openhands-app.

  • فتح OpenHands في المتصفح: http://127.0.0.1:3000/

التحكم بالمشروع من خلال Terminal منفصل:

docker exec -it openhands-app bash -c "cd '/opt/workspace_base' && bash"
  • docker exec -it openhands-app bash -c "cd '/opt/workspace_base' && bash": يسمح بالدخول إلى حاوية OpenHands وتنفيذ الأوامر داخلها. يُغير المسار إلى /opt/workspace_base الذي يُمثل مجلد مشروعك داخل الحاوية. يمكنك بعدها تشغيل الأوامر اللازمة مثل python3 app.py.

لا تنسَ الاشتراك في القناة وتفعيل جرس التنبيهات! ❤️

التوثيق الرسمي من ترجمة مجتمع بايثون العربي:

Contributors Stargazers CodeCov MIT License
Join our Slack community Join our Discord community Credits
Check out the documentation Paper on Arxiv Evaluation Benchmark Score

مرحبًا بكم في OpenHands (المعروف سابقًا باسم OpenDevin)، وهي منصة لعوامل تطوير البرمجيات مدعومة بالذكاء الاصطناعي.

يمكن لعوامل OpenHands القيام بأي شيء يمكن لمطور بشري القيام به: تعديل التعليمات البرمجية، وتشغيل الأوامر، وتصفح الويب، واستدعاء واجهات برمجة التطبيقات، وحتى نسخ مقاطع التعليمات البرمجية من StackOverflow.

تعرف على المزيد على docs.all-hands.dev، أو انتقل إلى البدء السريع.

لقطة شاشة للتطبيق

⚡ البدء السريع

أسهل طريقة لتشغيل OpenHands هي باستخدام Docker. راجع دليل التثبيت لمعرفة متطلبات النظام ومزيد من المعلومات.

docker pull docker.all-hands.dev/all-hands-ai/runtime:0.14-nikolaik

docker run -it --pull=always \
    -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.14-nikolaik \
    -e LOG_ALL_EVENTS=true \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -p 3000:3000 \
    --add-host host.docker.internal:host-gateway \
    --name openhands-app \
    docker.all-hands.dev/all-hands-ai/openhands:0.14

ستجد OpenHands قيد التشغيل على http://localhost:3000!

أخيرًا، ستحتاج إلى موفر نموذج ومفتاح API. يعمل Anthropic's Claude 3.5 Sonnet (anthropic/claude-3-5-sonnet-20241022) بشكل أفضل، ولكن لديك العديد من الخيارات.


يمكنك أيضًا ربط OpenHands بنظام الملفات المحلي، وتشغيل OpenHands في وضع بدون رأس قابل للبرمجة، والتفاعل معه عبر واجهة سطر أوامر سهلة، أو تشغيله على المشكلات الموسومة باستخدام إجراء github.

تفضل بزيارة التثبيت لمزيد من المعلومات وتعليمات الإعداد.

إذا كنت ترغب في تعديل التعليمات البرمجية المصدر لـ OpenHands، فراجع Development.md.

هل تواجه مشكلات؟ يمكن أن يساعدك دليل استكشاف الأخطاء وإصلاحها.

📖 التوثيق

لمعرفة المزيد عن المشروع، وللحصول على نصائح حول استخدام OpenHands، راجع التوثيق.

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

🤝 كيفية المساهمة

OpenHands هو مشروع قائم على المجتمع، ونرحب بمساهمات الجميع. سواء كنت مطورًا أو باحثًا أو متحمسًا ببساطة لتطوير مجال هندسة البرمجيات بالذكاء الاصطناعي، فهناك العديد من الطرق للمشاركة:

  • مساهمات التعليمات البرمجية: ساعدنا في تطوير عوامل جديدة، أو وظائف أساسية، أو واجهة المستخدم الأمامية والواجهات الأخرى، أو حلول وضع الحماية.
  • البحث والتقييم: ساهم في فهمنا لنماذج اللغات الكبيرة في هندسة البرمجيات، وشارك في تقييم النماذج، أو اقترح تحسينات.
  • الملاحظات والاختبار: استخدم مجموعة أدوات OpenHands، وأبلغ عن الأخطاء، واقترح ميزات، أو قدم ملاحظات حول سهولة الاستخدام.

للحصول على التفاصيل، يرجى مراجعة CONTRIBUTING.md.

🤖 انضم إلى مجتمعنا

سواء كنت مطورًا أو باحثًا أو متحمسًا ببساطة لـ OpenHands، يسعدنا انضمامك إلى مجتمعنا. لنجعل هندسة البرمجيات أفضل معًا!

  • مساحة عمل Slack - هنا نتحدث عن البحث والهندسة المعمارية والتطوير المستقبلي.
  • خادم Discord - هذا خادم يديره المجتمع للمناقشة العامة والأسئلة والملاحظات.

📈 التقدم

مخطط تاريخ النجوم

📜 الترخيص

موزع بموجب ترخيص MIT. راجع LICENSE لمزيد من المعلومات.

🙏 شكر وتقدير

تم بناء OpenHands بواسطة عدد كبير من المساهمين، ويتم تقدير كل مساهمة بشكل كبير! كما أننا نبني على مشاريع مفتوحة المصدر أخرى، ونحن ممتنون للغاية لعملهم.

للحصول على قائمة بمشاريع المصادر المفتوحة والتراخيص المستخدمة في OpenHands، يرجى مراجعة ملف CREDITS.md.

📚 الاستشهاد

@misc{openhands,
      title={{OpenHands: منصة مفتوحة لمطوري برامج الذكاء الاصطناعي كعوامل عامة}},
      author={Xingyao Wang and Boxuan Li and Yufan Song and Frank F. Xu and Xiangru Tang and Mingchen Zhuge and Jiayi Pan and Yueqi Song and Bowen Li and Jaskirat Singh and Hoang H. Tran and Fuqiang Li and Ren Ma and Mingzhang Zheng and Bill Qian and Yanjun Shao and Niklas Muennighoff and Yizhe Zhang and Binyuan Hui and Junyang Lin and Robert Brennan and Hao Peng and Heng Ji and Graham Neubig},
      year={2024},
      eprint={2407.16741},
      archivePrefix={arXiv},
      primaryClass={cs.SE},
      url={https://arxiv.org/abs/2407.16741},
}

About

🙌 OpenHands: Code Less, Make More

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 78.1%
  • TypeScript 17.5%
  • Shell 2.2%
  • Makefile 0.6%
  • Jinja 0.5%
  • JavaScript 0.5%
  • Other 0.6%