1 पॉइंट द्वारा GN⁺ 2025-10-14 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • agent-shell Emacs में AI एजेंटों को सीधे नियंत्रित करने की सुविधा देने वाला comint-mode-आधारित native shell है
  • ACP (Agent Client Protocol) का उपयोग करके यह किसी खास एजेंट पर निर्भर हुए बिना कई तरह के एजेंटों से संवाद करने की लचीलापन देता है
  • रियल-टाइम traffic analysis फीचर और fake (fak) agent replay फीचर से टेस्टिंग और डेवलपमेंट की दक्षता बढ़ती है
  • अभी protocol की सभी सुविधाएँ लागू नहीं हुई हैं, फिर भी यह तेज़ी से व्यावहारिक उपयोग योग्य स्तर का implementation दिखाता है
  • agent-shell और acp.el दोनों GitHub पर खुले रूप में उपलब्ध हैं, और अतिरिक्त फीचर्स या bugs पर user feedback का स्वागत है

परिचय

  • हाल ही में Emacs Lisp में implemented acp.el के ज़रिये Zed और Google द्वारा संयुक्त रूप से विकसित Agent Client Protocol (ACP) के साथ integration संभव हुआ है
  • पहले chatgpt-shell जैसे LLM के साथ केवल बुनियादी integration ही उपलब्ध था, लेकिन AI एजेंटों का गंभीर उपयोग अपेक्षाकृत धीमा था
  • ACP के आने के बाद Emacs environment के भीतर agent integration की मांग बढ़ी, और इसी कारण native Emacs agent-shell का विकास शुरू किया गया

agent-shell का अवलोकन

  • agent-shell comint-mode पर आधारित है और Emacs के परिचित buffer system के भीतर काम करता है
  • अलग से character और line mode conversion के बिना, इसे सामान्य Emacs shell की तरह ही इस्तेमाल करने का environment मिलता है

Agent-agnostic (एजेंट-निरपेक्षता)

  • ACP की वजह से एक ही protocol के माध्यम से कई एजेंटों से संवाद करने वाला सुसंगत user experience बनाना संभव है
  • configuration उदाहरणों के ज़रिये Gemini CLI, Claude Code जैसे अलग-अलग एजेंटों को सिर्फ़ छोटे code changes के साथ लागू किया जा सकता है
    • उदाहरण code: हर एजेंट के लिए authentication, commands, और environment variable settings का तरीका समझाया गया है
  • अन्य एजेंटों को भी इसी तरीके से आसानी से integrate किया जा सकता है

Traffic viewing फीचर

  • ACP protocol के उपयोग की पर्याप्त आदत न होने के कारण, communication traffic का रियल-टाइम analysis करने की आवश्यकता थी
  • agent-shell एक अलग traffic viewer buffer देता है, जिससे M-x agent-shell-view-traffic कमांड के द्वारा Json-आधारित traffic को दृश्य रूप से देखा जा सकता है

Fake agents (नकली एजेंट और replay)

  • वास्तविक paid agents के साथ development करने पर लागत और समय की अक्षमता की समस्या के कारण fake agent replay फीचर जोड़ा गया
  • traffic buffer के माध्यम से सहेजे गए communication data को replay करके, तेज़ी से कई बार testing की जा सकती है
  • कुछ सीमाएँ और बंधन मौजूद हैं, फिर भी debugging और development process काफी अधिक कुशल हो गया है

आगे की योजना और वर्तमान स्थिति

  • Agent Client Protocol Schema का केवल कुछ हिस्सा implement किया गया है, इसलिए अधूरे हिस्से अभी बाकी हैं
  • n/p key-आधारित quick(diff) buffer और permission dialog जैसे नवाचारी UX प्रयोग चल रहे हैं
  • protocol की सभी सुविधाओं को समझकर आगे और implementation जोड़े जाने की योजना है

GitHub पर उपलब्धता और उपयोग मार्गदर्शन

  • agent-shell और acp.el दोनों GitHub पर खुले रूप में उपलब्ध हैं
    • agent-shell: agent users के लिए package
    • acp.el: agent-संबंधित integration package बनाना चाहने वाले developers के लिए library
  • दोनों projects अभी बहुत शुरुआती (beta) चरण में हैं, इसलिए bugs और feature requests भेजने की सिफारिश की गई है
  • cloud LLM services के उपयोग पर अतिरिक्त लागत आती है, और open source development में भी लागत और प्रयास लगता है
  • यदि project उपयोगी लगे, तो support (sponsorship) में भाग लेने के लिए प्रोत्साहित किया गया है

