
readme2demo v0.7.5
आपके README से सत्यापित ट्यूटोरियल और डेमो वीडियो। कोई भी चीज़ प्रकाशित होने से पहले एक AI एजेंट इसे एक कड़े Docker सैंडबॉक्स में चलाता है और एक नए कंटेनर में इसे फिर से चलाता है।
readme2demo — आपकी README से सत्यापित ट्यूटोरियल और डेमो वीडियो
▶ readme2demo अपना स्वयं का ट्यूटोरियल उत्पन्न कर रहा है: एक AI एजेंट इस रिपॉजिटरी की README को एक सैंडबॉक्स में चलाता है, एक ताज़ा कंटेनर प्रत्येक चरण को दोहराता है, फिर डेमो प्रस्तुत किया जाता है। पूर्ण self-run आउटपुट examples/readme2demo में · दूसरे प्रोजेक्ट के विरुद्ध चलाएँ examples/toolhive में।
AI-सत्यापित ट्यूटोरियल और डेमो वीडियो जनरेटर। इसे किसी रिपॉजिटरी पर इंगित करें। एक AI एजेंट README पढ़ता है और वास्तव में इसे एक कठोर Docker सैंडबॉक्स के अंदर चलाता है। केवल जब एक क्लीन-रूम रिप्ले सफल होता है, तब यह एक डेमो वीडियो (VHS) प्रस्तुत करता है और ट्यूटोरियल, चरण-दर-चरण मार्गदर्शिका और समस्या निवारण दस्तावेज़ प्रकाशित करता है।
मूल्य यह नहीं है कि "AI एक ट्यूटोरियल लिखता है" — बल्कि यह है कि ट्यूटोरियल दो बार चला, इससे पहले कि आप इसे देखें।
इसे क्रियाशील देखें: सत्यापित उदाहरण रन ब्राउज़ करें — वास्तविक ट्यूटोरियल, चरण-दर-चरण मार्गदर्शिकाएँ और डेमो वीडियो, प्रत्येक को प्रकाशन से पहले एक साफ कंटेनर में स्वतंत्र रूप से दोहराया गया।
यह कैसे काम करता है
repo URL → ingest/plan → agent run (in Docker) → normalize transcript
→ distill minimal path → VERIFY replay in fresh container
→ generate tutorial.md + troubleshooting.md → render VHS video
पूर्ण आर्किटेक्चर के लिए architecture/README.md देखें।
आवश्यकताएँ
- Python ≥ 3.10, Docker
- प्रमाणीकरण, इनमें से एक:
- आपकी Claude सदस्यता (कोई API कुंजी नहीं): एक स्थानीय Claude Code स्थापना। प्लानर/डिस्टिलर/ट्यूटोरियल पास आपकी सदस्यता पर
--llm-backend claude-cli(claude -p) के माध्यम से चलते हैं, और सैंडबॉक्स में एजेंटCLAUDE_CODE_OAUTH_TOKENसे प्रमाणित होता है (एक बनाएँ:claude setup-token)। स्व-होस्टेड, एकल-ऑपरेटर रन के लिए आपके अपने रिपॉजिटरी के विरुद्ध पूरी तरह से समर्थित — Pro/Max योजनाओं में एक मासिक Agent SDK क्रेडिट शामिल है जोclaude -pको कवर करता है। ANTHROPIC_API_KEY— मीटर्ड API बिलिंग; स्केल और समवर्तीता के लिए सर्वोत्तम, और यदि आप readme2demo को दूसरों के लिए सेवा के रूप में होस्ट करते हैं तो आवश्यक (Anthropic की शर्तों के अनुसार, सदस्यता प्रमाणीकरण एक मल्टी-टेनेंट उत्पाद को संचालित नहीं कर सकता — ROADMAP.md देखें)। claude-code के बजाय OpenHands इंजन पर Claude मॉडल के साथ सैंडबॉक्स्ड एजेंट चलाने के लिए--anthropic [मॉडल]जोड़ें।- Google Gemini (
--gemini [मॉडल]): एक एकलGEMINI_API_KEYपूरे सत्र को Claude से दूर चलाता है — प्लानर/डिस्टिलर/ट्यूटोरियल पास Gemini का उपयोग करते हैं और सैंडबॉक्स्ड एजेंट OpenHands इंजन पर चलता है (Gemini पर भी)। कोई मॉडल नाम निर्मित नहीं है (Google पुराने मॉडलों को हार्ड 404 के साथ हटा देता है): प्रति रन नाम दें (--gemini gemini-3.5-flash) या एक बारGEMINI_MODELनिर्यात करें। एक्स्ट्रा इंस्टॉल करें:pip install 'readme2demo[gemini]'। - OpenAI (
--openai [मॉडल]): Gemini के समान आकार — एक एकलOPENAI_API_KEYपास और OpenHands एजेंट को शक्ति प्रदान करता है, कोई मॉडल नाम निर्मित नहीं है (--openai gpt-5.1याOPENAI_MODELनिर्यात करें)। एक्स्ट्रा इंस्टॉल करें:pip install 'readme2demo[openai]'।
- आपकी Claude सदस्यता (कोई API कुंजी नहीं): एक स्थानीय Claude Code स्थापना। प्लानर/डिस्टिलर/ट्यूटोरियल पास आपकी सदस्यता पर
- वैकल्पिक:
LLM_API_KEY+LLM_MODELकिसी भी अन्य लिटेलम प्रदाता के साथ--engine openhands(प्रयोगात्मक) के लिए — उपरोक्त प्रीसेट उन्हें स्वचालित रूप से भरते हैं
# अपनी Claude सदस्यता पर चलाएँ (कोई API कुंजी नहीं) — स्व-होस्टेड रन के लिए समर्थित
claude setup-token # इंटरैक्टिव: ब्राउज़र में अनुमोदन करें, फिर COPY करें
# sk-ant-oat01-... टोकन जो यह प्रिंट करता है ($(...)) का उपयोग न करें)
export CLAUDE_CODE_OAUTH_TOKEN=sk-ant-oat01-...
readme2demo run <repo-url> --llm-backend claude-cli
# मीटर्ड API बिलिंग पर चलाएँ (स्केल, समवर्तीता, या दूसरों के लिए होस्टिंग)
export ANTHROPIC_API_KEY=sk-ant-...
readme2demo run <repo-url> # --llm-backend auto api चुनता है
# पूरा सत्र Google Gemini पर चलाएँ (OpenHands एजेंट + Gemini पास)
pip install 'readme2demo[gemini]'
docker build -t readme2demo/openhands:latest images/openhands # एक बार: OpenHands सैंडबॉक्स छवि
export GEMINI_API_KEY=...
readme2demo run <repo-url> --gemini gemini-3.5-flash # मॉडल प्रति रन नामित
export GEMINI_MODEL=gemini-3.5-flash # ...या एक बार सेट करें, फिर:
readme2demo run <repo-url> --gemini # बेयर फ्लैग GEMINI_MODEL पढ़ता है
# पूरा सत्र OpenAI पर चलाएँ (OpenHands एजेंट + OpenAI पास)
pip install 'readme2demo[openai]'
export OPENAI_API_KEY=sk-...
readme2demo run <repo-url> --openai gpt-5.1 # या एक बार OPENAI_MODEL निर्यात करें
# API बिलिंग पर Claude मॉडल के साथ OpenHands एजेंट चलाएँ
export ANTHROPIC_API_KEY=sk-ant-...
readme2demo run <repo-url> --anthropic # डिफ़ॉल्ट रूप से कॉन्फ़िग मॉडल का उपयोग करता है
स्थापना
pip install -e ".[dev]"
docker build -t readme2demo/base:latest images/base/
docker build -t readme2demo/openhands:latest images/openhands/ # केवल --engine openhands / --gemini / --openai / --anthropic के लिए
उपयोग
readme2demo run https://github.com/example/tool
readme2demo run -gr https://github.com/example/tool # समान, फ्लैग के माध्यम से
readme2demo run -s my_guide.md # केवल-गाइड: कोई repo नहीं, आपकी गाइड स्व-निहित है
readme2demo run -gr https://github.com/example/tool -s my_guide.md # दोनों: आपकी गाइड सब कुछ चलाती है
readme2demo run https://github.com/example/tool --gemini gemini-3.5-flash # Google Gemini पर चलाएँ (GEMINI_API_KEY की आवश्यकता है; OpenHands एजेंट का उपयोग करता है; बेयर --gemini GEMINI_MODEL पढ़ता है)
readme2demo run https://github.com/example/tool --openai gpt-5.1 # OpenAI पर चलाएँ (OPENAI_API_KEY की आवश्यकता है; OpenHands एजेंट का उपयोग करता है; बेयर --openai OPENAI_MODEL पढ़ता है)
readme2demo run https://github.com/example/tool --anthropic # ANTHROPIC_API_KEY पर Claude मॉडल के साथ OpenHands एजेंट
readme2demo run https://github.com/example/tool --allow-docker-socket # उन टूल के लिए जो कंटेनर प्रबंधित करते हैं (सुरक्षा समझौता: सैंडबॉक्स अलगाव को भेदता है — केवल विश्वसनीय रिपॉजिटरी)
readme2demo run https://github.com/example/tool --skip-video --budget-usd 3
readme2demo resume runs/tool-20260702-... --from-stage render
readme2demo report runs/tool-20260702-...
रिपॉजिटरी वैकल्पिक है: इसे स्थितीय रूप से या -gr/--github-repo के साथ पास करें, -s/--step-by-step के साथ एक गाइड प्रदान करें, या दोनों। कम से कम एक आवश्यक है। केवल गाइड के साथ, कोई repo क्लोन नहीं किया जाता — गाइड स्व-निहित होनी चाहिए (एक प्रकाशित पैकेज स्थापित करें, या एक स्पष्ट चरण के रूप में अपनी ज़रूरत की चीज़ें क्लोन करें); ताज़ा-कंटेनर रिप्ले अभी भी प्रत्येक कमांड को सत्यापित करता है।
