Pi Agent: Session Management
آخر تحديث: 2026-08-31
--- title: "إدارة الجلسات" description: "أتقن إدارة جلسات Pi Agent بما في ذلك الإنشاء والاستمرارية والاستعادة والتفرع والمشاركة." order: 8 lang: ar
الجلسات هي "كبسولات ذاكرة" الوكيل — احفظها لتكمل لاحقاً؛ افرعها لتستكشف الاحتمالات.
1. ما هي الجلسة
تسجل الجلسة تفاعلاً كاملاً، بما في ذلك:
- سجل المحادثات
- حالة السياق
- سجلات استدعاء الأدوات
- تكوين الوكيل
PYTHON
from pi_agent import Agent, Session
session = Session(name="project_review")
agent = Agent(name="reviewer", session=session)
agent.chat("Review main.py")
agent.chat("What security issues are there?")
print(len(session.messages)) # 4 (2 مستخدم + 2 وكيل)
2. استمرارية الجلسة
(1) الحفظ في ملف
PYTHON
from pi_agent import Agent
agent = Agent(name="tutor")
agent.chat("Teach me Python decorators")
agent.session.save("decorator_session.json")
(2) التحميل من ملف
PYTHON
from pi_agent import Agent
agent = Agent(name="tutor")
agent.session.load("decorator_session.json")
agent.chat("How does it differ from class method decorators?")
(3) الحفظ التلقائي
PYTHON
agent = Agent(name="tutor", auto_save=True, save_dir="./sessions/")
3. تفرع الجلسات
التفرع ينشئ مسارات محادثة متوازية من أي نقطة:
مثال 1: استكشاف نهوج مختلفة (الصعوبة: ⭐⭐)
PYTHON
from pi_agent import Agent
agent = Agent(name="architect")
agent.chat("Design a user authentication system architecture")
# الوكيل قدم نهج JWT
branch1 = agent.branch(name="jwt_branch")
agent.chat("Redesign using OAuth2")
# الوكيل قدم نهج OAuth2
branch1.chat("How to handle token refresh in JWT?")
# جلستان مستقلتان
print(agent.session.messages) # مسار JWT -> OAuth2
print(branch1.session.messages) # مسار JWT -> refresh
4. إدارة الجلسات عبر CLI
BASH
pi-agent sessions list
pi-agent sessions show decorator_session
pi-agent chat --session decorator_session
pi-agent sessions delete old_session
pi-agent sessions export decorator_session --format markdown --output chat.md
5. البحث والوسوم في الجلسات
(1) إضافة وسوم
PYTHON
agent.session.add_tag("python")
agent.session.add_tag("decorator")
agent.session.add_tag("advanced")
(2) البحث في الجلسات
PYTHON
from pi_agent import SessionManager
manager = SessionManager()
sessions = manager.find_by_tag("python")
sessions = manager.find_by_date("2026-08-28")
sessions = manager.search("decorator closure")
(3) البحث عبر CLI
BASH
pi-agent sessions search "decorator"
pi-agent sessions list --tag python --date 2026-08-28
6. مشاركة الجلسات
(1) التصدير كـ Markdown
PYTHON
agent.session.export("chat.md", format="markdown")
(2) التصدير كـ JSON
PYTHON
agent.session.export("chat.json", format="json")
(3) المشاركة مع وكيل آخر
PYTHON
new_agent = Agent(name="continuer")
new_agent.session.import_from(agent.session)
new_agent.chat("Continue the discussion, dive deeper into metaclasses")
❓ أسئلة شائعة
س أين تُخزن ملفات الجلسات؟
ج الافتراضي هو
~/.pi-agent/sessions/. خصّص باستخدام معلمة save_dir.س ما حجم ملفات الجلسات؟
ج يعتمد على طول المحادثة. حوالي 50-200KB لـ 100 جولة. الصور والكود الطويل يزيدان الحجم.
س هل يمكنني دمج جلستين؟
ج نعم. استخدم
session.merge(other_session). تُرتّب الرسائل حسب الطابع الزمني.📖 ملخص
- الجلسات تسجل التفاعلات الكاملة؛ تدعم الحفظ والتحميل والحفظ التلقائي
- التفرع يستكشف نهوجاً مختلفة دون التأثير على المسار الرئيسي
- الوسوم والبحث يساعدان في العثور على الجلسات التاريخية بسرعة
- التصدير كـ Markdown/JSON للمشاركة والأرشفة
📝 تمارين
- أساسي (الصعوبة: ⭐): أنشئ جلسة، أجرِ 5 جولات من المحادثة، احفظ وأعد التحميل.
- متوسط (الصعوبة: ⭐⭐): أنشئ فرعين من جلسة واحدة، استكشف نهوجاً مختلفة، قارن النتائج.
- متقدم (الصعوبة: ⭐⭐⭐): ابنِ سكريبت "لوحة تحكم الجلسات" يعرض إحصائيات لجميع الجلسات: الوسوم، عدد الجولات، استخدام الرموز.