تخطَّ إلى المحتوى
kazma.
EN نجمة 7 ابدأ الآن

السفر عبر الزمن وإعادة التشغيل والتفريع

السفر عبر الزمن وإعادة التشغيل والتفريع

Section titled “السفر عبر الزمن وإعادة التشغيل والتفريع”

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


1. تسجيل اللقطات (snapshots.db)

Section titled “1. تسجيل اللقطات (snapshots.db)”

تُلتقط لقطات الحالة بواسطة SnapshotRecorder (kazma_core/time_travel.py) أثناء تنفيذ المُشرف.

  • الاستمرارية: تُحفظ في قاعدة SQLite WAL عند kazma-data/snapshots.db.
  • الاحتفاظ: سقف LRU لكل خيط (افتراضي 50 لقطة لكل خيط، قابل للضبط عبر time_travel.max_snapshots).
  • البيانات الملتقطة: SupervisorState كامل (الرسائل، التكرار، النموذج، نتائج الأدوات، مساحة العمل النشطة).

2. أوامر السفر التفاعلي عبر الزمن

Section titled “2. أوامر السفر التفاعلي عبر الزمن”
الأمرالإجراءالسلوك
/replay <iteration>إعادة لف في المكانيستعيد الحالة عند <iteration> على نفس معرّف الخيط. يعدّل حالة الخيط الحي عبر graph.aupdate_state().
/fork <iteration>تفريع الخيطيستعيد الحالة عند <iteration> تحت معرّف خيط جديد (gw-{platform}-{sender}-{uuid}). الخيط الأصلي يبقى دون تغيير.

3. تكامل واجهة الويب ودفق SSE

Section titled “3. تكامل واجهة الويب ودفق SSE”
  • موجّه API لإعادة التشغيل: مُثبَّت عند /api/replay/* (kazma_ui/replay_routes.py).
  • أحداث SSE للقطات: أدوار الرسم النهائية تُصدر إطار SSE snapshot يحمل snapshot_id وsnapshot_iteration، مما يمكّن الشريط الجانبي من أزرار إعادة لف فورية.