zshell

الجلسات البعيدة المشتركة

اتصل بالطرفية نفسها عبر SSH أو Tailscale مع استمرار المهام بعد فصل العميل.

يحتفظ zshell-server بالصدفة ومهامها على جهاز macOS أو Linux. يدعم محركي الطرفية في Zshell. إغلاق العميل أو انقطاع الشبكة لا ينهي المهام، وتعيد إعادة الاتصال الشاشة وسجل التمرير والمؤشر وأوضاع الطرفية.

التثبيت

في المضيفون البعيدون… اختر تثبيت / تحديث الخادم عبر SSH. يستخدم Mac ذو البنية المطابقة البرنامج المرفق. لـLinux اختر zshell-server المبني للمنصة والبنية. تُتحقق عملية النقل والتوافق قبل الاستبدال. تبقى الخدمة الحالية بإصدارها حتى إعادة التشغيل، التي تنهي مهامها. يمكنك أيضاً البناء على المضيف:

cargo build --locked --release --manifest-path remote/Cargo.toml
install -d "$HOME/.local/bin"
install -m 755 remote/target/release/zshell-server "$HOME/.local/bin/zshell-server"

يستطيع العميل استخدام صدفة وملفات حساب الخادم. يدعم macOS وLinux.

SSH

تحقق أولاً من مفتاح المضيف والمصادقة بالمفتاح أو الوكيل:

ssh devbox true

افتح المضيفين البعيدين من قائمة الشبكة في الشريط الجانبي. أدخل اسماً وssh://me@devbox:22 أو اسم SSH مستعاراً و~/.local/bin/zshell-server. يجلب الاتصال المشاريع والجلسات الموجودة. أدخل مجلداً مثل ~/repo وافتح المشروع البعيد لإنشاء صدفة. المسافات في المسارات مدعومة، وكذلك تعمل علامات التبويب والتقسيمات الجديدة على المضيف البعيد.

يبدأ SSH الخدمة تلقائياً ويستخدم إعدادات OpenSSH والمفاتيح والوكيل ومفاتيح المضيف الموثوقة. تظهر المفاتيح غير المعروفة وفشل المصادقة كأخطاء. تستخدم الملفات وGit اتصال SSH إلى المضيف نفسه حتى إن استخدمت الطرفية Tailscale. لا تصل المسارات البعيدة إلى ملفات Mac. يمكن لـZSHELL_SSH_CONFIG_FILE تحديد مسار مطلق لملف OpenSSH منفصل قابل للقراءة.

Tailscale

سجل الجهازين في Tailscale وابدأ المستمع الخاص قبل إنشاء الجلسات:

zshell-server serve --listen tailscale://:7373

أضف tailscale://devbox:7373. تُقبل MagicDNS وعناوين Tailscale من نوع IPv4 وIPv6 وتُرفض العناوين العامة. يسمح الإعداد الافتراضي بأجهزة مالك المضيف غير الموسومة فقط. يسمح --allow-user باسم دخول آخر مطابق تماماً، بينما تبقى الأجهزة الموسومة مرفوضة. استخدم SSH من جهاز الخادم نفسه. تُطبق أيضاً قواعد ACL للشبكة. يستطيع العميل المسموح تشغيل حساب Unix الخاص بالخدمة.

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

المشاركة والإنهاء

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

إغلاق جزء أو مشروع أو نافذة، وخيارا إنهاء التطبيق، يفصلان العميل فقط. يتطلب إنهاء الجلسة البعيدة تأكيداً ثم يوقف الصدفة ومهامها للجميع. على المضيف: zshell-server terminate --project ~/repo --session UUID.

الملفات واللقطات

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

محادثات الوكيل البعيد

تستخدم أنشطة الوكيل البعيد وتقدمه وطلبات الموافقة واكتماله الحالات والإشعارات الحالية. يتضمن سجل محادثات الوكيل محادثات Claude Code وCodex وOpenCode وPi على المضيف. الاستئناف يعيد الاتصال بالمحادثة الحية أو يبدأ جلستها الدقيقة على المضيف والمجلد الأصليين. يبقى سجل المحادثة بعد إعادة الخدمة؛ لا تبقى المهام وسجل الطرفية. يجب توفر المزود وإعداداته أو ملف الجلسة الأصلي.

الحدود

تستمر الجلسات ما دامت الخدمة حية، ولا تتجاوز إعادة تشغيل المضيف أو تعطل الخدمة أو إعادة تشغيلها. تظهر الجلسة المفقودة كخطأ ولا تُستبدل سراً بصدفة جديدة. الحدود هي 128 جلسة ولقطة طرفية 16 MiB وطابور مباشر 1 MiB لكل عميل. لا يمنع العميل البطيء الآخرين، ويظل السجل في ذاكرة المضيف. راجع مرجع الخادم للخدمات وCLI.