
libretto v0.6.40
विश्वसनीय ब्राउज़र ऑटोमेशन बनाने के लिए AI टूलकिट
Libretto
Libretto एक मजबूत वेब इंटीग्रेशन बनाने के लिए एक टूलकिट है। यह आपके कोडिंग एजेंट को एक लाइव ब्राउज़र और एक टोकन-कुशल CLI प्रदान करता है:
- न्यूनतम संदर्भ ओवरहेड के साथ लाइव पेजों का निरीक्षण करें
- साइट APIs को रिवर्स इंजीनियर करने के लिए नेटवर्क ट्रैफ़िक कैप्चर करें
- उपयोगकर्ता क्रियाओं को रिकॉर्ड करें और उन्हें ऑटोमेशन स्क्रिप्ट के रूप में रिप्ले करें
- वास्तविक साइट के विरुद्ध इंटरैक्टिव रूप से टूटे हुए वर्कफ़्लो को डीबग करें
हमने Saffron Health में Libretto को इसलिए बनाया ताकि सामान्य हेल्थकेयर सॉफ़्टवेयर के लिए अपने ब्राउज़र इंटीग्रेशन को बनाए रखने में मदद मिल सके। हम इसे ओपन-सोर्स कर रहे हैं ताकि अन्य टीमें भी इसे आसानी से कर सकें।
https://github.com/user-attachments/assets/9b9a0ab3-5133-4b20-b3be-459943349d18
त्वरित लिंक
- वेबसाइट: libretto.sh
- दस्तावेज़: libretto.sh/docs
- रिपॉजिटरी: github.com/saffron-health/libretto
- Discord: discord.gg/NYrG56hVDt
स्थापना
# Add Libretto to your project. Requires Node.js and npm.
npm install libretto
# First-time onboarding: install skills and download Chromium
npx libretto setup
# Check workspace readiness at any time
npx libretto status
setup कमांड .libretto/ डायरेक्टरी बनाता है, एजेंट स्किल्स इंस्टॉल करता है, और Chromium डाउनलोड करता है जब तक कि आप --skip-browsers पास न करें।
उपयोग के मामले
Libretto को आपके कोडिंग एजेंट के माध्यम से एक स्किल के रूप में उपयोग करने के लिए डिज़ाइन किया गया है। यहाँ कुछ उदाहरण प्रॉम्प्ट दिए गए हैं:
एकल-शॉट स्क्रिप्ट जनरेशन
Use the Libretto skill. Go on LinkedIn and scrape the first 10 posts for content, who posted it, the number of reactions, the first 25 comments, and the first 25 reposts.
आपका कोडिंग एजेंट आपके लिए LinkedIn में लॉग इन करने के लिए एक विंडो खोलेगा, और फिर स्वचालित रूप से एक्सप्लोर करना शुरू कर देगा।
इंटरैक्टिव स्क्रिप्ट बिल्डिंग
I'm gonna show you a workflow in the eclinicalworks EHR to get a patient's primary insurance ID. Use libretto skill to turn it into a playwright script that takes patient name and dob as input to get back the insurance ID. URL is ...
Libretto आपके ब्राउज़र में किए गए कार्यों को पढ़ सकता है, इसलिए आप एक वर्कफ़्लो कर सकते हैं, फिर इसे वर्कफ़्लो को फिर से बनाने के लिए अपने कार्यों का उपयोग करने के लिए कह सकते हैं।
ब्राउज़र ऑटोमेशन को नेटवर्क अनुरोधों में बदलें
We have a browser script at ./integration.ts that automates going to Hacker News and getting the first 10 posts. Convert it to direct network scripts instead. Use the Libretto skill.
Libretto ब्राउज़र से नेटवर्क अनुरोधों को पढ़ सकता है, जिसका उपयोग वह API को रिवर्स इंजीनियर करने और एक स्क्रिप्ट बनाने के लिए कर सकता है जो सीधे उन अनुरोधों को कॉल करती है। सीधे API कॉल करना UI ऑटोमेशन की तुलना में तेज़ और अधिक विश्वसनीय है। आप Libretto से सुरक्षा विश्लेषण करने के लिए भी कह सकते हैं जो सामान्य सुरक्षा कुकीज़ के लिए अनुरोधों का विश्लेषण करता है, ताकि आप समझ सकें कि नेटवर्क अनुरोध दृष्टिकोण सुरक्षित होगा या नहीं।
टूटे हुए इंटीग्रेशन को ठीक करें
We have a browser script at ./integration.ts that is supposed to go to Availity and perform an eligibility check for a patient. But I'm getting a broken selector error when I run it. Fix it. Use the Libretto skill.
एजेंट Libretto का उपयोग करके विफलता को पुन: उत्पन्न कर सकते हैं, किसी भी बिंदु पर वर्कफ़्लो को रोक सकते हैं, लाइव पेज का निरीक्षण कर सकते हैं, और सभी स्वायत्त रूप से समस्याओं को ठीक कर सकते हैं।
CLI उपयोग
आप Libretto का उपयोग सीधे कमांड लाइन से भी कर सकते हैं। सभी कमांड किसी विशिष्ट सत्र को लक्षित करने के लिए --session <name> स्वीकार करते हैं।
npx libretto open <url> # launch browser and open a URL
npx libretto run ./integration.ts --headless # run a workflow and close on success
npx libretto run ./integration.ts --headless --stay-open-on-success # keep a successful run inspectable
npx libretto snapshot --session <name> # capture a screenshot and compact accessibility tree
npx libretto exec "<code>" # execute Playwright TypeScript against the open page
npx libretto close # close the browser
run सत्र उसी डेमॉन-समर्थित कमांड के माध्यम से निरीक्षण योग्य होते हैं जैसे open सत्र। सफल रन डिफ़ॉल्ट रूप से ब्राउज़र बंद कर देते हैं; ब्राउज़र को pages, snapshot, और exec के लिए खुला रखने के लिए --stay-open-on-success पास करें। विफल या रुके हुए वर्कफ़्लो ब्राउज़र को खुला रखते हैं ताकि आप वर्कफ़्लो को ठीक करने या फिर से शुरू करने से पहले सटीक पृष्ठ स्थिति का निरीक्षण कर सकें।
सभी कमांड की पूरी सूची के लिए npx libretto help चलाएँ।
कॉन्फ़िगरेशन
सभी Libretto स्थिति आपके प्रोजेक्ट रूट पर .libretto/ डायरेक्टरी में रहती है। कॉन्फ़िग फ़ाइलों, सत्रों और प्रोफ़ाइलों के विवरण के लिए कॉन्फ़िगरेशन दस्तावेज़ देखें।
टेलीमेट्री
Libretto CLI उपयोग को समझने और सुधारों को प्राथमिकता देने में मदद करने के लिए CLI टेलीमेट्री रिकॉर्ड करता है। प्रत्येक हल किया गया कमांड केवल एक इंस्टॉल आईडी, टाइमस्टैम्प, कमांड इवेंट नाम जैसे libretto run, त्रुटि बूलियन, पैकेज संस्करण, बिल्ड चैनल (node_modules, source, या unknown), और, जब Libretto Cloud में साइन इन किया जाता है, तो कॉन्फ़िगर किया गया क्लाउड उपयोगकर्ता आईडी भेज सकता है। Libretto कमांड तर्क, URL, प्रोजेक्ट पथ, सत्र कुकीज़, API कुंजियाँ, त्रुटि संदेश या विवरण, या ईमेल नहीं भेजता है।
इंस्टॉल आईडी ~/.libretto/telemetry.json पर टेलीमेट्री फ़ाइल में संग्रहीत है। कार्यान्वयन packages/libretto/src/cli/core/telemetry.ts में रहता है।
टेलीमेट्री अक्षम करने के लिए, LIBRETTO_TELEMETRY_DISABLED=1 सेट करें, DO_NOT_TRACK=1 सेट करें, CI=1 के साथ चलाएँ, या ~/.libretto/telemetry.json संपादित करें और "enabled": false सेट करें।
समुदाय में शामिल हों
अन्य डेवलपर्स से जुड़ने, सहायता प्राप्त करने और अपने द्वारा बनाई गई चीज़ों को साझा करने के लिए हमारे Discord में शामिल हों:
लंबी चर्चाओं के लिए, GitHub Discussions पर जाएँ। कोई बग मिला? एक issue खोलें।
लाइसेंस
MIT License — वाणिज्यिक और ओपन-सोर्स प्रोजेक्ट्स में इसका स्वतंत्र रूप से उपयोग करें।
विकास
इस रिपॉजिटरी में स्थानीय विकास के लिए:
pnpm i
pnpm build
pnpm type-check
pnpm test
स्रोत लेआउट:
packages/libretto/src/cli/— CLI कमांडpackages/libretto/src/runtime/— ब्राउज़र रनटाइम (नेटवर्क, रिकवरी, डाउनलोड)packages/libretto/src/shared/— साझा उपयोगिताएँ (कॉन्फ़िग, LLM क्लाइंट, लॉगिंग, स्थिति)packages/libretto/test/— परीक्षण फ़ाइलें (*.spec.ts)packages/libretto/README.template.md— रिपॉजिटरी और पैकेज READMEs के लिए सत्य स्रोतpackages/libretto/skills/libretto/— Libretto स्किल के लिए सत्य स्रोत
packages/libretto/README.template.md या packages/libretto/skills/libretto/ के अंतर्गत कुछ भी संपादित करने के बाद pnpm sync:mirrors चलाएँ।
यह जाँचने के लिए कि जनरेट किए गए READMEs, स्किल मिरर और स्किल संस्करण मेटाडेटा बिना ठीक किए सिंक में हैं, pnpm check:mirrors चलाएँ। रिलीज़ करने के लिए, pnpm prepare-release चलाएँ।
[!NOTE] यह सक्रिय विकास के तहत एक प्रारंभिक चरण का प्रोजेक्ट है। संस्करण 1.0 से पहले APIs बदल सकते हैं। हम उत्पादन में विशिष्ट संस्करणों को पिन करने की सलाह देते हैं।
Saffron Health की टीम द्वारा निर्मित।