الانتقال إلى المحتوى الرئيسي
عادةً لا يقرأ الذكاء الاصطناعي لديك WhatsApp إلا إذا كان يعمل أصلًا. وإذا راسلته وهو خامل، فرسالتك تنتظر. يحل موصّل zapbip هذه المشكلة. وهو برنامج صغير يبقى قيد التشغيل على حاسوبك. وعندما تكتب على WhatsApp، يوقظ جلسة الذكاء الاصطناعي التي تستخدمها، ويسلّمها رسالتك، ويدعها تردّ عليك. يستغرق ذلك نحو 7 ثوانٍ مع Claude Code، ونحو 6 مع Codex. يعمل مع Claude Code وCodex. ويجب أن يكون حاسوبك قيد التشغيل ومستيقظًا، وأن يكون الموصّل يعمل.

الأوامر

يحفظ ZAPBIP_CONNECTION_URL رابط الاتصال. وإذا لم يُضبط، يسألك connect وlisten عنه.

ما الذي تحتاج إليه

  • Claude Code أو Codex مربوطًا بـ zapbip.
  • جلسة سابقة واحدة على الأقل في المجلد الذي تريد أن يعمل فيه الذكاء الاصطناعي.
  • Node 24 أو أحدث.
  • رابط اتصالك، وهو الرابط نفسه https://.../c/<secret>/mcp الذي يستخدمه الذكاء الاصطناعي لديك للتواصل مع zapbip. عامله كما تعامل كلمة المرور.

التشغيل

افتح الطرفية في المجلد الذي تستخدم فيه الذكاء الاصطناعي، وشغّل أحد الأمرين:
إذا لم تضبط ZAPBIP_CONNECTION_URL، يسألك الموصّل عن الرابط. ولا يقبله وسيطًا أبدًا، لأن الوسائط تظهر في سجل الطرفية وفي قائمة العمليات. أبقِ الطرفية مفتوحة. يطبع الموصّل سطرًا لكل حدث، ويتوقف عند Ctrl+C. ولإبقائه يعمل دون طرفية، راجع التشغيل في الخلفية.

ما الذي يحدث عندما تكتب

  1. تراسل الذكاء الاصطناعي لديك على WhatsApp.
  2. يتلقى الموصّل رسالتك ويوقظ أحدث جلسة في ذلك المجلد.
  3. يقرأ الذكاء الاصطناعي رسالتك ويردّ عليك على WhatsApp.
  4. وإذا وصلت عدة رسائل معًا، فتُعالج بالترتيب واحدة بعد أخرى.
وإذا كنت دون اتصال أو توقف الموصّل، فلا تضيع رسالتك. وعندما يعيد الاتصال يجلب كل الرسائل التي لم يُجَب عنها.

اختيار الجلسة

افتراضيًا يستخدم الموصّل أحدث جلسة في المجلد. وإذا فتحت المجلد نفسه في نافذة أخرى، فقد ينضم إيقاظ إلى تلك المحادثة. ولتجنب ذلك ثبّت جلسة بعينها:

ما الذي يستطيع الذكاء الاصطناعي فعله بعد الإيقاظ

شيء واحد فقط: أن يرسل لك رسالة ردًّا. يعطي الموصّل الذكاء الاصطناعي إعدادًا خاصًا لا يحتوي إلا zapbip، فلا تتوفر له أدوات خوادم MCP الأخرى لديك. ويعمل Claude Code أيضًا دون تحميل ملفات إعداداتك ومع تعطيل كل الأدوات المدمجة؛ ويعمل Codex في بيئة معزولة للقراءة فقط، وتُعطَّل خوادم MCP الأخرى التي يجدها في ملفات إعداد Codex لديك. وإذا تعذّرت عليه قراءة أحد هذه الملفات، لا يوقظ Codex بل يترك الرسالة غير مقروءة. ويرفض كذلك في الحالات التالية: ملف Codex مُدار يضبط أي مفتاح خارج قائمة قصيرة من المفاتيح غير الضارة، أو ملف إعداد يضبط البيئة المعزولة أو الموافقة أو الأدوات أو الميزات (أو أي مفتاح خارج القائمة)، أو ملف يفعّل مفتاح البحث على الويب، أو كان zapbip معرَّفًا في أي مكان غير config.toml في مجلد Codex الرئيسي. ويُعطَّل البحث على الويب في Codex. ويبقى لدى Codex الأداة send_message وصَدَفة للقراءة فقط؛ أما تطبيقات حساب Codex وموصّلاته فلا تُعطَّل، وتبقى سارية تفضيلات macOS المُدارة com.openai.codex وإعدادات السياسة المُدارة في Claude Code. وتصله رسالتك على أنها رسالتك أنت، بوسم «موثَّقة». أما الرسالة التي أعدت توجيهها من شخص آخر فتصله بوسم «غير موثَّقة» ووسم إعادة التوجيه، ولا يعاملها الذكاء الاصطناعي كتعليماتك. وإذا كان تطبيق Codex قد فتح هذه المحادثة بالفعل، يرفض Codex استئنافها. عندها يبدأ الموصّل جلسة جديدة في المجلد نفسه، دون محتوى المحادثة السابقة، ويواصل استخدامها بعد ذلك.

