इस प्रोजेक्ट के बारे में
# Claude Code Session Reset Scheduler
## अवलोकन
यह GitHub Actions आधारित एक ऑटोमेशन टूल है जो नियत समय पर Claude Code सेशन रीसेट प्रबंधित करता है। सिस्टम ऐसे समय पर ऑटोमैटिक सेशन रीसेट ट्रिगर करता है जो सामान्य कार्य अवधियों के साथ सहमत हैं, ताकि उपयोगकर्ताओं के पास जरूरत पड़ने पर ताज़ा 5-घंटे का उपयोग विंडो उपलब्ध हो।
## प्रमुख क्षमताएं
### ऑटोमैटेड सेशन प्रबंधन
- सामान्य कार्य अवधियों के अनुरूप दिन में चार सेशन रीसेट ट्रिगर करता है
- ट्रिगर और रीसेट घटनाओं के बीच 5-घंटे की 카उंटडाउन सिस्टम का उपयोग करता है
- क्रोन एक्सप्रेशन के माध्यम से अनुकूलनीय शेड्यूल
### हेल्थ मॉनिटरिंग
- Claude Code की कार्यात्मकता की पुष्टि करने के लिए बिल्ट-इन Q&A सत्यापन जांच (जैसे "1+1=?")
- टाइमस्टैम्प के साथ हेल्थ चेक परिणाम लॉग करता है
- रीसेट को पूर्ण मार्क करने से पहले सिस्टम संचालन योग्य है इसकी पुष्टि करता है
### मल्टी-टोकन सपोर्ट
- विश्वसनीयता के लिए प्राथमिक और बैकअप OAuth टोकन कॉन्फ़िगर करें
- लॉग में प्रति टोकन गतिविधि ट्रैक करें
- यदि एक टोकन विफल हो जाए तो रिडंडेंसी
### गतिविधि लॉगिंग
- `logs/YYYYMM-session-log.csv` में स्टोर होने वाले मासिक CSV लॉग फ़ाइलें
- रिकॉर्ड में टाइमस्टैम्प, इवेंट प्रकार, टोकन ID और रीसेट समय शामिल हैं
- स्वचालित Git commit लॉग इतिहास को संरक्षित रखते हैं
### टाइमआउट प्रोटेक्शन
- जॉब-लेवल टाइमआउट: 5 मिनट
- स्टेप-लेवल टाइमआउट: कार्रवाई प्रति 2 मिनट
- भागती निष्पादन को संसाधनों का उपभोग करने से रोकता है
## डिफ़ॉल्ट शेड्यूल (UTC+8)
| ट्रिगर समय | रीसेट समय | कवर |
|------------|-----------|----------|
| 05:23 | 10:00 AM | सुबह कार्य अवधि |
| 10:23 | 3:00 PM | दोपहर कार्य अवधि |
| 17:23 | 10:00 PM | शाम कार्य अवधि |
| 22:23 | 3:00 AM (अगले दिन) | देर रात कवर |
प्रत्येक ट्रिगर वांछित रीसेट समय से 5 घंटे पहले फायर होता है। सिस्टम GitHub Actions निष्पादन भीड़ से बचने के लिए `:23` मिनट का उपयोग करता है。
## सेटअप निर्देश
1. **OAuth Token उत्पन्न करें**: `claude setup-token` चलाएं और उत्पन्न टोकन कॉपी करें
2. **सीक्रेट जोड़ें**: GitHub repository सेटिंग्स में `CLAUDE_CODE_OAUTH_TOKEN_1` और वैकल्पिक रूप से `CLAUDE_CODE_OAUTH_TOKEN_2` कॉन्फ़िगर करें
3. **Actions सक्षम करें**: GitHub Actions के लिए `id-token: write` अनुमति सुनिश्चित करें
4. **सक्रिय करें**: शेड्यूलर ट्रिगर करने के लिए वर्कफ़्लो फ़ाइल को push करें
## कस्टमाइज़ेशन
` .github/workflows/auto-checkin.yml` को संशोधित करें ताकि क्रोन शेड्यूल बदल सकें। टाइमिंग सूत्र है:
```
ट्रिगर समय + 5 घंटे = सेशन रीसेट समय
```
उदाहरण:
- 9:00 AM को एकल दैनिक रीसेट: क्रोन `23 20 * * *` का उपयोग करें (4:23 AM UTC ट्रिगर 9:00 AM UTC+8 पर रीसेट करता है)
- 10:00 AM और 4:00 PM को दो दिन में: क्रोन `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 # Q&A और लॉगिंग स्क्रिप्ट
logs/YYYYMM-session-log.csv # मासिक गतिविधि रिकॉर्ड
```
## त्रुटि निवारण
- **OAuth त्रुटियां**: `claude setup-token` के साथ टोकन पुनर्जनरेट करें और सुनिश्चित करें कि सीक्रेट नाम बिल्कुल मेल खाते हैं
- **वर्कफ़्लो टाइमआउट**: सुनिश्चित करें कि टाइमआउट सुरक्षा के साथ नवीनतम संस्करण तैनात है
- **गलत समय**: UTC रूपांतरण की पुष्टि करें और ध्यान रखें कि GitHub Actions में थोड़ा निष्पादन विलंब हो सकता है
- **कोई लॉग नहीं**: ऑटोमेशन पर भरोसा करने से पहले Claude प्रमाणीकरण स्थिति जांचें और लो컬 पर परीक्षण करें
## सुरक्षा
- स्रोत कोड में कभी भी टोकन हार्डकोड न करें
- सभी संवेदनशील मानों के लिए GitHub Secrets का उपयोग करें
- OAuth टोकन को कबhi-कबhi रोटेट करें
- repository पहुंच को विश्वसनीय योगदानकर्ताओं तक सीमित करें
प्रोजेक्ट में शेड्यूलिंग ऑप्टिमाइज़ेशन, टाइमआउट कॉन्फ़िगरेशन और हेल्थ चेक लागू करने के आसपास डिज़ाइन चुनौतियों को दर्शाते Architecture Decision Records (ADRs) शामिल हैं।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.