Vobuda
डाउनलोड करें यह कैसे काम करता हैClaude Codeबनाम Codexतुलना करें परिचय संपर्क करें

भाग दर भाग - यह कैसे काम करता है

पूरे प्रोग्राम को एक ही नियम बांधे रखता है: विंडो की स्थिति मेमोरी में रहती है और कॉन्फ़िगरेशन फ़ाइलों में। नीचे जो कुछ भी है वह इसी नियम से निकलता है।

हर चीज़ के पीछे का नियम

एक विंडो में टैब होते हैं। एक टैब में ब्लॉक होते हैं। एक ब्लॉक टर्मिनल है, संपादित होती फ़ाइल, फ़ाइल पैनल, वेब पेज, चित्र, PDF, Markdown पेज, diff, सिस्टम मॉनिटर, सेटिंग्स स्क्रीन या किसी ऐड-ऑन का पैनल। वे किसी भी दिशा में नेस्टिंग के साथ बँटते, खिंचते, आकार बदलते और बंद होते हैं, हर नए फ़ीचर के लिए नए नियमों की जगह एक ही नियमों से। जो चीज़ सबका हिस्सा बनने के लिए बहुत बड़ी है वह vobuda के अपने कैटलॉग का ऐड-ऑन है, अब तक Design और Director, एक दबाव में पूरा इंस्टॉल और पूरा हटाया जाता।

इस व्यवस्था के बारे में कुछ भी डेटाबेस में सेव नहीं होता, क्योंकि कोई डेटाबेस है ही नहीं। विंडो इस समय जो कर रही है वह मेमोरी में रहता है; आपने जो तय किया है वह फ़ाइलों में रहता है। यही वजह है कि एक बटन, एक की, मेन्यू बार, Cmd+K और कमांड लाइन - ये सभी नाम से एक ही एक्शन को बुलाते हैं, और यही वजह है कि इसका व्यवहार बदलने का मतलब लगभग हमेशा JSON एडिट करना होता है।

यही वजह है कि जिस तरह के काम के लिए यह बनाया गया है, उसके लिए Mac का बेहतरीन टर्मिनल एमुलेटर वही है जिसे आप जांच सकें। अगर कोई सेटिंग मौजूद है, तो उसे रखने वाली एक लाइन किसी फ़ाइल में होती है। अगर कोई एक्शन मौजूद है, तो उसे बुलाने के लिए एक नाम होता है।

एक एक्शन तक पहुंचने के पांच तरीके, और ये एक ही एक्शन हैं

इतने एक्शन होने पर प्रोग्राम का ज़्यादातर हिस्सा व्यवहार में छिपा रहता है। Cmd+K वह राह है जो “यह क्या कर सकता है” का जवाब देती है, “यह करो” का नहीं।

टर्मिनल और Claude Code ब्लॉक के ऊपर खुली कमांड सूची: नया टैब, टैब बंद करें, इस मशीन को जगाए रखें, विभाजन और ब्लॉक बंद करें, हर एक अपने एक्शन नाम और शॉर्टकट के साथ, और सूची छोटी करने के लिए ऊपर एक फ़ील्ड टर्मिनल और Claude Code ब्लॉक के ऊपर खुली कमांड सूची: नया टैब, टैब बंद करें, इस मशीन को जगाए रखें, विभाजन और ब्लॉक बंद करें, हर एक अपने एक्शन नाम और शॉर्टकट के साथ, और सूची छोटी करने के लिए ऊपर एक फ़ील्ड
शेल और एजेंट के ऊपर Cmd+K से खुली कमांड सूची: हर एक्शन अपने नाम, एक्शन नाम और शॉर्टकट के साथ, टाइप करके छोटी की जाने को तैयार।
  • यह शॉर्टकट्स की जगह नहीं लेता, बल्कि उन्हें सिखाता है

    हर लाइन अपना शॉर्टकट दिखाती है। जो व्यक्ति एक ही एक्शन के लिए दो बार लिस्ट खोलता है, वह तीसरी बार तक वह शॉर्टकट सीख चुका होता है।

  • यह कोई पांचवीं डिक्शनरी नहीं है

    हर लाइन नाम से एक एक्शन चलाती है, बिल्कुल वैसे ही जैसे बाकी चार तरीके करते हैं। एक चेक इस टेबल को कोर की उस लिस्ट के मुताबिक रखता है कि किसी कुंजी से क्या बांधा जा सकता है, दोनों दिशाओं में: जो एक्शन मौजूद है पर वहां नहीं दिखाया गया, उससे बिल्ड फेल हो जाता है।

  • कमांड लाइन भी वही सेट है

    vobuda do block.split-down, vobuda button files, vobuda theme catppuccin-mocha, vobuda send, vobuda signal, vobuda state, vobuda log, किसी भी vobuda ब्लॉक में टाइप किए गए, और vobuda mcp वही कमांड एजेंट को MCP टूल के रूप में देता है। यह स्क्रिप्ट के लिए पिछला दरवाज़ा नहीं है: इंटरफ़ेस के परीक्षण पूरे प्रोग्राम को इसी से चलाते हैं, यही कारण है कि उस पर भरोसा किया जा सकता है, और यही कारण है कि एजेंट आपकी विंडो को नए सिरे से सजा सकता है और आप ठीक-ठीक पढ़ सकते हैं कि उसने क्या किया।

