إنتقل إلى المحتوى الرئيسي

النسخ الاحتياطي والحالة

يخزن EstaCoda الحالة في نطاقين: عام ومحلي للملف الشخصي. فهم الحد الفاصل مهم عند النسخ الاحتياطي أو الترحيل أو استرداد.

الحالة العامة

الجذر الافتراضي: ~/.estacoda/

المسارما يحتوينسخه؟
active-profile.jsonمؤشر الملف الشخصي النشطلا. يمكن إعادة إنشائه بسهولة.
trust.jsonمنح الثقة في مساحات العملنعم. فقدانه يعني إعادة الثقة.
workspace-approvals.jsonالموافقات المستمرة في مساحات العملنعم. فقدانه يعني إعادة الموافقة.
sessions.sqliteقاعدة بيانات الجلسات مع تحديد النطاق profile_idنعم. تحتوي على التاريخ، المسارات، والمخططات.
update-cache.jsonذاكرة التخزين المؤقت للتحقق من التحديثاتلا. زائل.
packs/registry.jsonlذاكرة التخزين المؤقت للحزم العامةلا. يمكن إعادة التنزيل.
memory/shared/مقتطفات الذاكرة المشتركة العامةنعم. تحتوي على معرفات عبر الملفات الشخصية.

الحالة المحلية للملف الشخصي

جذر الملف الشخصي: ~/.estacoda/profiles/<id>/

المسارما يحتوينسخه؟
config.jsonإعدادات التشغيلنعم. إعادة إنشاؤها تتطلب إعادة الإعداد.
.envالأسرار ومفاتيح APIنعم. غير قابل للاستبدال. احفظه مشفرًا.
auth.jsonرموز المصادقة OAuth (مثل Codex)نعم. الفقدان يتطلب إعادة المصادقة.
USER.mdتفضيلات المستخدم وأسلوب التواصلنعم. سياق مكتسب.
SOUL.mdهوية وذاكرة الأماننعم. سياق مكتسب.
MEMORY.mdالحقائق والاتفاقيات المكتسبةنعم. سياق مكتسب.
promotions.jsonبيانات وصفية للترقيةنعم. جزء من السياق.
gateway/جلسات البوابة، الموافقات، وضع الصوت، رموز التسليمنعم. حالة البوابة الفعالة.
cron/jobs.jsonتعريفات المهام المجدولةنعم. إعادة إنشاء المهام مضجرة.
skills/المهارات المثبتة وحالة التطورنعم. المهارات المخصصة غير قابلة للاستبدال.
logs/سجلات التشغيل والبوابةلا. زائلة.
channel-media/المرفقات المنزلةاختياري. يمكن إعادة التنزيل في الأغلب.
audio-cache/ذاكرة التخزين المؤقت للصوتلا. قابل للإعادة التوليد.
image-cache/ذاكرة التخزين المؤقت للصورلا. قابل للإعادة التوليد.
temp/الملفات المؤقتةلا. زائلة.
external-memory/سجلات الذاكرة الخارجية المدعومة بالملفاتنعم، إذا كانت الذاكرة الخارجية مُفعلة.

ما لا يجب تحريره بدون فهم

  • sessions.sqlite — لا تُعدّل مباشرة. المخطط داخلي. استخدم أوامر CLI للفحص.
  • .env و auth.json — احفظ النسخ الاحتياطي مشفراً. هذه الملفات تحتوي على بيانات الاعتماد.
  • gateway/ — لا تحذف بينما البوابة قيد التشغيل. أوقف البوابة أولاً.
  • promotions.json — لا تُحرّر يدوياً إلا إذا فهمت مخطط الترقية. تلويثه قد يكبت مداخل الذاكرة.
  • skills/.evolution/ — يحتوي على بيانات وصفية للمقترحات. التحرير اليدوي قد يكسر مسار التطور.
  • .backups/ — يحتوي على نسخ من الحالة المحمية المتوفرة قبل تحديثات managed-source. لا تتم استعادتها تلقائياً; انسخها يدوياً إذا كنت تحتاج.

النسخ الاحتياطي للتحديث

estacoda update ينشئ نسخة احتياطية من الحالة المحمية قبل تعديل شخص managed-source.

  • ما يتم نسخه: active-profile.json، profiles/، trust.json، workspace-approvals.json، sessions.sqlite، memory/، packs/registry.jsonl، وملف config.json المشروع إذا كان معروفاً.
  • أين: ~/.estacoda/.backups/pre-source-update-<timestamp>/
  • متى: قبل كل تحديث managed-source إلا إذا تم تمرير --no-backup.
  • الاستعادة: انسخ الملفات يدوياً. لا يوجد أمر استعادة تلقائي.
  • التخطي: --no-backup يتخطّى النسخ. غير مستحسن.

سلوك بيانات إلغاء التثبيت

الوضع الافتراضي لـ estacoda uninstall يحتفظ بـ ~/.estacoda بالكامل. لإزالة بيانات المستخدم، يجب تمرير كلاً من العلمتين:

estacoda uninstall --purge --yes
  • --purge وحده مرفوض.
  • --yes وحده يحتفظ ببيانات المستخدم.
  • عندما تم تمرير كلاهما، يتم إزالة ~/.estacoda بعد إيقاف البوابة وإزالة كود التثبيت.
  • الملفات الشخصية الأخرى محفوظة في v0.1.0. إزالة الجملة تتطلب علم صريح مستقبلاً.

سير عمل النسخ الاحتياطي

# نسخ ملف شخصي واحد
rsync -av ~/.estacoda/profiles/work/ /backup/estacoda-profiles/work/

# نسخ الحالة العامة
rsync -av ~/.estacoda/trust.json ~/.estacoda/workspace-approvals.json \
~/.estacoda/sessions.sqlite ~/.estacoda/memory/shared/ /backup/estacoda-global/

استبعد من النسخ الروتيني: logs/ و temp/ و audio-cache/ و image-cache/ و channel-media/ و update-cache.json و packs/.

سير عمل استرداد الحالة

# استرداد ملف شخصي
rsync -av /backup/estacoda-profiles/work/ ~/.estacoda/profiles/work/

# استرداد الحالة العامة
rsync -av /backup/estacoda-global/ ~/.estacoda/

# التحقق
estacoda settings profile --profile work
estacoda gateway diagnose --profile work

ملاحظات الترحيل

  • الجلسات محددة بالملف الشخصي. جلسة من الملف الشخصي default لا تظهر في الملف الشخصي work.
  • الحالة العامة مشتركة. استرداد trust.json يؤثر جميع الملفات الشخصية.
  • active-profile.json هو مؤشر فقط، وليس حالة. يمكنك تبديل الملفات الشخصية دون ترحيل البيانات.

صفحات ذات صلة