باختصار
للحفاظ على تشغيل وكلاء البرمجة بالذكاء الاصطناعي أثناء سكون الكمبيوتر المحمول، تتوفر لديك ثلاثة حلول مرتبة حسب الجهد المطلوب: إبقاء الكمبيوتر المحمول مستيقظاً باستخدام الأمر caffeinate أو عبر ضبط إعدادات الطاقة، أو نقل الوكيل إلى جهاز كمبيوتر يعمل باستمرار مثل Mac mini أو خادم Linux، أو وضع قائمة انتظار أمامه بحيث تنتظر المهام ذلك الجهاز بدلاً من أن تتوقف بمجرد إغلاق الغطاء.
لماذا يتوقف الوكيل عن العمل عند إغلاق غطاء اللابتوب؟
تبدأ مهمة إعادة صياغة برمجية طويلة باستخدام Claude Code أو Codex، وتغلق اللابتوب، ثم تعود إلى منزلك. وفي صباح اليوم التالي، تجد سطر الأوامر متوقفاً عند الخطوة نفسها التي تركته عندها؛ لم يكتمل شيء، ولم تتلقَّ أي إشعار بذلك.
إليك ما حدث بالفعل: عندما يدخل نظام macOS في وضع السكون، فإنه يعلّق كافة العمليات قيد التشغيل، بما في ذلك وكيلك الذكي. ينقطع اتصال الوكيل المفتوح مع واجهة برمجة التطبيقات للنموذج (API)، وكذلك ينقطع أي اتصال بأداة أو لوحة تحكم. وعندما يستيقظ الكمبيوتر المحمول، قد يعاود الوكيل المحاولة، أو يواجه خطأً، أو يظل عالقاً في انتظار رد لن يصل أبداً. وأياً كانت النتيجة، فإن الساعات التي نمت فيها قد ضاعت سدى.
يستعرض هذا الدليل الطرق الثلاث لإبقاء وكلاء البرمجة بالذكاء الاصطناعي قيد التشغيل باستمرار، وتكلفة كل حل منها، وما الذي يظل بحاجة إلى جهاز الكمبيوتر المحمول الخاص بك. وإذا كنت تدير أعمال الوكيل بالفعل عبر لوحة مشتركة مثل Sharkly، فلن يستغرق الحلان الثاني والثالث سوى عشر دقائق تقريباً.

الحل الأول: إبقاء الكمبيوتر المحمول مستيقظاً
أسرع حل هو منع الكمبيوتر المحمول من الدخول في وضع السكون. لكن هذا يستهلك طاقة البطارية ويرفع درجة حرارة الجهاز، ولا يستمر في العمل عند إغلاق الغطاء إلا إذا استوفيت شروط Apple المحددة. استخدم هذا الحل لجلسة عمل تمتد لبضع ساعات فقط، وليس كخطة تعتمد عليها كل ليلة.
كيف أمنع جهاز Mac من الدخول في السكون أثناء تشغيل الوكيل؟
يتضمن نظام macOS أمراً مدمجاً لهذه الغاية يُدعى caffeinate. يرسل هذا الأمر تأكيداً للطاقة يطلب من النظام عدم الدخول في السكون طوال فترة تشغيله. وإليك الخيارات التي ستستخدمها، وفقاً لـ مرجع caffeinate:
-iيمنع السكون الناتج عن الخمول.-sيمنع سكون النظام، ولكن فقط عند الاتصال بمصدر الطاقة الخارجي.-dيُبقي الشاشة قيد التشغيل (نادراً ما تحتاج إلى ذلك).-w <pid>يُلغي منع السكون عند انتهاء العملية المحددة بذلك المعرّف (PID).-t <seconds>يُلغي منع السكون تلقائياً بعد مرور عدد محدد من الثواني.
الأسلوب الأفضل والأنظف هو تغليف تشغيل الوكيل نفسه بهذا الأمر، بحيث ينتهي منع السكون تلقائياً بمجرد انتهاء عمل الوكيل:
# Hold the assertion for exactly as long as the agent runs
caffeinate -is claude -p "Refactor the billing module and run the tests"
# Or attach to an agent that's already running
pgrep -f codex # prints the PID, for example 48213
caffeinate -i -w 48213
إذا كنت تفضل استخدام الواجهة الرسومية بدلاً من كتابة الأوامر، فافتح إعدادات النظام (System Settings)، ثم انتقل إلى البطارية (Battery). وضمن خيارات إضافية (Additional Options)، فعّل خيار "منع السكون التلقائي عند الاتصال بمحول الطاقة أثناء إيقاف تشغيل الشاشة" (دليل Apple لإعدادات البطارية). وتجدر الإشارة إلى أن هذا الخيار لا يعمل إلا أثناء توصيل اللابتوب بالشاحن.
هل يعمل أمر caffeinate عند إغلاق غطاء اللابتوب؟
لا يعمل بمفرده. فإغلاق غطاء جهاز MacBook يُدخله في وضع السكون ما لم تكن تستخدم وضع الشاشة المغلقة (closed-display mode)، وهو الوضع الذي تعرّفه Apple بأنه تشغيل الجهاز والغطاء مغلق مع شرط توصيله بمصدر طاقة، وشاشة خارجية، ولوحة مفاتيح وفأرة خارجيتين (دليل Apple لوضع الشاشة المغلقة). فإذا غادرت دون شاشة خارجية، فافترض حتماً أن الوكيل سيتوقف.
إذا كنت تستخدم تطبيق Sharkly Desktop، فيمكنك تخطي سطر الأوامر؛ إذ تتضمن إعدادات Computer خيار Prevent sleep بمدد زمنية محددة: 5 دقائق، أو 30 دقيقة، أو ساعة، أو ساعتين، أو 5 أو 8 ساعات، أو Always. وتشير وثائق Computers إلى أن هذا الخيار يُبقي النظام مستيقظاً مع السماح للشاشة بالانطفاء، ويتوقف تلقائياً عند انتهاء المدة. هذا الخيار متاح لهذا الكمبيوتر فقط، وليس لجهاز مشترك أو بعيد.

