# CLI एजेंट

टर्मिनल से पहले से चलाते आ रहे किसी एजेंट को अपने राइटिंग वर्कस्पेस के भीतर उपयोग करें।

अपना इंस्टॉल किया हुआ एजेंट Oleafly में लाएँ। **CLI Agent** मोड उसी एजेंट का रनटाइम और साइन-इन उपयोग करता है, ताकि आप पांडुलिपि के साथ उन्हीं टूल्स से काम कर सकें जिनका उपयोग आप पहले से करते हैं।

![Settings → AI Assistant → CLI agents। सबसे ऊपर इंस्टॉल किए एजेंट देखें, फिर किसी एजेंट को विस्तारित करके उसका सेटअप पूरा करें।](https://cdn.oleafly.com/images/screenshots/desktop/docs/settings-cli-agents-dark-window-v2.png#view=519,89,883,902)

## एजेंट जोड़ें

1. **Settings → AI Assistant → CLI agents** खोलें और **Check installed agents** चुनें।
2. अपने एजेंट को विस्तारित करें। **Program** पंक्ति उस प्रोग्राम और उसकी जगह को दिखाती है जो Oleafly को मिला।
3. **Test** चुनें। अगर कार्ड ब्रिज माँगे, तो पहले **Install bridge** चुनें।
4. एजेंट के अपने कमांड लाइन टूल से साइन इन करें। कार्ड उसका **Sign-in command** दिखाता है, और प्रोजेक्ट खुला होने पर **Open sign-in terminal** उसे चलाने के लिए एक टर्मिनल देता है।
5. असिस्टेंट खोलें, **CLI Agent** पर स्विच करें, और एजेंट चुनें।
6. किसी छोटे काम से शुरू करें, जैसे प्रोजेक्ट की संरचना समझाना या एक पैराग्राफ़ संशोधित करना।

अगर आप किसी ऐसे एजेंट पर स्विच करते हैं जो अभी तैयार नहीं है, तो असिस्टेंट एक सेटअप कार्ड दिखाता है जो बताता है कि क्या कमी है। उसका **Set up** बटन, जैसे **Set up Claude Code**, उस एजेंट को Settings में खोलता है। जब सिर्फ़ ब्रिज कमी हो, तो कार्ड का **Install bridge** उसे इंस्टॉल कर देता है।

प्रमाणीकरण, मॉडल एक्सेस और बिलिंग चुने हुए एजेंट के भाग हैं। CLI का समर्थन करने वाला खाता या सदस्यता उस प्रदाता की शर्तों के मुताबिक़ उपयोग की जा सकती है; Oleafly कोई अलग AI सदस्यता नहीं जोड़ता।

## प्रोग्राम चुनें

**Program** लेबल के नीचे कार्ड वह फ़ाइल दिखाता है जिसे Oleafly चालू करता है और वह कहाँ से आई: **Found automatically**, **Chosen by you**, या **Installed by Oleafly**। कुछ एजेंट के लिए यह पंक्ति इसके बजाय **ACP bridge** के विवरण के अंदर होती है।

किसी दूसरी कॉपी का उपयोग करने के लिए **Choose…** चुनें और फ़ाइल चुनें। अगर Oleafly को कुछ नहीं मिला, तो पंक्ति **Not found on this computer** कहती है और जगह के लिए एक फ़ील्ड देती है। पथ टाइप करें या पेस्ट करें, फिर Enter दबाएँ या **Test** चुनें। आपकी चुनी या टाइप की हुई फ़ाइल टेस्ट पास करने के बाद ही सेव होती है। **Use automatic detection** आपकी पसंद हटा देता है।

Oleafly उन फ़ोल्डरों में देखता है जहाँ इंस्टॉलर एजेंट रखते हैं:

- Windows पर यह npm, pnpm, Scoop, winget और ऐसे ही टूल्स से इंस्टॉल किए एजेंट किसी भी ड्राइव पर पा लेता है। यह सर्च पथ हर बार नए सिरे से पढ़ता है, इसलिए **Check installed agents** वह एजेंट भी पा लेता है जिसे आपने Oleafly खुला रहने के दौरान इंस्टॉल किया।
- macOS पर यह उन फ़ोल्डरों में एजेंट पाता है जिनके बारे में आम तौर पर सिर्फ़ आपका शेल जानता है, जैसे `~/.local/bin` या कोई nvm फ़ोल्डर, तब भी जब आप Oleafly को Dock या Finder से खोलते हैं।

जब Oleafly को सही नाम की कोई ऐसी फ़ाइल मिलती है जिसका उपयोग वह नहीं कर सकता, तो सेटअप बताता है कि उसे क्या मिला और क्यों। Windows पर एक आम मामला PowerShell स्क्रिप्ट का है, जबकि Oleafly को `.cmd` या `.exe` वर्शन चाहिए। **Files Oleafly skipped** हर ऐसी फ़ाइल अपने कारण के साथ सूचीबद्ध करता है, जैसे कोई फ़ोल्डर, कोई डेस्कटॉप ऐप, कोई शेल या रनटाइम जैसे `node`, या नेटवर्क की कोई जगह पर रखी कॉपी।

Settings में पथ तब तक धुँधले रहते हैं जब तक आप उन पर होवर न करें या Tab से उन तक न पहुँचें, ताकि Settings का स्क्रीनशॉट न दिखाए कि आपकी फ़ाइलें कहाँ हैं।

## एजेंट टेस्ट करें

**Test** एजेंट को Oleafly के एक ख़ाली फ़ोल्डर में, आपके प्रोजेक्ट से दूर, चालू करता है और उसके जवाब का इंतज़ार करता है। यह कुछ भी सेव नहीं करता। पास होने पर आपको एजेंट का नाम और संस्करण दिखता है। फेल होने पर आपको कारण बताने वाला एक वाक्य और आज़माने के लिए एक उपाय मिलता है:

| टेस्ट क्या बताता है | क्या आज़माएँ |
| --- | --- |
| वहाँ कोई फ़ाइल नहीं, या कोई फ़ोल्डर, डेस्कटॉप ऐप, या ऐसी फ़ाइल जिसे Oleafly चालू नहीं कर सकता | **Choose…** चुनें और प्रोग्राम की फ़ाइल ही चुनें |
| ब्रिज अभी तक इंस्टॉल नहीं है | **Install bridge** |
| एजेंट को Node.js चाहिए, या उसका कोई नया संस्करण | **Get Node.js** |
| एजेंट चालू हुआ पर जवाब नहीं दिया, जल्दी रुक गया, या ऐसा जवाब भेजा जिसे Oleafly पढ़ न सका | **Copy details**, या ख़ुद चलाने के लिए **Open terminal** |

अगर आपकी चुनी हुई फ़ाइल फ़ाइल के अलावा किसी और वजह से फेल हो जाती है, तो **Use anyway** उसे फिर भी सेव कर लेता है।

## एजेंट कैटलॉग

| एजेंट | CLI कमांड |
| --- | --- |
| Claude Code | `claude` |
| Codex CLI | `codex` |
| Gemini CLI | `gemini` |
| Pi | `pi` |
| OpenCode | `opencode` |
| OpenClaw | `openclaw` |
| Cline | `cline` |
| Hermes Agent | `hermes` |
| CodeBuddy | `codebuddy` |
| Kimi Code | `kimi` |
| Grok Build | `grok` |
| Cursor | `cursor-agent` या `agent` |
| DeepSeek Harness | `dsh` |
| Qoder | `qodercli` |

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

Pi, pi-acp ब्रिज (संस्करण 0.0.34) से चलता है, और Oleafly ब्रिज को आपके Pi प्रोग्राम पर पॉइंट करता है। Windows पर यह नाम में स्पेस वाले प्रोजेक्ट फ़ोल्डरों को संभालता है।

## पांडुलिपि के साथ काम करें

एजेंट को एक ठोस अनुरोध दें और असिस्टेंट पैनल में उसके जवाबों, टूल गतिविधि और अनुमति-प्रॉम्प्ट को फॉलो करें। बनी हुई सोर्स खोलें और उसे Oleafly में कंपाइल करें।

> परिचय और विधियाँ पढ़ें। जिन शब्दों को असंगत ढंग से परिचित कराया गया है, उनकी सूची फ़ाइल स्थान के साथ बनाएँ।

अलग कॉपी और अंतिम समीक्षा के लिए [Research tasks](/docs/research-tasks/) में कोई उपलब्ध एजेंट चुनें। वह पेज अलग-थलक काम के लिए प्लेटफ़ॉर्म ज़रूरतें सूचीबद्ध करता है।

## शोध के शुरुआती बिंदु

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

| शुरुआती बिंदु | यह क्या माँगता है |
| --- | --- |
| **Literature sweep** | प्रोजेक्ट के शोध प्रश्न के लिए एनोटेटेड पढ़ने की सूची, `oleafly-literature-sweep` स्किल के साथ |
| **Related work** | पढ़ने की सूची और ग्रंथसूची से तैयार किया गया संबंधित-कार्य खंड, `oleafly-related-work` के साथ |
| **Citation audit** | पांडुलिपि के दावों की उनके उद्धृत स्रोतों से जाँच, `oleafly-verify-claims` के साथ |
| **Manuscript review** | पूरी पांडुलिपि की समीक्षा, `oleafly-review-manuscript` के साथ |
| **Reproducibility audit** | हर परिणाम में पुनरुत्पादन के लिए क्या कमी है: कोड, डेटा, सॉफ़्टवेयर संस्करण, रैंडम सीड और बिल्ड निर्देश |
| **Figure audit** | हर फ़िगर और टेबल की जाँच: कैप्शन, लेबल, क्रॉस-रेफ़रेंस, अक्ष लेबल और इकाइयाँ, पठनीयता, और ऐसे रंग जो ग्रेस्केल में भी कायम रहें |
| **Git review** | बिना कमिट किए बदलावों और हाल के कमिट का सारांश, जो अनजाने में हुए संपादन चिह्नित करता है। सिर्फ़ Git रिपॉज़िटरी में दिखता है |
| **Reference cleanup** | **Clean the reference library** खोलता है, जो उद्धरण कुंजियाँ मानकीकृत करता है और बदलावों का प्रीव्यू देखने के बाद डुप्लिकेट हटाता है |

ऑडिट और पांडुलिपि समीक्षा एजेंट से कहते हैं कि वह पांडुलिपि फ़ाइलों को हाथ न लगाए और अपने निष्कर्ष `research/` में किसी फ़ाइल में लिखे, जैसे `research/figure-audit.md`।

किसी शुरुआती बिंदु से या होम पेज की स्किल सूची से चुनी हुई स्किल संदेश के ऊपर एक चिप के रूप में दिखती है। Oleafly आपके संदेश के साथ स्किल के निर्देश भी भेजता है, ताकि जिन एजेंट को Oleafly के टूल्स नहीं मिलते, जैसे Pi, वे भी उसका पालन कर सकें। चिप पर क्लिक करके उसे हटाएँ। अगर स्किल प्रोजेक्ट के लिए बंद है, तो शुरुआती बिंदु संदेश उसके बिना भरता है।

## अनुमति अनुरोध

जब एजेंट कार्य करने से पहले पूछता है, तो एक कार्ड बताता है कि एजेंट को **needs permission** है और एजेंट के अपने विकल्प देता है। अगर अनुरोध फ़ाइलें बदलने वाला हो, तो कार्ड उन्हें सूचीबद्ध करता है। **Show change** किसी फ़ाइल का diff खोलता है ताकि आप जवाब देने से पहले उसे पढ़ सकें। दिखाने के लिए बहुत बड़ा बदलाव ऐसा ही बता देता है, और आप उसकी समीक्षा टर्न ख़त्म होने के बाद कर सकते हैं। **Dismiss** अनुरोध को अनुमति दिए बिना रद्द कर देता है। दो मिनट तक छोड़ा गया अनुरोध एक्सपायर हो जाता है, और एजेंट को दोबारा पूछना पड़ता है।

## बदलावों की समीक्षा और पूर्ववत करें

फ़ाइलें बदलने वाले टर्न के बाद, जवाब के नीचे की एक पंक्ति बताती है कि कितनी बदलीं। **Review** हर बदलाव दिखाता है, और **Undo** और **Redo** फ़ाइल-दर-फ़ाइल या पूरे टर्न के लिए काम करते हैं। [टर्न की समीक्षा और पूर्ववत करें](/docs/ai-chat/#review-and-undo-a-turn) समझाता है कि यह कैसे काम करता है और किन चीज़ों को नहीं छेड़ता।

## बातचीत और एक्सपोर्ट

असिस्टेंट हेडर में **New conversation**, **Saved conversations** और **Agent setup** हैं। हर बातचीत उस Git कमिट को रिकॉर्ड करती है जिस पर प्रोजेक्ट शुरुआत के समय था।

Oleafly के बाहर कॉपी रखने के लिए **Saved conversations** खोलें और **Export conversation…** चुनें, फिर सेव डायलॉग में Markdown या JSON चुनें। Markdown फ़ाइल की शुरुआत प्रोजेक्ट, एजेंट, मॉडल, वह कमिट जिस पर बातचीत शुरू हुई (बिना कमिट किए बदलावों का उल्लेख के साथ), और शुरू होने व अंतिम बार अपडेट होने के समय से होती है। इसके बाद संदेश, स्किल, टूल कॉल और बदली हुई फ़ाइलें आती हैं। JSON पूरा रिकॉर्ड रखता है।

## कस्टम एजेंट

ACP रजिस्ट्री में दूसरी टीमों के प्रकाशित एजेंट खोजने के लिए **Find more agents** चुनें, या ख़ुद कोई परिभाषा पेस्ट करने के लिए **Add a custom agent** चुनें। चलाने से पहले उसके एग्ज़ीक्यूटेबल या पैकेज, आर्ग्युमेंट और कनेक्शन ज़रूरतों की समीक्षा करें। परिभाषा रजिस्टर करना एजेंट को इंस्टॉल या चालू नहीं करता।

## इसके बजाय कोई बाहरी क्लाइंट उपयोग करें

अगर आप अपने एजेंट के अपने इंटरफ़ेस में रहना पसंद करते हैं, तो उसे MCP से कनेक्ट करें। [Oleafly का MCP सर्वर](/docs/mcp/) Oleafly खुला रहते हुए उसे ऐप के प्रोजेक्ट टूल्स देता है। [`oleafly` कमांड](/docs/cli/#connect-an-agent-over-mcp) ऐप बंद होने पर भी काम करता है, और [`oleafly-cli` स्किल](/docs/cli/#the-oleafly-cli-skill) आपके एजेंट को उसके कमांड सिखाती है।
