تُحدَّث يومياً

مصدرُك العربي
لمستقبل الذكاء الاصطناعي

أخبار، تقارير، أدوات وتحليلات يومية — كل ما تحتاجه لمتابعة ثورة الذكاء الاصطناعي باللغة العربية

✅ تم الاشتراك!
تعلم و استخدام الذكاء الاصطناعي

كلود يراسل كلود مباشرةً: دليل cross-session messaging في Claude Code

بقلم: ليلى | محررة أدوات المطورين · صوت تحريري بإشراف بشري

بدءاً من الإصدار v2.1.224 على macOS وLinux، أصبح بإمكان جلسات Claude Code المتوازية أن تتحدث مع بعضها مباشرةً، دون أن تمر الرسائل عبر المستخدم. الميزة تُعرَّف بـ “cross-session messaging”، وهي تعمل افتراضياً دون أي إعداد إضافي عند استيفاء المتطلبات.

الفكرة الجوهرية بسيطة: حين تعمل على مشروع موزّع بين طرفيتين — إحداهما تُعيد هيكلة قاعدة البيانات والأخرى تبني فوق نتائجها — لا يحتاج كلود في الجلسة الأولى أن ينتظرك لتُبلّغ الجلسة الثانية. يرسل الرسالة بنفسه. أنت تُطلعه على ما يجب أن تعرفه الجلسة الأخرى، ويكتب النص الفعلي ويُسلّمه.

كلود يستخدم داخلياً أداتين لإنجاز ذلك: ListAgents للاكتشاف — يعثر بها على الجلسات المتاحة وأسمائها — وSendMessage لإرسال الرسالة بالاسم. لا يُفترض بك استدعاء أيٍّ منهما يدوياً، لكن يمكنك دائماً تشغيل /list-agents لترى أيّ الجلسات يمكن لكلود الوصول إليها.

الرسالة في جوهرها قطعة نص، لا تاريخ محادثة ولا ملفات. إن أردتَ مشاركة سياق أشمل، الحل هو استئناف الجلسة ذاتها، لا المراسلة. مثال ما قد يصل كرسالة فعلية من جلسة إلى أخرى: “Schema migration finished: the new column is tenant_id, and rebasing on main is safe now.”

حالات الاستخدام الحقيقية التي توثّقها أنثروبيك تشمل أربعة سيناريوهات متكررة في العمل المتوازي:

  1. تسليم اكتشاف مفاجئ: حين تكتشف إحدى الجلسات تغييراً كاسراً أو تتخذ قراراً معمارياً، تُلخّصه لكلود في الجلسة المتأثرة مباشرةً بدلاً من أن تُعيد شرح الأمر بنفسك في طرفية أخرى.
  2. تنسيق worktrees المتوازية: حين تعمل جلسات متعددة على المستودع ذاته في فروع منفصلة، تُخطر كل جلسة الأخريات بما وصل إلى main.
  3. الإبلاغ عن مهام طويلة: تُكلّف جلسة تشغيل migration أو مجموعة اختبارات ضخمة بأن تُرسل تقرير الحالة إلى الجلسة التي تُراقبها، بدلاً من أن تنتظر أو تسأل يدوياً.
  4. الرد عبر الأجهزة: إذا كانت لديك جلسة على جهاز آخر أو على Claude Code على الويب، يمكن الرد على رسائلها — لكن ليس البدء بمحادثة جديدة منها.

هذه النقطة الأخيرة تكشف قيداً مهماً في تصميم الميزة: التواصل عبر الأجهزة المختلفة ليس متماثلاً. الجلسات على الجهاز ذاته تتواصل عبر socket مباشر لا يمر بخوادم أنثروبيك. أما الجلسات على جهاز آخر أو على الويب فتمر رسائلها عبر خوادم أنثروبيك وصولاً عبر اتصال Remote Control — ولا يمكن لكلود في هذه الحالة سوى الرد، لا البدء بمحادثة. والأهم أن الرد المُرسَل دون اتصال نشط بـ Remote Control يصل بلا عنوان رد، فيغلق حلقة التواصل.

