شو Artemis، وشو بتعمل على الموبايل
الرابط: github.com/google/artemis. الجملة من المشروع نفسه: «خلّي مساعدات الذكاء الاصطناعي وحزم الاختبار تستعمل موبايلات حقيقية زي الإنسان». الفكرة: بدل ما تكتب سكربت أتمتة لكل شاشة، بتوصف المهمة بلغتك، وArtemis بتشوف الشاشة (الـ accessibility tree + الصورة)، بتفكّر، وبتكبس.
كيف بتوصل لـ Claude Code؟ Artemis فيها MCP server أصلي (نفس البروتوكول اللي بيربط Claude Code بأي أداة خارجية) بيعرض أدوات زي mobile_run_task (نفّذ مهمة)، mobile_get_device_state (حالة الجهاز)، mobile_inspect_trace (شو صار بالضبط) وmobile_diagnose (فحص البيئة). Claude Code بيستدعيها لحاله لما تطلب شي على الموبايل.
الأرقام: الـ README بيحكي عن 99%+ إنجاز مهام على AndroidWorld (اختبار من Google Research بـ 20+ تطبيق و100+ مهمة متعدّدة الخطوات). الريل قال «15 ألف+ نجمة»؛ يوم كتابة الدليل صاروا 16,686. أندرويد بس: iOS على خارطة الطريق، مش موجود.
قبل ما تعطيها موبايلك
- بتركّب تطبيق صغير على الموبايل أول مهمة: «Artemis Accessibility Helper»، خدمة وصول بتقرأ تخطيط الشاشة. بتشوفه كإشعار «Artemis test helper is running» وبإعدادات الوصول. الـ README بيقول إنه بيسمع على الموبايل نفسه وما بيبعت شي لبرّا. بتشيله وقت ما بدك:
uv run artemis helper uninstall. - الشاشة بتضل صاحية أثناء الشغل افتراضياً (ARTEMIS_KEEP_DEVICE_AWAKE=true). على جهاز شخصي بتقدر تطفّيها من ملف .env.
- النموذج بيشوف لقطات شاشتك. كل شي ظاهر على الشاشة بيروح للنموذج اللي اخترته (Gemini أو Claude أو غيرهم). لا تشغّلها على شاشة فيها بيانات حساسة.
- استعملها على تطبيقاتك وحساباتك. أتمتة حسابات مش إلك، أو تطبيقات بتمنع الأتمتة بشروطها، مش موضوع هالدليل.
شو بتحتاج
- موبايل أندرويد مفعّل فيه «USB debugging» (من خيارات المطوّر)، موصول بالكابل أو بالشبكة. أو محاكي أندرويد (من Android Studio).
- كمبيوتر ماك أو لينكس أو ويندوز. سكربت التشغيل بيركّب لحاله ADB وscrcpy وFFmpeg وPython عبر
uv(المشروع بده Python 3.12+). - Git لنسخ المستودع.
- مفتاح نموذج واحد على الأقل: Gemini أو Claude (Anthropic) أو OpenAI أو OpenRouter أو xAI. القسم 2.
- Claude Code لو بدك تشغّلها من الشات (القسم 4 و5). دليل التركيب لو لسا.
أمر واحد بيركّب كل شي، ومفتاح، وكابل.
أمر التشغيل: ماك ولينكس وويندوز
ماك ولينكس:
git clone https://github.com/google/artemis.git && cd artemis
./start.shويندوز (PowerShell):
git clone https://github.com/google/artemis.git
cd artemis
.\start.batشو بيعمل السكربت (من الـ README): بيفحص ويركّب ADB وscrcpy وFFmpeg وPython (uv)، بيسألك إذا بدك يركّب إعداد الـ MCP وملف القواعد للأدوات اللي لقاها على جهازك (Claude Code، Codex، Cursor، Antigravity، Windsurf…)، وبعدها بيفتح http://localhost:8000 بالمتصفح: معالج توصيل الجهاز، مرآة الشاشة، وصندوق تجربة الأوامر. على PowerShell اكتب .\start.bat بالضبط (بدون شرطة مائلة بالآخر)؛ بـ CMD اكتب start.bat.
الإعداد التفاعلي بديل للسكربت أو تكملة إله: uv run artemis init بيسألك عن النموذج والـ MCP خطوة خطوة. ولو بدك أمر artemis يشتغل من أي مجلد بدون uv run: مرة وحدة من مجلد المشروع uv tool install -e ..
مفتاح النموذج بملف .env
Artemis مش نموذج؛ هي اليدين. النموذج اللي «بيفكّر» بتختاره إنت بمفتاح API. بمجلد المشروع انسخ القالب واملأ مفتاح واحد على الأقل:
cp .env.example .envالمفاتيح الموجودة بالقالب (املأ واحد، واترك الباقي فاضي):
GEMINI_API_KEY=
ANTHROPIC_API_KEY=
OPENAI_API_KEY=
OPEN_ROUTER_API_KEY=
XAI_API_KEY=مفتاح Gemini من aistudio.google.com (فيه حد مجاني)، ومفتاح Claude من console.anthropic.com (دفع حسب الاستخدام؛ اشتراك Claude العادي ما بيعطي مفتاح API). كل مهمة = عشرات الاستدعاءات بصور، فابدأ بالحد المجاني لـ Gemini لحد ما تعرف كم بتستهلك. بنفس الملف: ARTEMIS_DEFAULT_PROFILE=flash (أسرع) أو pro (أدق، القسم 6).
تأكد إن كل شي جاهز (Python، المفتاح، ADB، الجهاز):
uv run artemis doctorوصّل الموبايل (أو المحاكي)
- إنت على الموبايل: الإعدادات → حول الهاتف → اكبس «رقم الإصدار» 7 مرات لتفعيل خيارات المطوّر، وبعدها فعّل USB debugging.
- إنت وصّله بالكابل. أول مرة بيطلع سؤال على الموبايل «السماح بتصحيح USB من هالكمبيوتر؟»: وافق.
- Artemis من لوحة
localhost:8000بتشوف جهازك بالمعالج ومرآة شاشته. أو بالطرفيةuv run artemis doctor. - Artemis بأول مهمة بتركّب تطبيق Accessibility Helper على الموبايل (3 ثواني). بدك تركّبه قبل:
uv run artemis helper install.
محاكي بدل موبايل: شغّل AVD من Android Studio قبل، وArtemis بتشوفه زي أي جهاز. أكثر من جهاز موصول؟ حدّد واحد بـ ADB_DEVICE_SERIAL بملف .env.
ربط MCP بـ Claude Code بأمر واحد
لو قلت «نعم» لسؤال السكربت بالقسم 1، خلص. وإلا، من مجلد المشروع:
uv run artemis mcp --install claudeشو بيعمل (من README الـ MCP server): بيكتب إعداد سيرفر Artemis بإعدادات Claude Code العامة، وبيركّب ملف «عقلية اختبار الموبايل» بـ ~/.claude/rules/artemis.md: قواعد بتخلّي Claude Code يستكشف الشاشة قبل ما يكتب كود، يختار Flash أو Pro حسب المهمة، ويحسب التأخير. ركّبه بمكان واحد بس (لا تنسخه كمان لـ CLAUDE.md، بيضيّع سياق).
لكل الأدوات اللي على جهازك مرة وحدة (Claude Code وCodex وCursor وAntigravity…):
uv run artemis mcp --install allتأكد من Claude Code (حسب وثائق Claude Code: ✔ Connected يعني شغّال):
claude mcp listأو من جوّا Claude Code اكتب /mcp وشوف artemis بالقائمة. لو بدك تكتب الإعداد بإيدك: uv run artemis mcp --generate-config claude بيطبع لك الإعداد بمسارات جهازك الحقيقية.
artemis mcp --install من مشروع Artemis نفسه، مش من Anthropic. Claude Code بيقرأ أي سيرفر MCP مكتوب بإعداداته، فالفحص بـ claude mcp list هو اللي بيأكّد.جملة بالعربي، والموبايل بيشتغل.
أول مهام من جوّا Claude Code
افتح Claude Code بأي مجلد (بمجلد تطبيقك لو بدك يبني ويختبر). ابدأ بمهمة قراءة بس، بعدين مهمة بتكبس:
مهمة أمان (قراءة بس):
على الموبايل الموصول: افتح الإعدادات، روح على البطارية، وقلّي النسبة الحالية. لا تغيّر أي إعداد.اختبار تطبيقك (هاد المثال من README المشروع، بالعربي):
ابنِ آخر تعديلات المشروع كـ APK، ركّبه على الجهاز الموصول، افتح شاشة تسجيل الدخول واستعمل الحساب التجريبي اللي بملف .env.test، تأكد ما في نوافذ غير متوقّعة بعد الدخول، وارجع لي بلقطات شاشة للصفحة الأخيرة وملخّص Logcat لأي خطأ.مهمة يومية مملة:
افتح تطبيق الكاميرا، صوّر صورة، وبعدها افتح المعرض وتأكد إنها آخر صورة. قلّي كم ثانية أخدت كل خطوة.Claude Code بيستدعي mobile_run_task، وبيرجّع لك النتيجة مع ما صار (وبيقدر يفتح mobile_inspect_trace لما تسأله «ليش فشلت الخطوة 3؟»). لو حدا بالطريق بيحتاج إذن (تثبيت، حذف)، Claude Code بيسألك حسب إعدادات الأذونات تبعك: دليل إعدادات الأمان.
من الطرفية ولوحة الويب: Flash وPro
بدون أي IDE، من مجلد المشروع:
uv run artemis run "Open Settings, find Battery and tell me current level" --profile flash| الوضع | شو بيعمل | متى |
|---|---|---|
| Flash (--profile flash) | حلقة سريعة: بيشوف الشاشة، بيفكّر، بيكبس. 3–5 ثواني للخطوة. بدون خطة ولا تقرير نهائي. | مهام روتينية واضحة: افتح، اكبس، اقرأ. |
| Pro (--profile pro) | مخطّط بيكتب خطة بنقاط تحقّق، منفّذ بيفحص الهدف قبل كل كبسة، ومدقّق بيراجع النتيجة مقابل هدفك وبيكتب تقرير. 15–40 ثانية للخطوة. | اختبارات طويلة (100+ خطوة)، مراقبة مستمرة، تقرير مكتوب. |
لوحة الويب (مرآة الشاشة، إرسال مهام، إعادة تشغيل الفيديو):
uv run artemis ui # http://localhost:8000
uv run artemis status
uv run artemis restart
uv run artemis stopوفي Python SDK (artemis-client) لو بدك تحط Artemis جوّا اختبارات pytest أو CI: المثال بالـ README.
الأخطاء اللي بتضيّع ساعة، والحدود بصراحة.
أخطاء بتضيّع وقتك
| الغلط | شو بيصير | الصح |
|---|---|---|
| USB debugging مش مفعّل، أو ما وافقت على السؤال بالموبايل | «no devices found». | القسم 3، وuv run artemis doctor. |
| ملف .env بدون أي مفتاح | المهمة بتفشل قبل ما تبدأ. | مفتاح واحد على الأقل (القسم 2). |
| مهمة ضبابية («رتّب موبايلي») | الوكيل بيلفّ وبيحرق استدعاءات. | مهمة بخطوات ونتيجة: «افتح X، اعمل Y، قلّي Z». |
| تجرّب أول مهمة على موبايلك الشخصي بحساباتك | كبسة غلط بحساب حقيقي. | جهاز اختبار أو حساب تجريبي. |
| Pro لكل شي | بطيء ومكلف لمهام بسيطة. | Flash للروتين، Pro للاختبارات الطويلة. |
| على ويندوز بتكتب start.bat\ أو بتشغّله من مجلد ثاني | PowerShell ما بيلاقيه. | .\start.bat من مجلد المشروع. |
| تنسخ قواعد artemis.md كمان لـ CLAUDE.md | نفس النص مرتين بكل جلسة: سياق ضايع. | مكان واحد: ~/.claude/rules/artemis.md. |
تنبيهات صدق
- مجانية ومفتوحة المصدر، بس النموذج بيكلّف. Artemis نفسها ببلاش (Apache-2.0)، والمفتاح اللي بتحطه إله حدود مجانية أو فاتورة. كل خطوة = لقطة شاشة للنموذج.
- أندرويد فقط. iOS وإضافة Android Studio والنماذج المحلية على خارطة الطريق، مش موجودين اليوم.
- «99%+» رقم على اختبار محدّد (AndroidWorld). تطبيقك بواجهة غريبة أو شاشات بطيئة ممكن يطلع أقل بكثير. وضع Pro فيه مدقّق لهالسبب.
- بتركّب خدمة وصول على الموبايل وبتخلّي الشاشة صاحية. الاثنين مكتوبين بالـ README، وبتقدر تطفّيهم.
- النشاط على المستودع: آخر دفع كود كان 2026-10-01 (يوم الفحص). المشروع تحت حساب Google الرسمي، بس مش منتج مدعوم رسمياً زي Android Studio.
- أصل جزء من الكود: فيه نقاش منشور بأن أجزاء بتشبه مكتبة mobile-use من شركة Minitap. الـ README اليوم بيوثّق هاد صراحة: المجلد third_party/mobile_use «أجزاء من mobile-use لـ Minitap، رخصة Apache 2.0». يعني الموضوع معترف فيه ومرخّص، مش مخفي.
- الاستخدام التجاري: الرخصة بتسمح. المسؤولية عن شو بتعمل على أي موبايل عليك إنت.