ब्लॉक्स, और वे क्या वादा करते हैं

ब्लॉक अपना शेल चालू रखते हुए टैब बदलता है

किसी ब्लॉक को उसके हेडर से पकड़कर स्ट्रिप के किसी टैब पर ले जाएं, वह वहीं पहुंच जाता है: वही id, वही शेल, वही फ़ोल्डर, और जो भी चल रहा था वह चलता रहता है। जब ब्लॉक किसी टैब के ऊपर होता है तो वह टैब accent रंग में जगमगा उठता है। इसके लिए भी एक एक्शन है, block.to-tab:2, ताकि इसे किसी कुंजी पर रखा जा सके और बिना माउस वाला कोई चेक भी इसे दबा सके।

साइज़ याद रखे जाते हैं, और एक न्यूनतम सीमा भी है

हर ब्लॉक के हिसाब से, और कोई भी ब्लॉक इतना संकरा नहीं हो सकता कि वह इस्तेमाल के लायक ही न रहे। 200 पॉइंट का पैनल ऐसा पैनल है जिसे कोई इस्तेमाल नहीं कर सकता।

आपका कुछ भी चुपचाप नहीं जाता

जो चल रहा है उसे बंद करने से पहले पूछा जाता है, नाम लेकर, क्योंकि किसी का काम एक बार खो देने से भरोसे का जितना नुकसान होता है वह एक पूरे फ़ीचर की कमाई से ज़्यादा है। इसी कारण एजेंट की हर बारी से पहले प्रोजेक्ट फ़ोल्डर का स्नैपशॉट लिया जाता है, जिसे एक दबाव में लौटाया जा सकता है; एजेंट को चिपकाई गई कुंजी एजेंट के देखने से पहले रोक दी जाती है; और जो घेरा आप चालू कर सकते हैं वह प्रोजेक्ट के बाहर एजेंट के लिखने और मिटाने को मना कर देता है।

सेशन डिफ़ॉल्ट रूप से लौट आते हैं

टैब, ब्लॉक और हर ब्लॉक का कार्य फ़ोल्डर रीस्टार्ट के बाद लौट आते हैं, और यह डिफ़ॉल्ट रूप से चालू है; सामान्य भाग का एक स्विच इसे बंद कर देता है। किसी दूसरी मशीन से आया सेशन वह खोलता है जो खोल सके और बताता है कि क्या नहीं खुल सका, ब्लॉक चुपचाप छोड़ने की जगह।

सेटिंग्स फ़ोल्डर, फ़ाइल दर फ़ाइल

~/.config/vobuda में सब कुछ पढ़ने लायक JSON है, जिसे प्रोग्राम चलते समय लगातार देखा जाता है। फ़ाइल सेव करें और विंडो फिर से बन जाती है।