بخصوص التسليم، هناك ثلاثة مآلات ممكنة لأي رسالة واردة: Delivered حين تُسلَّم فعلاً لكلود، Held حين توضع جانباً ريثما تُوافق عليها أو تتغير الإعدادات، وRefused حين تُحذف كلياً. القاعدة الافتراضية تعتمد على أنماط الصلاحيات: الجلسة التي تطلب إذناً للعمليات (interactive) تتلقى الرسائل مباشرةً من جلسات مماثلة، لكنها تحجب الرسائل القادمة من جلسة تتجاوز الأذونات تلقائياً. بينما الجلسة التي تتجاوز الأذونات تحجب كل شيء إلا الرسائل الواردة من جلسة مماثلة في هذا التجاوز.

ثمة حدود صلاحية واضحة يطبّقها التصميم على الجانب المستلِم: رسالة من جلسة أخرى لا تُعدّ موافقةً منك على أي عملية، ولا يمكنها الإجابة على prompt إذن معلّق. الأوامر المضمّنة في نص الرسالة مثل /compact تصل كنص عادي ولا تُنفَّذ. وكلود مُوجَّه صراحةً بألا يطلب من جلسة أخرى تنفيذ ما رُفض في جلسته هو — بل يُعيد الأمر إليك. هذا التصميم يحول دون استخدام المراسلة كثغرة لتجاوز قيود الصلاحيات الموضوعة لكل جلسة.

من الناحية العملية، كل جلسة تُسجّل نفسها في ملفات على القرص وتربط inbox socket خاصاً بها. ما يعنيه ذلك أن حاوية Docker لها نظام ملفات مستقل، فلا تستطيع جلسة داخلها أن تتواصل مع جلسة على الجهاز المضيف — غير أن جلستين داخل الحاوية ذاتها تستطيعان ذلك، بما فيها بيئات self-hosted runners.

تسمية الجلسات تؤدي دوراً عملياً هنا: كلود يعنون الرسائل بالاسم، فالجلسة غير المُسمّاة تأخذ اسماً مشتقاً من مجلد العمل كـ myapp-3f. يمكنك تسمية أي جلسة بـ /rename أو الراية --name عند الإطلاق. في حال تطابق اسمين، يُضيف Claude Code معرّفاً مختصراً لكل صف في النتيجة ويستخدمه في التعنوان عند الإرسال.

للتحكم في ما تتلقاه كل جلسة، تُتيح إعدادات crossSessionInbound ثلاثة خيارات: accept لتسليم كل رسالة، وhold لإيقافها حتى موافقتك، وrefuse لحذفها فور وصولها. مدة انتظار الموافقة تبلغ خمس دقائق قبل أن تُحذف الرسالة المعلّقة تلقائياً. الجلسات الموجودة على الجهاز ذاته تتلقى تنبيهاً حين يُعلَّق وصول رسالتها، ثم تقريراً بالنتيجة حين يُوافق المستلِم أو يرفض أو ينتهي الوقت. أما الرسالة التي تُرفض فور وصولها فلا تُنتج أي تنبيه على جانب المرسِل.

الميزة تبقى محدودة النطاق قياساً بما يوفره Claude Code للسيناريوهات الأكثر تنظيماً: agent teams للفِرق التي يُنشئها كلود ويُشرف عليها، وagent view لمراقبة جلسات متعددة وتوجيهها من مكان واحد، وRemote Control للتحكم في جلسة من جهاز آخر. cross-session messaging مبني تحديداً للجلسات المستقلة التي تُشغّلها أنت وتُوجّهها — لا للأتمتة الكاملة.

Anthropic Claude Code Docs

مقالات ذات صلة

زر الذهاب إلى الأعلى