1 टिप्पणियां

 
GN⁺ 2025-10-14
Hacker News राय
  • Xenodium Emacs में कमाल की चीज़ें कर रहे हैं। अगर आपकी Emacs में रुचि है, तो Xenodium ब्लॉग ज़रूर देखें। दूसरे Emacs users की सिफारिश पर मैंने पहली बार जो iOS ऐप खरीदा, वह Journelly था। यह एक portable space है जहाँ लिंक या नोट्स आसानी से सेव किए जा सकते हैं और org files में export किए जा सकते हैं। कहा गया है कि आगे चलकर markdown support भी आएगा। मेरा Xenodium से कोई संबंध नहीं है। इस साल Emacs को गहराई से इस्तेमाल करते हुए उनके contributions देखना बहुत आनंददायक रहा है।
    • बहुत धन्यवाद। ऐसा feedback दिन को खुशगवार बना देता है। यह जानकर भी अच्छा लगा कि आप Journelly के fan हैं। खरीदने के लिए धन्यवाद। niche apps को लगातार develop करते रहना एक बड़ी चुनौती है।
  • agent-shell, ACP (Agent Client Protocol) पर चलने वाले विभिन्न AI agents को सीधे Emacs में इस्तेमाल करने का एक native experience देता है। फिलहाल यह Claude Code, Gemini CLI, Codex और Goose के साथ integrate हो सकता है, लेकिन तकनीकी रूप से ACP support करने वाला कोई भी agent इस्तेमाल किया जा सकता है। sustainable development के लिए और sponsors की ज़रूरत है। github sponsors पर support किया जा सकता है।
    • बहुत दिलचस्प है। मैंने claude-code-ide इस्तेमाल किया था, लेकिन उसमें comint-mode नहीं था, इसलिए काफ़ी असुविधा हुई। मैं agent-shell ज़रूर आज़माना चाहूँगा। एक सवाल है: क्या ACP spec में “ide” से जुड़े features भी आते हैं, जैसे Claude code ide में supported cursor position, diff integration वगैरह, या यह सच में सिर्फ़ basic features पर focused है?
  • Agent shell वही चीज़ है जिसकी मुझे हमेशा चाह थी। मैंने Claude code integration के कई packages आज़माए, लेकिन उन्हें terminal emulator में चलाने की झंझट थी। agent shell कहीं ज़्यादा natural और integrated लगता है। files से environment settings पढ़ने वाला feature ख़ास तौर पर रोमांचक लग रहा है। अच्छा होता अगर agent-shell-sidebar वास्तव में कैसे काम करता है, यह दिखाने के लिए screenshots भी होते।
  • Xenodium Emacs community के लिए शानदार काम कर रहे हैं। मैं अभी agent-shell इस्तेमाल कर रहा हूँ, लेकिन buffer के ऊपर जो header जुड़ता है वह मुझे पसंद नहीं है। मुझे जो जानकारी चाहिए वह नीचे पहले से मौजूद है। अगर नीचे वाली line को वैकल्पिक रूप से disable किया जा सके, तो minimalists के लिए अच्छा होगा।
    • अगर header पसंद नहीं है, तो feature request दर्ज करें। graphical header को optional on/off करने लायक बनाना अच्छा रहेगा।
  • मैंने agent-shell कुछ बार इस्तेमाल किया है, और release के शुरुआती दौर का package होने के बावजूद यह बहुत smooth experience देता है।
  • ACP के बारे में पहली बार सुन रहा हूँ। AG-UI की तुलना में यह कैसे अलग है, यह जानना चाहता हूँ। बेशक, इतना समझता हूँ कि ACP coding-focused है और AG-UI उससे कहीं अधिक general-purpose है, लेकिन इसके अलावा और क्या फ़र्क हैं, यह जानना चाहता हूँ।
    • यह वही logic है जो LSP में है, बस AI agents पर लागू किया गया है। claude, codex, gemini, aider आदि के लिए हर editor में बार-बार wrapper implement करना काफ़ी तकलीफ़देह है। इसलिए Zed टीम ने protocol standardization शुरू की।
  • ECA नाम का एक project भी है: ECA GitHub। ECA कई front-end और editors के लिए LSP-style coding agent protocol है। यह विभिन्न models को सीधे support करता है। दूसरी ओर, agent protocol ऐसा लगता है कि Gemini CLI, Claude Code जैसे कई agents को, उनके protocol support के आधार पर, अलग-अलग front-end में इस्तेमाल करने देता है। संभव है कि अलग-अलग coding agents भी ECA protocol अपना लें।
    • सही है, ECA project का एक Emacs package भी है। मैं हाल में उसका इस्तेमाल कर रहा हूँ। Emacs issue debug करते समय मैंने ECA protocol और ACP docs देखे थे; दोनों काफ़ी समान हैं और दोनों अच्छी तरह documented हैं। यह अनजाने में हुई दोहराई गई खोज जैसा है।
    • मैंने दोनों इस्तेमाल किए हैं और ऊपर दिया गया विवरण सही है। MCPs को फिर से configure करना पड़ता है और ECA का अपना server background में चलता है। इन्हीं वजहों से मुझे agent-shell ज़्यादा पसंद आया। हर agent का config format और location अलग है, और project-level तथा user-level config में भी फ़र्क होता है, इसलिए agent-shell की simplicity इसकी बड़ी ताकत है। आगे चलकर अगर config standard भी आ जाए तो सच में बहुत अच्छा होगा।
  • समझ नहीं आता कि Claude Code को सीधे इस्तेमाल करने के बजाय agent-shell क्यों इस्तेमाल किया जाए।
    • क्योंकि यह text editor में पूरी तरह integrated, unified native UI experience देता है। सिर्फ़ Claude Code ही नहीं, बल्कि Gemini CLI, Codex, Goose जैसे ACP support करने वाले कई agents को उसी तरह इस्तेमाल किया जा सकता है।
    • यही तो Emacs का अंदाज़ है। Emacs एक ऐसी चीज़ है जो पूरी दुनिया को निगल लेना चाहती है।
  • मैं इंतज़ार कर रहा हूँ कि कोई इसे Neovim के लिए भी बना दे। कोई अनजान नायक जल्द प्रकट हो, यही आशा है। spec बनाने के लिए Zed टीम और Google का भी धन्यवाद।