यह वॉकथ्रू आपको AWR की ताज़ा इंस्टॉलेशन से लेकर एक सत्यापित सत्र हैंडऑफ़ तक ले जाता है: CLI इंस्टॉल करें, प्रोजेक्ट इनिशियलाइज़ करें, वर्क सत्र शुरू करें, और साबित करें कि एक उत्तराधिकारी सत्र वहीं से आगे बढ़ सकता है जहाँ पहला छोड़ गया था। सब कुछ कॉपी-पेस्ट करके चलाने योग्य है; AWR अपना SQLite साथ लाता है।
1. AWR इंस्टॉल करें
AWR npm और PyPI पर नेटिव पैकेज के रूप में आता है। दोनों चैनल वही Rust CLI (awr) और MCP सर्वर (awr-mcp) इंस्टॉल करते हैं; कोई अलग JavaScript या Python SDK नहीं है।
npm के साथ (Node 22.14 या नया चाहिए):
npm install -g @originoneai/agent-work-runtime@0.5.1
या pip के साथ, किसी वर्चुअल एनवायरनमेंट के अंदर (Python 3.9 या नया चाहिए):
python -m pip install agent-work-runtime==0.5.1
दोनों एक्ज़िक्यूटेबल सत्यापित करें:
awr --version
awr-mcp --version
समर्थित प्लेटफ़ॉर्म हैं: macOS 15+ (arm64 और Intel x64), Linux x64 और arm64 glibc 2.39 या नए के साथ (Ubuntu 24.04 बेसलाइन), और Windows x64। Linux पर पहले अपना glibc जाँचें:
ldd --version | head -n 1
npm इंस्टॉलेशन के लिए, optional dependencies चालू रखें — लॉन्चर हर प्लेटफ़ॉर्म के लिए नेटिव पैकेज हल करता है। कोई इंस्टॉल स्क्रिप्ट या नेटवर्क डाउनलोडर नहीं है; pip wheels में बाइनरी एम्बेड होती हैं। ऐप्लिकेशन लेखकों के लिए एक तीसरा चैनल भी है: दोनों बाइनरी का पिन किया हुआ नेटिव पेलोड, जिसे कोई होस्ट ऐप एम्बेड कर सकता है, ताकि उसके उपयोगकर्ताओं को रनटाइम पर Node, Python या Rust की ज़रूरत न पड़े।
2. अपना प्रोजेक्ट इनिशियलाइज़ करें
इनिशियलाइज़ेशन दो-चरणीय ऑपरेशन है: पहले प्रीव्यू, फिर स्पष्ट स्वीकृति। जब तक आप --accept नहीं देते, कुछ भी नहीं लिखा जाता।
AWR_PROJECT=/absolute/path/to/your/project
awr --project "$AWR_PROJECT" init
प्रीव्यू पढ़ें: यह वह इन्वेंटरी दिखाता है जो AWR को मिली — मौजूदा Markdown टास्क लेजर, YAML स्रोत, लक्ष्य — और वह स्रोत मैपिंग जो यह प्रस्तावित करता है। मौजूदा फ़ाइलें कभी ओवरराइट नहीं होतीं; आपके मूल दस्तावेज़ ही अधिकार बने रहते हैं। यदि प्रीव्यू सही लगे, तो उसे स्वीकार करें:
awr --project "$AWR_PROJECT" init --accept
खाली प्रोजेक्ट के लिए, उसका उद्देश्य पहले ही बता दें:
awr --project "$AWR_PROJECT" init --goal "Deliver a document portal" --accept
यदि आपका Markdown लेजर गैर-मानक स्टेटस शब्द इस्तेमाल करता है, तो init के समय उन्हें मैप करें:
awr --project "$AWR_PROJECT" init \
--status-map pending=planned --status-map complete=completed --accept
फिर संगठन रिपोर्ट देखें:
awr --project "$AWR_PROJECT" intake inspect --json
रिपोर्ट का organization.state बताता है कि आप कहाँ खड़े हैं: ready का अर्थ है कि कम से कम एक टास्क में स्रोत-घोषित लक्ष्य, स्वीकृति मानदंड, अगली कार्रवाई और हल की गई पूर्व-आवश्यकताएँ हैं। needs_organization का अर्थ है कि कुछ गायब है — रिपोर्ट की क्रमबद्ध actions बताती हैं कि आपको अपनी स्रोत फ़ाइलों में क्या जोड़ना है।
3. वर्क सत्र शुरू करें
सत्र AWR की कार्य-स्वामित्व इकाई है। ये कमांड एक छोटे शेल हेल्पर का उपयोग करते हैं ताकि हर कॉल में प्रोजेक्ट पथ और JSON आउटपुट साथ रहे:
AWR_BIN=$(command -v awr)
AWR_WORK=INTAKE-001 # a task key from your intake report
AWR_AGENT=agent-primary # a label for who is working
AWR_MODEL=your-current-model # a recorded label; AWR does not invoke the model
AWR_NOTES=$(mktemp -d "${TMPDIR:-/tmp}/awr-session.XXXXXX")
awrj() { "$AWR_BIN" --project "$AWR_PROJECT" --json "$@"; }
देखें कि क्या निष्पादन योग्य है, फिर क्लेम (कार्य-आइटम का रनटाइम स्वामित्व) और मौजूदा प्रोजेक्ट रिवीज़न के साथ सत्र शुरू करें:
awrj ready
AWR_REV=$(awrj status | jq -er '.project_revision')
awrj session start --work "$AWR_WORK" --agent "$AWR_AGENT" \
--provider generic --model "$AWR_MODEL" --claim --ttl-ms 3600000 \
--expected-revision "$AWR_REV" > "$AWR_NOTES/start.json"
AWR_SESSION=$(jq -er '.session.id' "$AWR_NOTES/start.json")
कार्य कॉन्टेक्स्ट कम्पाइल करें — लक्ष्य, स्वीकृति मानदंड, दर्ज तथ्य और इतिहास, एक सीमित पैकेट में एकत्रित:
awrj context compile --work "$AWR_WORK" --session "$AWR_SESSION" \
--budget 5000 > "$AWR_NOTES/context.json"
jq -e '.completeness.complete and (.work_context != null)' "$AWR_NOTES/context.json"
सिर्फ़ बूलियन नहीं, पैकेट पढ़ें। BudgetExceeded पर --budget बढ़ाएँ; SourceStale पर awrj source reindex चलाएँ और दोबारा कम्पाइल करें।
4. चेकपॉइंट के साथ प्रगति दर्ज करें
रुकने से पहले — या किसी लंबे होस्ट वार्तालाप के कम्पैक्ट होने से पहले — एक चेकपॉइंट सहेजें, जिसमें वह कॉन्टेक्स्ट हैश हो जो आपने वास्तव में इस्तेमाल किया, एक ईमानदार डाइजेस्ट, सटीक अगली कार्रवाई, और हर खुला लूप:
AWR_CONTEXT_HASH=$(jq -er '.work_context.context_hash' "$AWR_NOTES/context.json")
AWR_REV=$(awrj status | jq -er '.project_revision')
awrj session checkpoint --session "$AWR_SESSION" --agent "$AWR_AGENT" \
--context-hash "$AWR_CONTEXT_HASH" \
--digest "Record the work actually done; do not invent a passing review." \
--next-action "State the exact next operator or agent action." \
--open-loop "List every unresolved loop." \
--expected-project-revision "$AWR_REV" > "$AWR_NOTES/checkpoint.json"
चेकपॉइंट अधूरा काम भी दर्ज कर सकता है; यह पास होती टेस्टों या पूर्ण स्वीकृति मानदंड का प्रमाण नहीं है।
5. नए सत्र में काम जारी रखें
यह साबित करने के लिए कि निरंतरता काम करती है, पहला सत्र समाप्त करें और उसी से फिर से शुरू करें — यही वह टेकओवर पथ है जो कोई नया एजेंट, मशीन या होस्ट वार्तालाप इस्तेमाल करेगा। end करने से क्लेम रिलीज़ होता है; यह स्रोत कार्य को पूर्ण चिह्नित नहीं करता:
AWR_REV=$(awrj status | jq -er '.project_revision')
awrj session end --session "$AWR_SESSION" --outcome incomplete \
--expected-revision "$AWR_REV"
अब फिर से शुरू करें। कोई भी एजेंट — कोई दूसरा, या वही एजेंट बाद में — पूर्ववर्ती से एक उत्तराधिकारी सत्र बनाता है:
AWR_PREDECESSOR="$AWR_SESSION"
awrj session show "$AWR_PREDECESSOR"
AWR_REV=$(awrj status | jq -er '.project_revision')
awrj session resume --from-session "$AWR_PREDECESSOR" \
--agent successor --provider generic --model "$AWR_MODEL" \
--budget 5000 --expected-revision "$AWR_REV" > "$AWR_NOTES/resume.json"
jq -e '.context_ready' "$AWR_NOTES/resume.json"
AWR_SESSION=$(jq -er '.resumed.session.id' "$AWR_NOTES/resume.json")
दो जाँचें हैंडऑफ़ के सफल होने की पुष्टि करती हैं:
jq -e '.context_ready'एक्ज़िट कोड 0 देता है: उत्तराधिकारी को पूर्ववर्ती का दर्ज कॉन्टेक्स्ट मिला, जिसमें आखिरी सफल चेकपॉइंट भी शामिल है।- फिर से शुरू किए गए सत्र की नई ID होती है — resume पुराने सत्र को बदलने के बजाय एक नया AWR सत्र बनाता है।
आप किसी भी समय रिकवरी स्थिति को केवल-पढ़ने के लिए देख सकते हैं:
awrj recovery inspect --session "$AWR_SESSION"
किसी कोडिंग एजेंट की चैट के अंदर काम कर रहे हैं? होस्ट वार्तालाप को AWR सत्र से बाँधें ताकि चेकपॉइंट होस्ट कम्पैक्शन के बाद भी बचे रहें:
awrj client bind --client generic --external-session "myhost:$HOST_CONVERSATION_ID" \
--work "$AWR_WORK" --session "$AWR_SESSION"
AWR किसी होस्ट की प्रोसेस मेमोरी ट्रांसफ़र नहीं करता और न ही मनमानी मौजूदा प्रोसेस को अपने कब्ज़े में लेता है — निरंतरता उसी से आती है जो स्पष्ट रूप से दर्ज किया गया था।
आगे कहाँ जाएँ
- Concepts — सत्र, क्लेम और चेकपॉइंट का क्या अर्थ है।
- CLI संदर्भ — ऊपर इस्तेमाल किए गए सभी कमांड।
- दैनिक वर्कफ़्लो — रोज़मर्रा के काम में यही लूप।
- ट्रबलशूटिंग — जब कुछ अप्रत्याशित रिपोर्ट हो।