फ़ाइलइसमें क्या है
settings.jsonथीम, लुक, टर्मिनल, शेल, विंडो, संकेत: दस भागों की हर सेटिंग
themes/*.jsonटर्मिनल और विंडो के रंग। 25 पैलेट साथ आते हैं, जिनमें से दो कलर ब्लाइंडनेस के लिए बनाए गए हैं
looks/*.jsonविंडो का आकार: कोने, छायाएँ, पैनल के रंग, पारदर्शिता। 29 साथ आते हैं
skins/*.jsonमॉनिटर के कौन से पैनल दिखाए जाएं, और कैसे
buttons.jsonडॉक: बटन, क्रम, किनारा, आकार, और जो कुछ अलग से चिह्नित करने लायक हो उसके लिए एक रंग
agents.jsonकिसी एजेंट को कैसे पहचाना जाता है और उसे क्या दिया जाता है
keys.jsonहर शॉर्टकट। नेटिव macOS मेन्यू भी इसी फ़ाइल से बनता है
workspaces/*.jsonप्रोजेक्ट: हर एक अपने टैब, फ़ोल्डर, थीम और डॉक वाली एक विंडो

अंतर्निहित थीम बाइनरी के भीतर रहती हैं और फ़ोल्डर उन्हें ओवरराइड करता है, इसलिए अपडेट नए रंग लाता है बिना आपके संपादित किए किसी भी चीज़ को ओवरराइट किए। पूरा फ़ोल्डर एक आर्काइव के रूप में सहेजा जाता है और दूसरे Mac पर बहाल हो सकता है, और Mac पर उसकी एक प्रति iCloud Drive में रहती है, डिफ़ॉल्ट रूप से चालू, जिसे एक स्विच से बंद किया जा सकता है।

सिस्टम मॉनिटर, जिसे एक फ़ाइल से व्यवस्थित किया जाता है

बारह तरह के पैनल, और उनमें से आप कौन से देखते हैं यह एक स्किन तय करती है, न कि कोई ऐसी स्क्रीन जिसे किसी ने एक बार डिज़ाइन किया था।

टर्मिनल के बगल के ब्लॉक में सिस्टम मॉनिटर: इतिहास के साथ प्रोसेसर लोड, हर कोर, इस्तेमाल में मेमोरी, स्टार्टअप डिस्क की खाली जगह, डिस्क रीड और राइट, और नेटवर्क ट्रैफ़िक टर्मिनल के बगल के ब्लॉक में सिस्टम मॉनिटर: इतिहास के साथ प्रोसेसर लोड, हर कोर, इस्तेमाल में मेमोरी, स्टार्टअप डिस्क की खाली जगह, डिस्क रीड और राइट, और नेटवर्क ट्रैफ़िक
मॉनिटर शेल के बगल में ब्लॉक के रूप में खुला, उसके पैनल एक के ऊपर एक: प्रोसेसर, कोर, मेमोरी, डिस्क, डिस्क रीड और राइट और नेटवर्क।
  • आंकड़े अपने बारे में ईमानदार होते हैं

    जो वैल्यू सिस्टम मापता नहीं बल्कि अनुमान लगाता है, उसे टिल्ड के साथ दिखाया जाता है, और जो हार्डवेयर मौजूद ही नहीं है उसके लिए शून्य के बजाय कोई वैल्यू दिखाई ही नहीं जाती। जिस मशीन में अलग GPU नहीं है, उसे GPU पैनल में शून्य प्रतिशत दिखाने वाला पैनल नहीं मिलता।

  • दोनों पते, हर एक के साथ एक कॉपी बटन

    पता पैनल पहले वह पता बताता है जो इंटरनेट को दिखता है और उसके नीचे वह जो इस मशीन का अपने नेटवर्क पर है। यह केवल तब पूछता है जब पैनल स्क्रीन पर हो, लगभग हर दस मिनट में एक बार, या हर तीस सेकंड में जब तक कोई पता ज्ञात न हो, और अनुरोध में मशीन के बारे में कुछ नहीं होता।

  • बाकी सब चीज़ों की तरह, ड्रैग करके क्रम बदला जा सकता है

    मॉनिटर के पैनल, डॉक के बटन और एजेंट बार के हिस्से, इन सबको एक ही तरीके से उठाकर वहां रखा जाता है जहां वे जाने चाहिए। किसी सेटिंग रो को उसकी बाईं ओर के ग्रिप से उठाया जाता है, न कि रो पर कहीं से भी, ताकि टेक्स्ट फील्ड पर शुरू हुआ ड्रैग आपको वह शब्द चुनने से न रोके जिसे आप बदलना चाहते थे।

एक फ़ाइल शेल के बगल में खुलती है

वह काम जिसके लिए टर्मिनल आमतौर पर आपको कहीं और भेज देता है: आउटपुट में एक पाथ दिखता है, दो लाइनें बदलनी होती हैं, और अब तक इसका मतलब था किसी एडिटर में जाना और शेल का संदर्भ खोकर वापस लौटना।

संपादक में खुली src/main.ts, बगल में परीक्षण पास वाला टर्मिनल ब्लॉक, और फ़ाइल पैनल जो प्रोजेक्ट के फ़ोल्डर और फ़ाइलें आकार के साथ सूचीबद्ध करता है संपादक में खुली src/main.ts, बगल में परीक्षण पास वाला टर्मिनल ब्लॉक, और फ़ाइल पैनल जो प्रोजेक्ट के फ़ोल्डर और फ़ाइलें आकार के साथ सूचीबद्ध करता है
संपादक में पंक्ति संख्याओं और रंगाई के साथ खुली src/main.ts, उस शेल और फ़ाइल पैनल के बगल में जहाँ से वह खोली गई थी।
  • सेव करना एक सोचा-समझा कदम है

    Cmd+S दबाने तक कुछ भी नहीं लिखा जाता। टाइप करते ही लिख देने वाला एडिटर किसी नोट्स ऐप में तो ठीक है, लेकिन चल रहे शेल के बगल में खराब बात है। यह एक कीस्ट्रोक नहीं बल्कि एक एक्शन है, जिसकी वजह से इसे भी बाकी सब चीज़ों की तरह एक मेन्यू आइटम, एक शॉर्टकट और एक कमांड लाइन एंट्री मिलती है।

  • मना करना भी उतना ही मायने रखता है जितना लिखना

    खुलने के बाद डिस्क पर बदल चुकी फ़ाइल को ओवरराइट नहीं किया जाता। किसी बाइनरी फ़ाइल को बिगड़े हुए टेक्स्ट के रूप में नहीं दिखाया जाता। किसी फ़ोल्डर को खोला ही नहीं जाता। बिना सेव किए बदलाव पर एक साफ निशान दिखता है, और एडिट की गई फ़ाइल बंद करने पर पूछा जाता है।

  • कोई फ़ाइल ढूंढना

    फ़ाइल्स पैनल आप जिस फ़ोल्डर में हैं उसके नीचे नाम से खोज करता है, और हर नतीजा बताता है कि वह किन दो फ़ोल्डर में है, क्योंकि सिर्फ नाम से दो index.ts में फर्क नहीं किया जा सकता। यह node_modules, .git, target और इन जैसी चीज़ों को छोड़ देता है, आठ लेवल या दो सौ नतीजों पर रुक जाता है, और दो अक्षरों से कम पर कुछ भी नहीं करता।

सेटिंग्स, एक स्क्रीन के रूप में और फ़ाइलों के रूप में

दस भाग, सामान्य से डेटा और गोपनीयता तक, हर सेटिंग की खोज, और हर एक फ़ाइल की एक पंक्ति है जिसे आप हाथ से भी संपादित कर सकते हैं।

'दिखावट' पर सेटिंग्स स्क्रीन: थीम सूची का अंत, लुक, विंडो की अपारदर्शिता और न्यूनतम कंट्रास्ट, और चुनी हुई Accessible थीम की एक्सेसिबिलिटी रीडिंग: टेक्स्ट कंट्रास्ट AAA और रंग-अंधता की भिन्नता का स्कोर 'दिखावट' पर सेटिंग्स स्क्रीन: थीम सूची का अंत, लुक, विंडो की अपारदर्शिता और न्यूनतम कंट्रास्ट, और चुनी हुई Accessible थीम की एक्सेसिबिलिटी रीडिंग: टेक्स्ट कंट्रास्ट AAA और रंग-अंधता की भिन्नता का स्कोर
दिखावट, थीम सूची के नीचे: लुक, विंडो की अपारदर्शिता, न्यूनतम कंट्रास्ट, और चुनी हुई थीम के टेक्स्ट कंट्रास्ट और रंग-अंध भिन्नता की रेटिंग।
  • सेटिंग्स ब्लॉक तक खुद आती हैं

    किसी पैनल पर राइट-क्लिक का मतलब है “यहाँ की यह चीज़ बदलो”। इसलिए किसी ब्लॉक के अपने मेन्यू में सेटिंग की पंक्ति चुनने से वह भाग विंडो के ऊपर, मेन्यू के कोने पर खुलता है, सेटिंग्स स्क्रीन तक ले जाने की जगह। यह बाकी सब की तरह एक एक्शन है: settings.here:themes, settings.here:monitor।

  • जो आवाज़ चुनते ही सुनी जा सकती है

    कोई सिग्नल साउंड या टर्मिनल की बेल चुनते ही वह बज उठती है। ऐसी लिस्ट से आवाज़ चुनना जिसे आप सुन ही नहीं सकते, असल में सिर्फ एक नाम चुनना है।

  • किसी भी चीज़ के लिए रीस्टार्ट नहीं मांगा जाता

    सेटिंग्स फ़ोल्डर पर लगातार नज़र रखी जाती है, उन दो चीज़ों समेत जो कोर के अपने पास हैं: आपकी शॉर्टकट्स फ़ाइल से बनने वाला macOS मेन्यू बार, और ड्रॉप-डाउन विंडो की ग्लोबल कुंजी, जिसमें नई कुंजी रजिस्टर होने से पहले पुरानी कुंजी छोड़ दी जाती है ताकि दोनों एक साथ जवाब न दें। एक चेक सेटिंग्स स्क्रीन के हर संकेत को पढ़ता है और 'restart' शब्द आने पर फेल हो जाता है।

बोलना और सुनना

दोनों आपकी मशीन पर सिस्टम की अपनी स्पीच का इस्तेमाल करते हैं। ऑडियो कभी भी कंप्यूटर से बाहर नहीं जाता।

डिक्टेशन

Cmd+Shift+V आप जो बोलते हैं उसे उस ब्लॉक में टाइप कर देता है जिसमें आप काम कर रहे हैं, और स्ट्रिप दो अक्षरों में बताती है कि यह किस भाषा में सुन रहा है। बोला गया वाक्य टाइप होता है, कभी अपने आप चलता नहीं: पहचान में गलती हो सकती है, और गलत सुना गया कमांड अगर खुद चल जाए तो यह ऐसा प्रोग्राम बन जाता है जो सिर्फ इसलिए चीज़ें डिलीट कर देता है क्योंकि रेडियो बज रहा था। किसी एजेंट के बगल में, जहां वाक्य कमांड नहीं बल्कि एक मैसेज होता है, यह खुद भेज सकता है, और यह वाक्य खत्म होने के ठीक समय पढ़ी जाने वाली एक सेटिंग है।

जवाब को वापस पढ़कर सुनाना

Cmd+Shift+R एजेंट के आखिरी जवाब को ज़ोर से पढ़ता है; फिर से दबाने पर यह रुक जाता है। जो पढ़ा जाता है वह जवाब है, स्क्रीन नहीं। शुरुआत में लगा बुलेट, ज़ोर दिए गए शब्द के चारों ओर के स्टार, किसी नाम के चारों ओर के बैक-टिक, कोई बॉक्स रूल, या ऐसा पूरा पाथ जहां सिर्फ फ़ाइल का नाम काफी होता: ये सब हट जाते हैं, और इनके अंदर के शब्द बने रहते हैं। पढ़ना शब्दों से नहीं बल्कि आकारों से सीमित होता है, नीचे से एजेंट की इनपुट लाइन से और ऊपर से उसके लोगो से, क्योंकि किसी एजेंट का ढांचा हर नए संस्करण के साथ बदल जाता है।

वे छोटी चीज़ें जो तय करती हैं कि आप इसे इस्तेमाल करते रहेंगे या नहीं

राइट-क्लिक बटन हमारा है

विंडो में हर जगह: किसी ब्लॉक के अंदर उसका अपना मेन्यू, विंडो के बाहर वाला मेन्यू, टैब स्ट्रिप, डॉक, टाइल्स के बीच का गैप। हर लाइन एक एक्शन है, और मेन्यू का अपना एक एक्शन भी है, block.menu, ताकि सिर्फ हाथ से पहुंचा जा सकने वाला जेस्चर ऐसा जेस्चर न बने जिसे कोई चेक नहीं कर सकता। जिस एक जगह पर सिस्टम का मेन्यू बना रहता है वह टेक्स्ट फील्ड है, जहां यह कट, कॉपी, पेस्ट और डिक्शनरी देता है।

कहीं से भी कोई फ़ोल्डर खोलें

vobuda://open?path=/some/path किसी Finder एक्शन, स्क्रिप्ट या दूसरे ऐप से उस फ़ोल्डर में एक टैब खोल देता है। macOS में सिस्टम-लेवल पर डिफ़ॉल्ट टर्मिनल की कोई सेटिंग नहीं है, इसलिए यह उस फीचर का ईमानदार रूप है, न कि ऐसा वादा जो निभाया न जा सके।

किसी ब्लॉक के अंदर खोज करना

Cmd+F। यह फील्ड उसी ब्लॉक की होती है जिसमें खोज हो रही है, और इसे बंद करने पर व्यू वहीं रहता है जहां मैच मिला था।

ब्लॉक को अपने साथ ले जाएं

Cmd+Shift+X किसी ब्लॉक का टेक्स्ट कॉपी करता है, जो टर्मिनल से ही पूछा जाता है, और इसी वजह से यह तब भी चलता है जब GPU रेंडरिंग चालू हो और पेज में चुनने को कोई टेक्स्ट न हो। ब्लॉक का चित्र Cmd+K पर दो एक्शन हैं, ब्लॉक का चित्र क्लिपबोर्ड में और ब्लॉक का चित्र फ़ाइल में।

अपडेट चेक जो कोई बोझ नहीं बनते

कोर दिन में एक बार अपने ही थ्रेड में जाँचता है, और आपको जो दिखता है वह लेआउट के ऊपर की पट्टी है, उसके ऊपर छाई हुई नहीं, क्योंकि जो सूचना टर्मिनल को ढकती है उसे लोग बिना पढ़े बंद करना सीख लेते हैं। आपके दबाने तक कुछ इंस्टॉल नहीं होता: एजेंट के लिए अपडेट एक कमांड है जो सक्रिय ब्लॉक में टाइप की जाती है जहाँ उसका आउटपुट दिखता है, और Mac पर Vobuda के लिए बटन नया संस्करण पृष्ठभूमि में इंस्टॉल करता है, फिर रीस्टार्ट का प्रस्ताव देता है, जो कुछ न चल रहा हो तो दस सेकंड बाद अपने आप होता है।

चालीस भाषाएं, और हर एक में एक गाइड

इसमें macOS मेन्यू बार भी शामिल है, जिसे सिस्टम कोर में बनाता है। अरबी और हिब्रू पूरी विंडो को मिरर करते हैं, सिवाय टर्मिनल के, जहां मिरर करने से आउटपुट और पाथ पढ़े नहीं जा सकते। किसी ट्रांसलेशन की 'कुंजी' अंग्रेज़ी स्ट्रिंग ही होती है, इसलिए बिना अनुवाद वाली स्ट्रिंग खाली जगह या किसी आइडेंटिफायर की बजाय पढ़ने लायक अंग्रेज़ी में दिख जाती है।

जिन हिस्सों के बारे में अभी पढ़ा, उन्हें आज़माएं

पहली बार चलाने पर दो छोटे सवालों के बाद, यह एक टर्मिनल ब्लॉक के साथ खुलता है और कुछ नहीं। ऊपर की हर चीज़ वह है जिसे आप तब चालू करते हैं जब चाहें।

curl -fsSL https://vobuda.com/install.sh | sh