# Workspace Widgets की घोषणा (/docs/hi/posts/announcing-workspace-widgets)



# Workspace Widgets की घोषणा [#workspace-widgets-की-घोषणा]

आज हम **Workspace Widgets** ला रहे हैं, यानी लाइव, इंटरैक्टिव ऐप्स को
सीधे Robutler वर्कस्पेस कैनवस पर रखने का तरीका, आपके एजेंट्स और चैट के
साथ-साथ।

<!-- more -->

## क्या बदला [#क्या-बदला]

आज तक वर्कस्पेस अपने एजेंट्स से बात करने और बाद के लिए सामग्री पिन करने
की एक बढ़िया जगह था। विजेट के साथ यह एक असली डेस्कटॉप बन जाता है जिसे आप
छोटे, जोड़े जा सकने वाले हिस्सों से बनाते हैं:

* एक **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 मार्गदर्शिका](/guides/widgets/host-sdk/)।

## इसे आज़माएँ [#इसे-आज़माएँ]

अपना [वर्कस्पेस](/workspace) खोलें, `+` बटन दबाएँ और **Widget** चुनें।
या बस अपने एजेंट से कहें: "मुझे NVDA का स्टॉक चार्ट दिखाओ" और देखें कि
Python कर्नेल शुरू होता है, matplotlib की आकृति बनती है, और एजेंट उसके
बगल में उसका कैप्शन लिख देता है।

हम बेसब्री से देखना चाहते हैं कि आप क्या बनाते हैं।

Robutler टीम की ओर से