الحل الثاني: تشغيل الوكلاء على جهاز كمبيوتر يعمل باستمرار
الحل الدائم هو التوقف عن تشغيل المهام الطويلة على أجهزة الكمبيوتر المحمولة. ضع الوكيل على جهاز لا يُغلق أبداً: كجهاز Mac mini إضافي على مكتبك، أو خادم Linux، أو جهاز افتراضي في السحابة. وبذلك يصبح دور اللابتوب مقتصراً على كتابة المهام ومراجعة النتائج.
يوضح فريق DeepSeek Harness هذا الفصل المعماري ذاته في مقالهم حول تصميم الوكيل الفائق، ويطلقون عليه مصطلح BYOM؛ حيث تعمل حلقة تشغيل الوكيل وتُحفظ حالة الجلسة في السحابة، بينما تشغّل كل بيئة تحتوي على كودك البرمجي برنامجاً خلفياً صغيراً (daemon) وتظل في مكانها. يصف المقال بنية معمارية وليس منتجاً جاهزاً للتشغيل المباشر، لكن الفكرة قائمة وفعالة: يبقى الكود والأدوات على عتاد يقع تحت تحكمك، بينما تستمر حلقة إسناد المهام في العمل سواء كان اللابتوب مفتوحاً أو مغلقاً.
على الجهاز الذي يعمل باستمرار، يقتصر الحد الأدنى للإعداد على واجهة سطر أوامر الوكيل (CLI)، وبيانات اعتماد Git، وطريقة لإبقاء الجلسة نشطة. ويعني هذا في بيئة Linux عادةً استخدام tmux أو وحدة systemd لضمان استمرار تشغيل الوكيل بعد انتهاء جلسة SSH. هذا الأسلوب مناسب لوكيل واحد، لكنه يزداد صعوبة عندما تشغل خمسة وكلاء، حيث ستضطر للاتصال عبر SSH لمتابعة أي منها قد انتهى.
كيف أضيف جهاز Computer بعيداً إلى Sharkly؟
في Sharkly، يُعد الـ Computer أي جهاز مضيف متصل يُشغّل الوكلاء. تقوم خدمة محلية خفيفة مثبتة عليه باكتشاف أدوات الوكلاء المتوفرة (مثل Claude Code وCodex وغيرهما)، وتُسجل كل واحدة منها كبيئة تشغيل (Runtime)، وترسل إشارات التحقق من النشاط، وتستقبل المهام. وتفتح هذه الخدمة الاتصال بالخارج، لذا لا يتطلب الإعداد المعتاد فتح أي منافذ واردة.
لتوصيل الخادم:
- في Sharkly، افتح Settings، ثم Computers، واختر توصيل Computer جديد.
- أنشئ رمز التثبيت لمرة واحدة (install token). هذا الرمز قصير الصلاحية ومخصص للاستخدام لمرة واحدة فقط، فلا تضعه داخل سكريبت أو صورة نظام.
- على الخادم، ثبّت Sharkly CLI وسجّل الجهاز:
sharkly computer register --install-token <install-token>
# Check it from any terminal
sharkly computer list
sharkly computer ping <computer-id> <runtime-id>
- انتظر حتى تظهر حالة الجهاز كمتصل (online)، ثم تأكد من توفر بيئة تشغيل (Runtime) واحدة على الأقل.
تغطي وثائق Computers حزم Linux المختلفة (مثل AppImage وdeb وtar.gz) واختبارات التحقق من بيئات التشغيل (Runtimes). وللاطلاع على شرح مفصل حول اتخاذ القرار بين الخادم والكمبيوتر المحمول، اقرأ تشغيل وكلاء البرمجة عن بُعد ودليل أجهزة Computers في Sharkly.
الحل الثالث: وضع المهام في قائمة انتظار بدلاً من فشلها
حتى الكمبيوتر الذي يعمل باستمرار قد يُعاد تشغيله لتثبيت التحديثات أو قد ينقطع اتصاله بشبكة Wi-Fi. والحل الأخير يضمن ألا تكلفك هذه الانقطاعات سوى دقائق معدودة بدلاً من خسارة ليلة بأكملها. فالهدف هو أن تنتظر المهام جهاز الكمبيوتر، بدلاً من أن تفشل لمجرد أنه لم يكن متصلاً في اللحظة المحددة لوصول المهمة.
وهنا تتجلى الأهمية الحقيقية لقائمة الانتظار. ففي Sharkly، تسند المهمة إلى وكيل (Agent)، وينتقل التشغيل إلى الـ Computer وبيئة التشغيل (Runtime) المحددين لذلك الوكيل. ووفقاً للوثائق الرسمية:
- إذا كان الجهاز غير متصل، فإن عمليات التشغيل الجديدة تنتظر في المعتاد حتى يعاود الاتصال.
- إذا انقطع اتصال الجهاز قبل إرسال المهمة، يمكن أن تظل العملية في قائمة الانتظار.
- لكل Computer حد أقصى لتزامن المهام؛ وأي مهام تتجاوز هذا الحد تنتظر بحالة Queued.
- عند استخدام مجلد مؤقت أو مساحات عمل Git معزولة (isolated worktrees)، يكون الحد الافتراضي لتزامن الوكيل 50% من الحد الأقصى المسموح به للجهاز.

