Workspace Widgets की घोषणा
आज हम Workspace Widgets ला रहे हैं, यानी लाइव, इंटरैक्टिव ऐप्स को सीधे Robutler वर्कस्पेस कैनवस पर रखने का तरीका, आपके एजेंट्स और चैट के साथ-साथ।
क्या बदला
आज तक वर्कस्पेस अपने एजेंट्स से बात करने और बाद के लिए सामग्री पिन करने की एक बढ़िया जगह था। विजेट के साथ यह एक असली डेस्कटॉप बन जाता है जिसे आप छोटे, जोड़े जा सकने वाले हिस्सों से बनाते हैं:
- एक Python कर्नेल जो आपके टैब में चलता है, numpy और matplotlib पहले से इंस्टॉल। कोई चार्ट बनाएँ और वह कैनवस पर साथ वाले विजेट के रूप में आ जाता है, किसी टर्मिनल पैन में दबा नहीं रहता।
- एक Local shell जो आपकी ही मशीन पर चल रहे डीमन से जुड़ा होता है।
- उन प्रोडक्शन मशीनों के लिए एक SSH विजेट जिन पर आप बार-बार लौटते हैं। कुंजी और होस्ट का प्रबंधन पुराने टर्मिनल जैसा ही, बस और साफ़।
- उन डैशबोर्ड के लिए एक Browser embed जिनमें आपका दिन बीतता है।
- तेज़ टेक्स्ट और कोड बदलावों के लिए एक CodeMirror एडिटर।
- कैनवस पर योजनाएँ बनाने के लिए स्टिकी नोट, आकृतियाँ और कनेक्टर (Figjam जैसा, पर सीधे आपके एजेंट के बगल में)।
- और कुछ आर्केड जैसे गेम (Snake, Tetris, Space Invaders), क्योंकि वर्कस्पेस मज़ेदार भी होने चाहिए।
+ बटन → Widget → कैटलॉग में खोजकर कोई भी शुरू करें।
एजेंट बनाने वालों के लिए क्या नया है
विजेट सिर्फ़ इंसानों के लिए नहीं हैं। एजेंट ये कर सकते हैं:
- कैनवस पर विजेट लाना,
present.*टूल परिवार के ज़रिए।present.image,present.code,present.url,present.chart,present.note, और एक सामान्यpresent.widgetसहायक एजेंट्स को बातचीत के साथ-साथ दिखने वाली चीज़ें पोस्ट करने देते हैं। - Python कर्नेल चलाना,
workspace_widgets_invoke(id, 'eval' | 'run', ...)के ज़रिए।stdout/stderr/displayइवेंट सब्सक्राइब करें और matplotlib की आकृतियाँ सीधे कैनवस में रीयल टाइम में आती रहेंगी। - शेल कमांड चलाना, डीमन और SSH विजेट पर उसी
workspace_widgets_invoke(id, 'run', ...)टूल के ज़रिए। हर कमांड एक ऑडिट होने वालीwidget.agent_commandसूचना लिखता है, ताकि आप ठीक-ठीक देख सकें कि क्या चला।
एजेंट फ़ैक्टरी को इस नई सतह का पता है, यह कुछ प्रॉम्प्ट संकेतों से विजेट
बना सकती है, स्टेट के लिए host.kv जोड़ सकती है, और मूल iOS / Android
Robutler ऐप्स के लिए DSL प्रोजेक्शन दे सकती है।
भरोसा पहले से, जोखिम आपकी मर्ज़ी से
अगर टॉगल हमेशा चालू रहे तो किसी एजेंट को शेल कमांड चलाने देना खतरनाक है। इसलिए हम उलटा डिफ़ॉल्ट देते हैं: हर डीमन और SSH विजेट में Allow agents to run commands शुरू में बंद रहता है। जब आप तैयार हों तो हर विजेट पर इसे चालू करें, काम हो जाने पर बंद कर दें।
Python कर्नेल डिफ़ॉल्ट रूप से चालू रहते हैं क्योंकि वे आपके टैब के भीतर अलग-थलग चलते हैं, बहुत ही गड़बड़ करने वाला एजेंट भी Pyodide से बाहर नहीं निकल सकता। अगर आप किसी साझा सेशन के लिए कर्नेल पर रोक लगाना चाहें तो टॉगल वहीं है।
हर स्वीकार किया गया और हर ठुकराया गया एजेंट कमांड एक ऑडिट पंक्ति लिखता
है। सूचना फ़ीड खोलें और अपना साप्ताहिक इतिहास देखने के लिए
widget.agent_command खोजें।
हर प्लैटफ़ॉर्म पर चलने वाले विजेट
विजेट चाहें तो एक प्रोजेक्शन के साथ आ सकते हैं, यानी किसी JS फ़ंक्शन से बना एक छोटा-सा घोषणात्मक ट्री। प्रोजेक्शन तीन चीज़ें संभालते हैं:
- एक हल्का प्रीव्यू जो पूरा iframe लोड किए बिना कैनवस पर दिख जाता है (दर्जनों विजेट पिन हों तो प्रदर्शन के लिए बहुत फ़ायदेमंद)।
- इस साल के अंत में आने वाले iOS / Android Robutler ऐप्स में मूल विजेट के रूप में दिखना। ऐप समय-समय पर प्रोजेक्शन देखता है और उसे असली iOS / Android विजेट टाइल के रूप में दिखाता है।
- एक डॉक प्रोजेक्शन: किसी विजेट को डॉक पर पिन करें और प्रोजेक्शन संभाल लेता है, ताकि पूरा iframe मेमोरी में रखे बिना आप एक नज़र में स्थिति पढ़ सकें।
अगर आप आज कोई विजेट लिख रहे हैं, तो प्रोजेक्शन देना ज़रूरी नहीं है पर सुझाया जाता है। DSL व्याकरण के लिए देखें होस्ट SDK मार्गदर्शिका।
इसे आज़माएँ
अपना वर्कस्पेस खोलें, + बटन दबाएँ और Widget चुनें।
या बस अपने एजेंट से कहें: "मुझे NVDA का स्टॉक चार्ट दिखाओ" और देखें कि
Python कर्नेल शुरू होता है, matplotlib की आकृति बनती है, और एजेंट उसके
बगल में उसका कैप्शन लिख देता है।
हम बेसब्री से देखना चाहते हैं कि आप क्या बनाते हैं।
Robutler टीम की ओर से