عن المشروع

# مخطط إعادة ضبط جلسة Claude Code ## نظرة عامة هذه أداة أتمتة قائمة على GitHub Actions تدير إعادة ضبط جلسات Claude Code بشكل مجدول. يقوم النظام بتفعيل عمليات إعادة ضبط الجلسة تلقائيًا في أوقات مختارة بشكل استراتيجي لتتوافق مع فترات العمل النموذجية، مما يضمن للمستخدمين الحصول على نافذة استخدام جديدة مدتها 5 ساعات عند الحاجة. ## القدرات الرئيسية ### إدارة الجلسة الآلية - تُطلق أربع عمليات إعادة ضبط للجلسة يوميًا متوافقة مع فترات العمل الشائعة - تستخدم نظام عد تنازلي مدته 5 ساعات بين أحداث التفعيل وإعادة الضبط - جدول زمني قابل للتخصيص عبر تعبيرات cron ### مراقبة الصحة - فحوصات تحقق عبر الأسئلة والأجوبة مدمجة (مثل "1+1=؟") لتأكيد وظائف Claude Code - تسجل نتائج فحص الصحة مع الطوابع الزمنية - تتحقق من أن النظام يعمل قبل وضع علامة على عمليات إعادة الضبط كمكتملة ### دعم الرموز المميزة المتعددة - تكوين رموز OAuth الأساسية والاحتياطية للموثوقية - تتبع النشاط لكل رمز مميز في السجلات - توفر التكرار إذا فشل أحد الرموز المميزة ### تسجيل النشاط - ملفات سجل CSV شهرية مخزنة في `logs/YYYYMM-session-log.csv` - تشمل السجلات الطابع الزمني، ونوع الحدث، ومعرف الرمز المميز، ووقت إعادة الضبط - تحفظ عمليات Git الآلية سجلات التاريخ ### حماية المهلة الزمنية - مهلة زمنية على مستوى المهمة: 5 دقائق - مهلة زمنية على مستوى الخطوة: دقيقتان لكل إجراء - تمنع عمليات التنفيذ غير المنضبطة من استهلاك الموارد ## الجدول الافتراضي (UTC+8) | وقت التفعيل | وقت إعادة الضبط | التغطية | |------------|-----------|----------| | 05:23 | 10:00 صباحًا | فترة عمل الصباح | | 10:23 | 3:00 مساءً | فترة عمل ما بعد الظهر | | 17:23 | 10:00 مساءً | فترة عمل المساء | | 22:23 | 3:00 صباحًا (اليوم التالي) | تغطية الليل المتأخر | يُطلق كل تفعيل قبل 5 ساعات من وقت إعادة الضبط المرغوب. يستخدم النظام الدقائق `:23` لتجنب ازدحام تنفيذ GitHub Actions. ## تعليمات الإعداد 1. **توليد رمز OAuth**: قم بتشغيل `claude setup-token` وانسخ الرمز المميز الذي تم إنشاؤه 2. **إضافة الأسرار**: قم بتكوين `CLAUDE_CODE_OAUTH_TOKEN_1` واختياريًا `CLAUDE_CODE_OAUTH_TOKEN_2` في إعدادات مستودع GitHub 3. **تمكين Actions**: تأكد من أن المستودع لديه إذن `id-token: write` لـ GitHub Actions 4. **التفعيل**: ادفع ملف سير العمل لتفعيل المخطط ## التخصيص قم بتعديل `.github/workflows/auto-checkin.yml` لتغيير جداول cron. صيغة التوقيت هي: ``` وقت التفعيل + 5 ساعات = وقت إعادة ضبط الجلسة ``` أمثلة: - إعادة ضبط يومية واحدة في الساعة 9:00 صباحًا: استخدم cron `23 20 * * *` (يُطلق التفعيل في 4:23 صباحًا UTC ويُعيد الضبط في 9:00 صباحًا UTC+8) - مرتان يوميًا في الساعة 10:00 صباحًا و 4:00 مساءً: استخدم cron `23 21,3 * * *` ## الاختبار - **GitHub Actions**: انتقل إلى تبويب Actions وقم بتشغيل سير العمل يدويًا - **الاختبار المحلي**: `uv run --python 3.13 python src/log_qa_check.py --token TOKEN_1` ## هيكل الملفات ``` .github/workflows/auto-checkin.yml # تكوين المخطط src/log_qa_check.py # سكربت الأسئلة والأجوبة والتسجيل logs/YYYYMM-session-log.csv # سجلات النشاط الشهرية ``` ## استكشاف الأخطاء وإصلاحها - **أخطاء OAuth**: أعد توليد الرمز المميز باستخدام `claude setup-token` وتأكد من تطابق أسماء الأسرار تمامًا - **مهلات سير العمل**: تأكد من نشر أحدث إصدار مع حماية المهلة الزمنية - **أوقات خاطئة**: تحقق من تحويلات UTC وتذكر أن GitHub Actions قد يكون بها تأخيرات تنفيذ طفيفة - **لا توجد سجلات**: تحقق من حالة مصادقة Claude واختبر محليًا قبل الاعتماد على الأتمتة ## الأمان - لا تكتب الرموز المميزة بشكل ثابت في الكود المصدري أبدًا - استخدم GitHub Secrets لجميع القيم الحساسة - قم بتدوير رموز OAuth بشكل دوري - حدد الوصول إلى المستودع للمساهمين الموثوقين فقط يتضمن المشروع سجلات قرارات التصميم (ADRs) التي توثق خيارات التصميم حول تحسين الجدولة، وتكوين المهلة الزمنية، وتنفيذ فحص الصحة.