zshell

العمل مع وكلاء الذكاء الاصطناعي

دع وكلاء البرمجة يفوضون المهام وينسقون بين لوحات Zshell مع الحفاظ على تركيزك وتحكمك.

تستهدف أتمتة Zshell أساسًا وكلاء البرمجة بالذكاء الاصطناعي. وهي تمنحهم وسيلة آمنة للعمل مع لوحات Zshell وتنسيق عمل وكلاء آخرين؛ وليست لغة أوامر إضافية تحتاج إلى تعلمها.

يكون تكامل الذكاء الاصطناعي مفعّلًا افتراضيًا. تحدث مع وكيلك كالمعتاد. يمكنه إنشاء لوحة في الخلفية وبدء عامل مفوّض وتنفيذ أمر وانتظار النتيجة وإعادة الإجابة إليك دون سحب التركيز من اللوحة التي تستخدمها.

انتظار نتائج الأوامر

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

تُرفض الأوامر المباشرة exit وlogout وexec لأنها تنهي الصدفة الأصلية أو تستبدلها؛ استخدم /bin/sh -c لتنفيذها في عملية فرعية.

الإعداد

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

يدعم Zshell أدوات Codex وClaude Code وGemini CLI وGrok Build وOpenCode وCursor Agent وAider وAmp وPi. إذا وجد إعدادًا موجودًا للوكيل يتعارض مع هذه الميزة، يتركه دون تغيير ويعيد المفتاح إلى حالته السابقة ويعرض الخطأ في الإعدادات.

الطلب بلغة طبيعية

أخبر الوكيل بالنتيجة التي تريدها. مثلًا:

شغّل الاختبارات المتعلقة بالمهمة في لوحة خلفية وأخبرني بما يفشل منها.

فوّض هذا الخطأ إلى وكيل Codex آخر، ثم راجع نتيجته.

اسأل الوكيل الذي يعمل على واجهة البرمجة إن كان المخطط جاهزًا، ثم مرّر إجابته إلى الوكيل الذي يشغّل الاختبارات.

شغّل خادم التطوير بجانبنا وانتظر حتى يصبح جاهزًا وأعطني عنوان URL.

تحقق إن كان الوكيل في الخلفية قد انتهى. وإذا كان متوقفًا بانتظار شيء، فأخبرني بما يحتاجه.

يتعامل الوكيل مع واجهة أتمتة Zshell نيابةً عنك. لا تحتاج إلى كتابة أو حفظ أي أوامر أتمتة خاصة به.

تنسيق الوكلاء بين اللوحات

يمكنك تقسيم عمل مترابط بين عدة لوحات Zshell وطلب تنسيقه من وكيلك الرئيسي. مثلًا، يعمل أحد الوكلاء على واجهة البرمجة بينما يحدّث آخر الاختبارات. يستطيع الوكيل المنسّق طلب نتائج عامل محدد وإرسال متابعة وتمرير نتيجة مفيدة لعامل آخر وإعادة الإجابة المجمّعة إليك. ويمكن للعمال استخدام أدوات برمجة مدعومة مختلفة.

يزيل ذلك خطوة النسخ واللصق من العمل المتوازي. يحتفظ كل وكيل بمحادثته في لوحته، بينما ينقل المنسّق فقط السؤال أو التحديث أو النتيجة التي يحتاجها العامل الآخر.

لا تعني رسالة المتابعة أن العمل انتهى. يظل على المنسّق انتظار العامل وقراءة نتيجته والتحقق منها. كما لا تُعامل رسالة من وكيل آخر مطلقًا على أنها موافقتك. تبقى مسائل الأذونات وبيانات الاعتماد والثقة والإجراءات المدمرة بحاجة إلى قرارك.

متابعة عملك أثناء التنفيذ

تبقى اللوحات المفوّضة في الخلفية ما لم تطلب رؤيتها. عندما يرسل تكامل دورة الحياة الأصلي لدى المزوّد حالةً، يعرضها Zshell على لوحة الوكيل وعلامة تبويبه:

الحالةما تعنيه لك
يعملينفذ الوكيل المهمة فعليًا.
متوقف بانتظاركيحتاج إلى إدخال أو موافقة أو قرار منك.
اكتملانتهى في الخلفية ولم تفتح لوحته بعد.

يعطي Zshell الأولوية لأحداث Codex وClaude Code وPi وOpenCode وGrok الأصلية، ثم لتقارير البرامج الصريحة. مرّر المؤشر فوق شارة الحالة أو افتح Agents لرؤية المصدر وسبب الانتظار والنسبة والمهام الفرعية. يجب مراجعة خطافات Codex والوثوق بها أولًا عبر /hooks؛ لا يتجاوز Zshell هذه الخطوة.