وبالتالي، يصبح نمط العمل الليلي كالتالي: قبل أن تغادر، تسجل خمس مهام وتسندها إلى وكيل يعمل على جهاز Mac mini. ينفذ الجهاز المهام حتى أقصى حد للتزامن، بينما تبقى بقية المهام في قائمة الانتظار (Queued)، لتطّلع على نتائجها في الصباح. ويمكن لكل عملية تشغيل مدعومة بمستودع كود أن تحصل على مساحة عمل منفصلة وجديدة، وبذلك لا تعدل المهام المتوازية على نفس النسخة من الكود. ولمعرفة عدد المهام التي يمكن تشغيلها بالتوازي، راجع مقال كيفية تشغيل 10 وكلاء برمجة بالذكاء الاصطناعي في وقت واحد.
هناك قيدان يجدر بك معرفتهما: لا تضمن الوثائق استئناف مهمة كانت قيد التنفيذ بالفعل إذا انقطع اتصال الجهاز، كما أن المهمة الملغاة لا تُستأنف في موضعها. وعندما يتعطل أي إجراء، افتح المهمة، وتحقق من حالة التشغيل، ثم أعد المحاولة أو أضف تعليق متابعة. أما بالنسبة لمهام الأتمتة المجدولة (scheduled Automations)، فتدرج الوثائق حالة Skipped كإحدى حالات التشغيل لكنها لا تحدد بوضوح كيفية التعامل مع جهاز غير متصل، لذا اختبر جدولتك مسبقاً باستخدام خيار Run now قبل أن تعتمد عليها طوال الليل.
ما الذي لا يزال بحاجة إلى جهاز الكمبيوتر المحمول؟
نقل الوكلاء بعيداً عن اللابتوب لا يعني نقل كل شيء؛ إذ يتعين عليك إبقاء الأمور التالية على الكمبيوتر المحلي:
- المجلدات المحددة (Specified directories): التشغيل داخل مجلد محلي ثابت وإعادة استخدام ما بداخله متاح فقط للأجهزة المحلية.
- Prevent sleep: لا يظهر زر التبديل هذا إلا للجهاز الحالي عبر تطبيق سطح المكتب.
- بيانات الاعتماد والملفات المحلية فقط: إذا كانت المهمة تتطلب شبكة VPN، أو مفتاحاً خاصاً، أو ملفات محفوظة على جهازك المحمول فقط، فلن يتمكن الخادم من الوصول إليها. انسخ ما تراه آمناً، أو أبقِ تلك المهمة على جهازك المحلي واستعن بالحل الأول.
ما عدا ذلك، يعمل كل شيء بكفاءة تامة على جهاز لا يُغلق غطاؤه أبداً، بدءاً من إعادة صياغة الكود وتشغيل الاختبارات وحتى ترقية الاعتماديات وتحديث التوثيق. وتُحسب تكلفة استخدام النماذج على اشتراك Claude Code أو Codex أو خطة API المرتبطة بذلك الجهاز، نظراً لأن Sharkly لا تبيع رموز المعالجة. وإذا كنت تود مراقبة التكاليف، فإن مقالي تشغيل وكلاء الذكاء الاصطناعي مجاناً ومقارنة بين سحابة Codex وأجهزتك الخاصة يوضحان مختلف الخيارات.
خاتمة
تدخل أجهزة الكمبيوتر المحمولة في وضع السكون وتتوقف معها الوكلاء. ولمهمة سريعة في فترة الظهيرة، يمكنك تغليف تشغيل الوكيل بأمر caffeinate أو تفعيل خيار Prevent sleep. أما للمهام الليلية، فانقل الوكلاء إلى جهاز كمبيوتر يعمل باستمرار. ولأي عمل تعتمد عليه بشكل أساسي، ضع أمامه قائمة انتظار، وبذلك تصبح إعادة التشغيل أو انقطاع الاتصال مجرد فترة انتظار قصيرة بدلاً من فشل المهمة وتوقفها تماماً.
خطوتك التالية: قم بتوصيل جهاز إضافي كـ Computer، وأسند إليه مهمتين الليلة، وأغلق غطاء لابتوبك براحة بال. التسجيل في Sharkly مجاني للبدء، وترشدك وثائق Computers في كل خطوة، بدءاً من رمز التثبيت وحتى تشغيل أول مهمة.
الأسئلة الشائعة
لماذا يتوقف وكيل الذكاء الاصطناعي عن العمل عند سكون الكمبيوتر المحمول؟
يؤدي وضع السكون إلى تعليق كافة العمليات وقطع الاتصالات الشبكية. ونظراً لأن الوكيل لا يمكنه الوصول إلى واجهة برمجة تطبيقات النموذج (API) وهو في حالة تعليق، فإن عملية التشغيل تتوقف مؤقتاً أو تفرز خطأً أو تظل معلقة عند استيقاظ الكمبيوتر المحمول.
كيف أبقي Claude Code قيد التشغيل طوال الليل على جهاز Mac؟
قم بتوصيل الجهاز بالشاحن وشغّله باستخدام الأمر caffeinate -is ليظل جهاز Mac مستيقظاً حتى انتهاء الوكيل. وإذا أردت إغلاق الغطاء، فستحتاج أيضاً إلى وضع الشاشة المغلقة (closed-display mode). أما بالنسبة للمهام الليلية المتكررة، فإن الاعتماد على جهاز كمبيوتر يعمل باستمرار يُعد خياراً أكثر موثوقية.
هل يمنع أمر caffeinate السكون عند إغلاق غطاء اللابتوب؟
كلا، فإغلاق الغطاء يُدخل جهاز MacBook في وضع السكون ما لم يكن في وضع الشاشة المغلقة مع توصيله بمصدر طاقة، وشاشة خارجية، ولوحة مفاتيح وفأرة خارجيتين.
ماذا يحدث لمهمة Sharkly إذا أصبح الـ Computer غير متصل؟
تنتظر عمليات التشغيل الجديدة في المعتاد حتى يعاود الجهاز الاتصال، كما يمكن أن تظل العملية التي لم تُرسل بعد في قائمة الانتظار. تحقق من حالة تشغيل المهمة بعد انقطاع طويل، لأن الوثائق لا تعد باستئناف العملية التي كانت قيد التنفيذ بالفعل.
هل يمكنني تشغيل وكلاء البرمجة على خادم Linux؟
نعم. قم بتثبيت واجهة سطر أوامر الوكيل وSharkly CLI على الخادم، وسجله باستخدام رمز التثبيت، وسيظهر الجهاز كـ Computer مع بيئات التشغيل (Runtimes) المكتشفة عليه.



