النسخ الاحتياطي والحالة
يخزن 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هو مؤشر فقط، وليس حالة. يمكنك تبديل الملفات الشخصية دون ترحيل البيانات.
صفحات ذات صلة
- الحالة والملفات — مرجع كامل لمسارات الملفات
- الأسئلة الشائعة — أين تعيش الحالة
- تشغيل البوابة — إدارة حالة البوابة