عند غياب تقرير أصلي، يُفحص جزء محدود فقط من أسفل الشاشة الحالية لعملية وكيل معروفة. يُوسم الاستنتاج من الشاشة بوضوح، ولا يعلن الاكتمال أو يرسل إشعارًا أو يحقق شرط zshell +agent wait. كما لا يمنح أي موافقة. افحص اللوحة والنتيجة الفعلية.

تستخدم البرامج zshell +agent report للإبلاغ عن التقدم وzshell +agent clear لمسح تقريرها. تنتهي صلاحية التقرير بعد 120 ثانية بلا تحديث أو عند انتهاء العملية المالكة.

عندما يبلغ التكامل عن انتهاء الوكيل أو حاجته إلى إدخال، يمكن لـ Zshell أيضًا إرسال إشعار. اضغط Cmd+Shift+A للانتقال إلى الوكيل التالي الذي أبلغ عن حاجته إلى انتباهك.

استخدام الحساب وحدوده

تعرض الإعدادات ← الأتمتة ← استخدام الحساب حدود الحساب المتاحة لـ Claude Code وCodex، بما في ذلك النسبة المستخدمة ووقت إعادة الضبط إن توفّر ووقت آخر تحديث. استخدم تحديث الاستخدام لإعادة تحميل أحدث بيانات متاحة.

يتطلب Codex واجهة سطر أوامر مثبتة ومسجّلًا الدخول إليها وقادرة على الإبلاغ عن حدود الحساب. يظهر استخدام Claude Code عندما يستقبل Zshell تقرير استخدام من المزوّد عبر سطر الحالة. لا يظهر القسم إلا عند توفر بيانات، وتعتمد الفترات المدعومة على المزوّد والحساب. هذه حدود الحساب وليست مجموع الرموز للجلسة المركّز عليها.

سير عمل معتاد

  1. شغّل وكيل البرمجة المعتاد في طرفية Zshell.
  2. اطلب منه تفويض مهمة محددة أو تشغيل شيء في الخلفية أو تنسيق وكيل آخر.
  3. تابع عملك في اللوحة الحالية، بينما يبقي Zshell العمل المفوّض ظاهرًا في تخطيط المشروع.
  4. تابع شارات يعمل أو متوقف بانتظارك أو اكتمل عندما يبلّغ عنها المزوّد. إذا لم تبلغ الأداة عن دورة الحياة، افتح اللوحة لفحص المحادثة أو مخرجات الطرفية.
  5. راجع الملفات الناتجة في لوحة Git، وافحص الفروق وقرر ما تريد الاحتفاظ به.

أنت تبقى المتحكم

  • تبقى أتمتة الوكلاء داخل مشروع Zshell الحالي، ولا تصل إلى لوحات في مشروع أو نافذة أخرى.
  • لا يستحوذ العمل في الخلفية على التركيز إلا إذا طلبت ذلك صراحةً.
  • لا يجيب Zshell نيابةً عنك عن طلبات الأذونات أو بيانات الاعتماد أو الثقة أو الإجراءات المدمرة. يعيد الوكيل المتوقف وفق تقرير المزوّد القرار إليك.
  • الإبلاغ عن الاكتمال إشارة لمراجعة النتيجة، وليس موافقة تلقائية على تغييرات الوكيل.

إذا لم يستخدم الوكيل Zshell

  • تأكد من تفعيل الإعدادات ← الأتمتة ← الذكاء الاصطناعي.
  • افتح طرفية Zshell جديدة إذا كانت الحالية موجودة قبل تفعيل الخيار.
  • أعد تشغيل الوكيل الذي كان يعمل عند التفعيل.
  • تحقق من الإعدادات بحثًا عن خطأ إعداد ظاهر بجانب الخيار.
  • اطلب صراحةً «لوحة Zshell في الخلفية» أو «وكيل Zshell مفوّض» عندما تريد استخدام هذا الأسلوب في مهمة.

استئناف المحادثة الأصلية

عند تفعيل استئناف محادثات الوكلاء، تستأنف اللوحة ذات PTY الأصلي غير المتاح محادثتها المسجلة في Claude Code أو Codex أو Pi أو OpenCode. تحتفظ اللوحات التي تستخدم المجلد نفسه بمحادثات مستقلة.

يثبّت Zshell خطافات SessionStart لـ Claude Code وCodex وإضافة Pi وملحق TUI لـ OpenCode في إعدادات الموفر الموجودة. يحافظ على الخطافات والملحقات والإعدادات وتعليقات JSONC الأخرى. عند طلب الموفر، فعّل الخطافات في رسالة الثقة في Claude Code ووافق على خطافات Codex الجديدة في /hooks. أعد تشغيل الوكلاء الذين كانوا يعملون قبل التثبيت.