إبقاء الجلسة المفتوحة مستمعة

يوقظ connect الجلسات المغلقة. أما الجلسة المفتوحة الآن، فيستطيع Claude Code أن يسمعك فيها فورًا، دون إيقاظ ودون انتظار. وهناك طريقتان، والأولى أفضل. القناة هي المفضّلة. وهي برنامج صغير يشغّله Claude Code نفسه كأي أداة أخرى. يمرّر كل رسالة تكتبها على WhatsApp مباشرةً إلى الجلسة المفتوحة، على أنها رسالتك أنت بوسم «موثَّقة» (وتوسَم الرسائل المعاد توجيهها بأنها غير موثَّقة). اضبط ZAPBIP_CONNECTION_URL في البيئة التي يعمل فيها Claude Code، فيشغّلها بالأمر:
لا تستطيع القناة أن تسألك عن الرابط، لذا تقرؤه من ZAPBIP_CONNECTION_URL فقط. ولا تقبل وسائط. صرّح بالخادمين في .mcp.json في المجلد الذي تعمل فيه. تُدخل القناة رسائلك؛ وخادم zapbip HTTP تحت المفتاح الآخر يمنح الجلسة الأداة send_message التي تردّ بها:
تجيب الجلسة عبر zapbip. ومن دونه تسمعك الجلسة لكنها لا تستطيع الرد. ثم شغّل Claude Code بالأمر:
zapbip هو مفتاح خادم القناة في .mcp.json. يعرض سطر التشغيل Channels (experimental). وسيسألك Claude Code إن كنت تقبل قنوات التطوير وخوادم MCP للمشروع، فاقبلهما معًا. المستمع هو البديل. يطبع سطرًا لكل رسالة تكتبها على WhatsApp، ويراقب Claude Code هذه الأسطر بأداة Monitor. يوقظ كل سطر الجلسة المفتوحة، ولا يستهلك شيئًا حين لا تتكلم:
كل سطر هو JSON يحمل معرّف الرسالة ونوعها و"sender":"owner" و"verified" (قيمته true لرسائلك أنت وfalse للمعاد توجيهها) و"forwarded" والنص. وتدوم مراقبة Monitor الواحدة 30 دقيقة على الأكثر، فيعيد الذكاء الاصطناعي المراقبة بعد كل انتهاء. ويمكن لوكلاء آخرين يُبقون أمرًا في الخلفية قيد التشغيل ويتفاعلون مع مخرجاته، مثل OpenClaw وHermes، أن يستخدموا npx zapbip@0.1.0 listen بالطريقة نفسها. يبقى البرنامجان مفتوحين ويعيدان الاتصال تلقائيًا كما يفعل connect. وكلاهما لا يعلّم الرسالة بأنها عولجت إلا بعد تسليمها، فلا تضيع الرسائل ولا تظهر مرتين. وتُكتب سجلاتهما في خرج الأخطاء، ولا تحتوي رسائلك ولا رابطك. لذلك تعمل الطرق الثلاث معًا: القناة للجلسة المفتوحة، وlisten بديلًا عنها، وconnect للجلسات المغلقة.

موصّل واحد لكل اتصال

إذا شغّلت موصّلًا ثانيًا للاتصال نفسه، ينهي الأول الإيقاظ الجاري ثم يتوقف. شغّله على حاسوب واحد في كل مرة. وإذا وصلت رسالة في لحظة التبديل نفسها، فقد يوقظ الموصّلان الذكاء الاصطناعي لديك مرة لكل منهما للرسالة نفسها؛ فيضمن zapbip التسليم مرة واحدة على الأقل. وما دام الموصّل متصلًا، يوقظ zapbip الذكاء الاصطناعي لديك عبره. وعندما يُغلق، يعود zapbip إلى إعدادك السابق.

ما الذي يطبعه

كل سطر JSON يحمل الوقت وحدثًا، مثل wake_started وwake_finished. وتحتوي الأسطر معرّفًا ونوعًا ونتيجة ومدة، ولا تحتوي رسائلك ولا ردود الذكاء الاصطناعي ولا رابط اتصالك.

عندما يحدث خطأ