स्वचालन
स्वचालन समय पर निर्देश चलाकर परिणाम सामान्य चैट बनाता है। दैनिक समाचार सार, साप्ताहिक समीक्षा, मासिक रिपोर्ट — हर रन सर्वर पर बिना UI चलता, चैट सूची में आता और सामान्य बातचीत की तरह जारी होता है।
संरचना
स्वचालन का नाम, स्वतंत्र निर्देश, अधिकतम पाँच ट्रिगर, वैकल्पिक मॉडल (खाली हो तो रन समय का डिफ़ॉल्ट चैट मॉडल), लक्ष्य और सूचना पसंद होती है। Chat session निर्देश बातचीत कतार में रखता; Work task निर्देश को पहला संदेश बनाकर अलग Work क्षेत्र और वैकल्पिक नीति शुरू करता है। सूचना चालू हो तो विफलता सूचना पेटी में आती है। नाम/निर्देश एन्क्रिप्टेड हैं। स्वचालन निर्माता का है।
ट्रिगर once, hourly, daily, weekly, monthly, yearly मॉडल उपयोग करते हैं। अगला रन सर्वर समय क्षेत्र का सबसे निकट आगामी अवसर है।
निष्पादन
समन्वय लीज़ वाला शेड्यूलर हर मिनट चलता है, इसलिए एक प्रतिकृति समय बढ़ाती है। समय आने पर रन दर्ज, automation.run.v1 कार्य कतारबद्ध और next_run_at compare-and-set से बढ़ता है ताकि अवसर एक बार चले। कार्य स्वचालन नाम का चैट बनाकर निर्देश को प्रदाता मार्ग, persona और स्थायित्व सहित सामान्य पाइपलाइन में भेजता है।
सर्वर बंद रहा हो तो अगला चक्र अंतिम अवसर एक बार चलाकर पुराने छोड़ता है। रोकना शेड्यूल साफ़ करता; जारी/संपादन वर्तमान समय से पुनर्गणना करता। हटाना इतिहास शृंखला से मिटाता है।
स्थायी कार्य लॉग परिणाम तय करता है: जनरेशन पूरी पर सफल, विफल कतार पर त्रुटि, 30 मिनट में न शुरू हो तो stalled।
Work लक्ष्य चैट कार्य के बजाय Work जीवनचक्र उपयोग करता है: रन बने कार्य से जुड़ता, Runs सीधा खोलता, एजेंट पूरा या इनपुट माँगे तो सफल, विफल/रद्द पर त्रुटि। पहुँच ट्रिगर समय जाँची जाती है; हटने पर work-access-denied। नीति सहेजते समय जाँची और सभी कार्यों पर लागू होती है। केवल सीधे प्रदाता और उपकरण मॉडल चलते हैं।
एजेंट रूटीन
Work स्वचालन workTaskId द्वारा मौजूदा कार्य से जुड़ सकता है — एजेंट पैनल में Routines। हर अवसर नया कार्य नहीं बनाता; उसी स्थान, बातचीत, मॉडल, प्रदाता और नीति में चलता है। स्वचालन मॉडल/नीति लागू नहीं, दी नीति हटती है। हटे कार्य पर work-task-missing, चालू/पूर्वावलोकन पर work-task-busy; कतार नहीं।
Webhook ट्रिगर
शेड्यूल के अलावा स्वचालन को कोई बाहरी सिस्टम भी चला सकता है — CI पाइपलाइन, cron सेवा, होम ऑटोमेशन। स्वचालन के संपादन संवाद में Webhook ट्रिगर → सक्षम करें प्रति-स्वचालन secret बनाता है; केवल उसका SHA-256 सहेजा जाता है, इसलिए plaintext ठीक एक बार दिखता है। Secret बदलने पर पिछला तुरंत अमान्य, और webhook बंद करने पर एंडपॉइंट फिर बंद।
बाहरी सिस्टम स्वचालन ऐसे चलाता है:
curl -X POST https://your-host/api/automations/<automationId>/webhook \
-H "Authorization: Bearer lwh_..."
(X-Libre-Webhook-Secret: lwh_... वैकल्पिक हेडर के रूप में भी चलता है।) उत्तर कतारबद्ध रन ID सहित 202 होता है — वही मैनुअल-रन पथ जो अभी चलाएँ का है, इसलिए रन उसी तरह निपटते, सूचित करते और इतिहास में दिखते हैं। Secret तुलना constant-time है, अनुपस्थित स्वचालन और गलत secret एक जैसा उत्तर देते हैं (कोई automation-id oracle नहीं), और रुका हुआ स्वचालन 409 देता है: स्वामी के अभी चलाएँ के विपरीत बाहरी कॉलकर्ता रोक को पार नहीं कर सकता।
API
webhook ट्रिगर को छोड़ सभी एंडपॉइंट प्रमाणीकरण चाहते और केवल कॉलकर्ता के स्वचालन पर चलते हैं; webhook ट्रिगर प्रति-स्वचालन secret से प्रमाणित होता है।
| विधि | पथ | उद्देश्य |
|---|---|---|
GET | /api/automations | सूची |
POST | /api/automations | बनाएँ |
GET | /api/automations/occurrences?from=&to= | आगामी अवसर |
GET | /api/automations/runs | इतिहास |
GET | /api/automations/runs/summary | न देखे + 30 दिन |
POST | /api/automations/runs/seen | देखा चिह्न |
GET | /api/automations/:automationId | पढ़ें |
PUT | /api/automations/:automationId | बदलें |
DELETE | /api/automations/:automationId | हटाएँ |
POST | /api/automations/:automationId/pause | रोकें |
POST | /api/automations/:automationId/resume | जारी |
POST | /api/automations/:automationId/run | अभी चलाएँ (ID सहित 202) |
POST | /api/automations/:automationId/webhook | Secret से चलाएँ (202) |
POST | /api/automations/:automationId/webhook-secret | Secret बनाएँ/बदलें |
DELETE | /api/automations/:automationId/webhook-secret | Webhook बंद करें |
उपयोगकर्ता 50 स्वचालन रख सकता है; नाम 200 और निर्देश 20,000 अक्षर तक।