يمكن استئناف المحادثات الجذرية المتحقق منها التي تبلغ عنها هذه التكاملات فقط. تُدعم جلسات app-server المشتركة في Codex عندما يطابق معرّف محادثة متحقق منه اللوحة؛ ولا تُربط المطابقات الملتبسة. للمحادثات على المضيفين البعيدين، راجع الجلسات البعيدة المشتركة. يتطلب OpenCode واجهة ملحقات TUI؛ ولا يدعم الإصدارات القديمة أو جلسات الخادم بلا واجهة أو opencode attach. لا يستطيع وكيل فرعي استبدال محادثة لوحة الوكيل الأصل. يتطلب Pi ملف الجلسة المحفوظ.

إذا غابت الهوية الموثقة أو مجلد العمل الأصلي أو ملف Pi، تُفتح صدفة جديدة. يؤدي غياب CLI أيضًا إلى العودة إلى الصدفة. لا يعيد Zshell أوامر بدء عشوائية ولا يختار محادثة حديثة. تعرض CLI أخطاء الموفر مثل حذف المحادثة.

البحث عن المحادثات المحفوظة واستئنافها

افتح الوكلاء ← سجل محادثات الوكلاء، أو اضغط الساعة أعلى الشريط الجانبي للمشاريع. ابحث عبر المشاريع بالعنوان أو المزوّد أو المشروع أو معرّف المحادثة أو مجلد العمل أو الإعدادات. يحتفظ Zshell بأحدث 200 محادثة محلية موثّقة بعد إغلاق الوكلاء واللوحات وإعادة تشغيل التطبيق. تعرض الأخيرة 20 نتيجة غير مؤرشفة، وتشمل الكل الأرشيف، وتعرض المؤرشفة الأرشيف فقط.

اختر عرض المحادثة إن كانت مفتوحة أو استئناف المحادثة إن كانت محفوظة. يعيد Zshell استخدام لوحة مفتوحة، أو يتصل بـ PTY ما زال يعمل، أو يستأنف محادثة المزوّد المحددة بمجلدها وإعداداتها الأصلية. يتطلب الاستئناف اليدوي تكامل الذكاء الاصطناعي، حتى عند تعطيل الاستعادة التلقائية. يظهر خطأ قبل إنشاء لوحة إذا غابت المجلدات أو غاب ملف Pi أو لم يطابق المحادثة.

تخفي أرشفة السجل من الأخيرة، وتعيده إلغاء الأرشفة. يزيل حذف… سجل Zshell فقط ويحافظ على ملفات المحادثة لدى المزوّد.

داخل لوحة Zshell، تعمل zshell +agent history --all وzshell +agent resume --id HISTORY_UUID ضمن مشروعها. من طرفية خارجية عادية، أبقِ Zshell قيد التشغيل، واكتشف UUID المشروع، ثم حدده صراحةً:

zshell +agent history projects
zshell +agent history --project PROJECT_UUID --all
zshell +agent resume --project PROJECT_UUID --id HISTORY_UUID --focus

يستأنف CLI في الخلفية ما لم تضف --focus. للمشروع المفتوح في عدة نوافذ، اختر --window WINDOW_UUID من history projects. عند تشغيل عدة نسخ من التطبيق، استخدم --connection PATH مع المسار المطلق لملف الاتصال الخاص الذي يعرضه CLI. هذه الخيارات للطرفيات الخارجية فقط؛ تحتفظ عمليات اللوحات بنطاق مشروعها الأصلي.

متابعة أحداث المشروع المباشرة

شغّل zshell +events داخل طرفية Zshell لتلقي التغييرات اللاحقة في مشروعها ونافذتها بصيغة NDJSON دون استطلاع دوري. الخيارات: --pane UUID و--event NAME القابل للتكرار و--once و--timeout MS (القيمة 0 لانتظار غير محدود).

يشمل إنشاء وإغلاق الجلسات واللوحات والتركيز وتقدم الوكلاء وطلب الانتباه والانتهاء واكتمال الأوامر. يبدأ stream.ready بالقيمة sequence 0 وتزداد مع كل حدث مطابق. يحتوي كل سطر على version وevent وstream_id وsequence وtime بالمللي ثانية منذ Unix وproject_id وdata. لا يعاد السجل. اقرأ نتائج المهام عبر +pane wait --task UUID.

الحدود: 32 اشتراكًا و256 إطارًا و1 MiB لكل طابور و64 KiB لكل إطار. يتلقى القارئ البطيء stream.lagged إن أمكن ثم ينقطع؛ وتعذر الكتابة لثانيتين يغلق الاتصال أيضًا. التأخر أو الانقطاع غير المتوقع أو خطأ التسلسل يؤدي إلى رمز خروج غير صفري. أعد الاشتراك واقرأ الحالة الحالية. إغلاق الطرفية أو تدوير الرمز أو نقلها إلى مشروع أو نافذة أخرى ينهي الاشتراك. لا تحكم خارجي ولا --project؛ حذف متغيرات البيئة لا يوسع الصلاحيات. المهلة دون تطابق مع --once تعيد 124، والمهلة العادية تعيد 0.

zshell +events --event command.task.finished --once --timeout 30000

pane.updated: data.from → data (tab_id, pane_id, terminal_id, content).