एजेंट
विशेषज्ञ एजेंट को कॉन्फ़िगर और उपयोग करें।
एजेंट विशेष AI असिस्टेंट हैं जिन्हें विशिष्ट कार्यों और वर्कफ़्लो के लिए कॉन्फ़िगर किया जा सकता है। वे आपको कस्टम प्रॉम्प्ट, मॉडल और टूल एक्सेस के साथ फोकस्ड टूल बनाने की अनुमति देते हैं।
सुझाव: कोड में कोई बदलाव किए बिना कोड का विश्लेषण करने और सुझावों की समीक्षा करने के लिए plan एजेंट का उपयोग करें।
आप सेशन के दौरान एजेंटों के बीच स्विच कर सकते हैं या उन्हें @ मेंशन से इनवोक कर सकते हैं।
प्रकार
OpenCode में दो प्रकार के एजेंट हैं; प्राइमरी एजेंट और सबएजेंट।
प्राइमरी एजेंट
प्राइमरी एजेंट वे मुख्य असिस्टेंट हैं जिनके साथ आप सीधे इंटरैक्ट करते हैं। आप Tab कुंजी या अपने कॉन्फ़िगर किए गए switch_agent कीबाइंड का उपयोग करके उनके बीच साइकल कर सकते हैं। ये एजेंट आपकी मुख्य बातचीत को संभालते हैं। टूल एक्सेस परमिशन के माध्यम से कॉन्फ़िगर किया जाता है — उदाहरण के लिए, Build में सभी टूल सक्षम हैं जबकि Plan प्रतिबंधित है।
सुझाव: सेशन के दौरान प्राइमरी एजेंटों के बीच स्विच करने के लिए आप Tab कुंजी का उपयोग कर सकते हैं।
OpenCode दो बिल्ट-इन प्राइमरी एजेंट के साथ आता है, Build और Plan। हम इन्हें नीचे देखेंगे।
सबएजेंट
सबएजेंट विशेष असिस्टेंट हैं जिन्हें प्राइमरी एजेंट विशिष्ट कार्यों के लिए इनवोक कर सकते हैं। आप उन्हें अपने संदेशों में @ मेंशन करके मैन्युअल रूप से भी इनवोक कर सकते हैं।
OpenCode दो बिल्ट-इन सबएजेंट के साथ आता है, General और Explore। हम इसे नीचे देखेंगे।
बिल्ट-इन
OpenCode दो बिल्ट-इन प्राइमरी एजेंट और दो बिल्ट-इन सबएजेंट के साथ आता है।
Build का उपयोग
मोड: primary
Build सभी टूल सक्षम के साथ डिफ़ॉल्ट प्राइमरी एजेंट है। यह डेवलपमेंट कार्य के लिए मानक एजेंट है जहां आपको फाइल ऑपरेशन और सिस्टम कमांड तक पूर्ण एक्सेस की आवश्यकता होती है।
Plan का उपयोग
मोड: primary
प्लानिंग और विश्लेषण के लिए डिज़ाइन किया गया एक प्रतिबंधित एजेंट। हम आपको अधिक नियंत्रण देने और अनपेक्षित परिवर्तनों को रोकने के लिए एक परमिशन सिस्टम का उपयोग करते हैं। डिफ़ॉल्ट रूप से, निम्नलिखित सभी ask पर सेट हैं:
file edits: सभी राइट, पैच और एडिटbash: सभी bash कमांड
यह एजेंट तब उपयोगी है जब आप चाहते हैं कि LLM आपके कोडबेस में कोई वास्तविक संशोधन किए बिना कोड का विश्लेषण करे, परिवर्तन सुझाए, या योजनाएं बनाए।
General का उपयोग
मोड: subagent
जटिल प्रश्नों पर रिसर्च करने और मल्टी-स्टेप कार्यों को निष्पादित करने के लिए एक जनरल-पर्पज एजेंट। इसमें पूर्ण टूल एक्सेस है (todo को छोड़कर), इसलिए जरूरत पड़ने पर यह फाइल में बदलाव कर सकता है। इसका उपयोग समानांतर में कई यूनिट ऑफ वर्क चलाने के लिए करें।
Explore का उपयोग
मोड: subagent
कोडबेस एक्सप्लोर करने के लिए एक तेज़, रीड-ओनली एजेंट। फाइलों को मॉडिफाई नहीं कर सकता। इसका उपयोग तब करें जब आपको पैटर्न द्वारा फाइलें जल्दी खोजनी हों, कीवर्ड के लिए कोड खोजना हो, या कोडबेस के बारे में प्रश्नों का उत्तर देना हो।
Compaction का उपयोग
मोड: primary
छिपा हुआ सिस्टम एजेंट जो लंबे कॉन्टेक्स्ट को छोटे सारांश में संकुचित करता है। यह जरूरत पड़ने पर स्वचालित रूप से चलता है और UI में चयन योग्य नहीं है।
Title का उपयोग
मोड: primary
छिपा हुआ सिस्टम एजेंट जो छोटे सेशन टाइटल जनरेट करता है। यह स्वचालित रूप से चलता है और UI में चयन योग्य नहीं है।
Summary का उपयोग
मोड: primary
छिपा हुआ सिस्टम एजेंट जो सेशन सारांश बनाता है। यह स्वचालित रूप से चलता है और UI में चयन योग्य नहीं है।
उपयोग
-
प्राइमरी एजेंट के लिए, सेशन के दौरान उनके बीच साइकल करने के लिए Tab कुंजी का उपयोग करें। आप अपने कॉन्फ़िगर किए गए
switch_agentकीबाइंड का भी उपयोग कर सकते हैं। -
सबएजेंट को इनवोक किया जा सकता है:
-
प्राइमरी एजेंट द्वारा उनके विवरण के आधार पर विशेष कार्यों के लिए स्वचालित रूप से।
-
अपने संदेश में सबएजेंट को @ मेंशन करके मैन्युअल रूप से। उदाहरण के लिए:
@general help me search for this function
-
-
सेशन के बीच नेविगेशन: जब सबएजेंट अपने स्वयं के चाइल्ड सेशन बनाते हैं, तो आप पैरेंट सेशन और सभी चाइल्ड सेशन के बीच नेविगेट कर सकते हैं:
- <Leader>+Right (या आपका कॉन्फ़िगर किया गया
session_child_cycleकीबाइंड) parent → child1 → child2 → … → parent के माध्यम से आगे साइकल करने के लिए - <Leader>+Left (या आपका कॉन्फ़िगर किया गया
session_child_cycle_reverseकीबाइंड) parent ← child1 ← child2 ← … ← parent के माध्यम से पीछे साइकल करने के लिए
यह आपको मुख्य बातचीत और विशेष सबएजेंट कार्य के बीच सहजता से स्विच करने की अनुमति देता है।
- <Leader>+Right (या आपका कॉन्फ़िगर किया गया
कॉन्फ़िगर करें
आप बिल्ट-इन एजेंट को कस्टमाइज़ कर सकते हैं या कॉन्फ़िगरेशन के माध्यम से अपने खुद के बना सकते हैं। एजेंट को दो तरीकों से कॉन्फ़िगर किया जा सकता है:
JSON
अपनी opencode.json कॉन्फ़िग फाइल में एजेंट कॉन्फ़िगर करें:
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"build": {
"mode": "primary",
"model": "anthropic/claude-sonnet-4-20250514",
"prompt": "{file:./prompts/build.txt}",
"tools": {
"write": true,
"edit": true,
"bash": true
}
},
"plan": {
"mode": "primary",
"model": "anthropic/claude-haiku-4-20250514",
"tools": {
"write": false,
"edit": false,
"bash": false
}
},
"code-reviewer": {
"description": "Reviews code for best practices and potential issues",
"mode": "subagent",
"model": "anthropic/claude-sonnet-4-20250514",
"prompt": "You are a code reviewer. Focus on security, performance, and maintainability.",
"tools": {
"write": false,
"edit": false
}
}
}
}Markdown
आप मार्कडाउन फाइलों का उपयोग करके भी एजेंट परिभाषित कर सकते हैं। उन्हें यहां रखें:
- ग्लोबल:
~/.config/opencode/agents/ - प्रति-प्रोजेक्ट:
.opencode/agents/
---
description: Reviews code for quality and best practices
mode: subagent
model: anthropic/claude-sonnet-4-20250514
temperature: 0.1
tools:
write: false
edit: false
bash: false
---
You are in code review mode. Focus on:
- Code quality and best practices
- Potential bugs and edge cases
- Performance implications
- Security considerations
Provide constructive feedback without making direct changes.मार्कडाउन फाइल का नाम एजेंट का नाम बन जाता है। उदाहरण के लिए, review.md एक review एजेंट बनाता है।
विकल्प
आइए इन कॉन्फ़िगरेशन विकल्पों को विस्तार से देखें।
Description
एजेंट क्या करता है और कब इसका उपयोग करना है, इसका संक्षिप्त विवरण प्रदान करने के लिए description विकल्प का उपयोग करें।
{
"agent": {
"review": {
"description": "Reviews code for best practices and potential issues"
}
}
}यह एक आवश्यक कॉन्फ़िग विकल्प है।
Temperature
temperature कॉन्फ़िग के साथ LLM की प्रतिक्रियाओं की रैंडमनेस और क्रिएटिविटी को नियंत्रित करें।
कम मान प्रतिक्रियाओं को अधिक फोकस्ड और निर्धारक बनाते हैं, जबकि उच्च मान क्रिएटिविटी और परिवर्तनशीलता बढ़ाते हैं।
{
"agent": {
"plan": {
"temperature": 0.1
},
"creative": {
"temperature": 0.8
}
}
}Temperature मान आमतौर पर 0.0 से 1.0 तक होते हैं:
- 0.0-0.2: बहुत फोकस्ड और निर्धारक प्रतिक्रियाएं, कोड विश्लेषण और प्लानिंग के लिए आदर्श
- 0.3-0.5: कुछ क्रिएटिविटी के साथ संतुलित प्रतिक्रियाएं, सामान्य डेवलपमेंट कार्यों के लिए अच्छी
- 0.6-1.0: अधिक क्रिएटिव और विविध प्रतिक्रियाएं, ब्रेनस्टॉर्मिंग और एक्सप्लोरेशन के लिए उपयोगी
{
"agent": {
"analyze": {
"temperature": 0.1,
"prompt": "{file:./prompts/analysis.txt}"
},
"build": {
"temperature": 0.3
},
"brainstorm": {
"temperature": 0.7,
"prompt": "{file:./prompts/creative.txt}"
}
}
}यदि कोई temperature निर्दिष्ट नहीं है, तो OpenCode मॉडल-विशिष्ट डिफ़ॉल्ट का उपयोग करता है; आमतौर पर अधिकांश मॉडलों के लिए 0, Qwen मॉडलों के लिए 0.55।
Max steps
टेक्स्ट-ओनली के साथ प्रतिक्रिया देने के लिए मजबूर होने से पहले एक एजेंट द्वारा किए जा सकने वाले एजेंटिक इटरेशन की अधिकतम संख्या को नियंत्रित करें। यह उन उपयोगकर्ताओं को अनुमति देता है जो लागत को नियंत्रित करना चाहते हैं, एजेंटिक एक्शन पर सीमा निर्धारित करने के लिए।
यदि यह सेट नहीं है, तो एजेंट तब तक इटरेट करना जारी रखेगा जब तक कि मॉडल रुकने का चयन न करे या उपयोगकर्ता सेशन को इंटरप्ट न करे।
{
"agent": {
"quick-thinker": {
"description": "Fast reasoning with limited iterations",
"prompt": "You are a quick thinker. Solve problems with minimal steps.",
"steps": 5
}
}
}जब सीमा पूरी हो जाती है, तो एजेंट को एक विशेष सिस्टम प्रॉम्प्ट प्राप्त होता है जो उसे अपने काम का सारांश और अनुशंसित शेष कार्यों के साथ प्रतिक्रिया देने का निर्देश देता है।
सावधानी: लीगेसी
maxStepsफील्ड डेप्रिकेटेड है। इसके बजायstepsका उपयोग करें।
Disable
एजेंट को डिसेबल करने के लिए true सेट करें।
{
"agent": {
"review": {
"disable": true
}
}
}Prompt
prompt कॉन्फ़िग के साथ इस एजेंट के लिए एक कस्टम सिस्टम प्रॉम्प्ट फाइल निर्दिष्ट करें। प्रॉम्प्ट फाइल में एजेंट के उद्देश्य के लिए विशिष्ट निर्देश होने चाहिए।
{
"agent": {
"review": {
"prompt": "{file:./prompts/code-review.txt}"
}
}
}यह पथ कॉन्फ़िग फाइल की लोकेशन के सापेक्ष है। इसलिए यह ग्लोबल OpenCode कॉन्फ़िग और प्रोजेक्ट विशिष्ट कॉन्फ़िग दोनों के लिए काम करता है।
Model
इस एजेंट के लिए मॉडल को ओवरराइड करने के लिए model कॉन्फ़िग का उपयोग करें। विभिन्न कार्यों के लिए ऑप्टिमाइज़ किए गए विभिन्न मॉडलों का उपयोग करने के लिए उपयोगी। उदाहरण के लिए, प्लानिंग के लिए एक तेज़ मॉडल, इम्प्लीमेंटेशन के लिए एक अधिक सक्षम मॉडल।
सुझाव: यदि आप कोई मॉडल निर्दिष्ट नहीं करते हैं, तो प्राइमरी एजेंट ग्लोबली कॉन्फ़िगर किए गए मॉडल का उपयोग करते हैं जबकि सबएजेंट उस प्राइमरी एजेंट के मॉडल का उपयोग करेंगे जिसने सबएजेंट को इनवोक किया।
{
"agent": {
"plan": {
"model": "anthropic/claude-haiku-4-20250514"
}
}
}आपके OpenCode कॉन्फ़िग में मॉडल ID provider/model-id फॉर्मेट का उपयोग करता है। उदाहरण के लिए, यदि आप OpenCode Zen का उपयोग कर रहे हैं, तो आप GPT 5.1 Codex के लिए opencode/gpt-5.1-codex का उपयोग करेंगे।
Tools
tools कॉन्फ़िग के साथ इस एजेंट में कौन से टूल उपलब्ध हैं, इसे नियंत्रित करें। आप विशिष्ट टूल को true या false पर सेट करके इनेबल या डिसेबल कर सकते हैं।
{
"$schema": "https://opencode.ai/config.json",
"tools": {
"write": true,
"bash": true
},
"agent": {
"plan": {
"tools": {
"write": false,
"bash": false
}
}
}
}नोट: एजेंट-विशिष्ट कॉन्फ़िग ग्लोबल कॉन्फ़िग को ओवरराइड करता है।
आप एक साथ कई टूल को नियंत्रित करने के लिए वाइल्डकार्ड का भी उपयोग कर सकते हैं। उदाहरण के लिए, एक MCP सर्वर से सभी टूल डिसेबल करने के लिए:
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"readonly": {
"tools": {
"mymcp_*": false,
"write": false,
"edit": false
}
}
}
}Permissions
आप परमिशन कॉन्फ़िगर कर सकते हैं ताकि एजेंट कौन से एक्शन ले सकता है, इसे मैनेज किया जा सके। वर्तमान में, edit, bash, और webfetch टूल के लिए परमिशन को इस प्रकार कॉन्फ़िगर किया जा सकता है:
"ask"— टूल चलाने से पहले अप्रूवल के लिए प्रॉम्प्ट करें"allow"— बिना अप्रूवल के सभी ऑपरेशन अनुमति दें"deny"— टूल डिसेबल करें
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "deny"
}
}आप इन परमिशन को प्रति एजेंट ओवरराइड कर सकते हैं।
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "deny"
},
"agent": {
"build": {
"permission": {
"edit": "ask"
}
}
}
}आप Markdown एजेंट में भी परमिशन सेट कर सकते हैं।
---
description: Code review without edits
mode: subagent
permission:
edit: deny
bash:
"*": ask
"git diff": allow
"git log*": allow
"grep *": allow
webfetch: deny
---
Only analyze code and suggest changes.आप विशिष्ट bash कमांड के लिए परमिशन सेट कर सकते हैं।
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"git push": "ask",
"grep *": "allow"
}
}
}
}
}यह एक glob पैटर्न ले सकता है।
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"git *": "ask"
}
}
}
}
}और आप सभी कमांड के लिए परमिशन मैनेज करने के लिए * वाइल्डकार्ड का भी उपयोग कर सकते हैं। चूंकि अंतिम मैचिंग रूल प्रीसीडेंस लेता है, * वाइल्डकार्ड को पहले और विशिष्ट रूल को बाद में रखें।
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"*": "ask",
"git status *": "allow"
}
}
}
}
}परमिशन के बारे में अधिक जानें।
Mode
mode कॉन्फ़िग के साथ एजेंट के मोड को नियंत्रित करें। mode विकल्प का उपयोग यह निर्धारित करने के लिए किया जाता है कि एजेंट का उपयोग कैसे किया जा सकता है।
{
"agent": {
"review": {
"mode": "subagent"
}
}
}mode विकल्प को primary, subagent, या all पर सेट किया जा सकता है। यदि कोई mode निर्दिष्ट नहीं है, तो यह डिफ़ॉल्ट रूप से all होता है।
Hidden
hidden: true के साथ @ ऑटोकम्प्लीट मेनू से सबएजेंट छुपाएं। आंतरिक सबएजेंट के लिए उपयोगी जिन्हें केवल Task टूल के माध्यम से अन्य एजेंटों द्वारा प्रोग्रामेटिकली इनवोक किया जाना चाहिए।
{
"agent": {
"internal-helper": {
"mode": "subagent",
"hidden": true
}
}
}यह केवल ऑटोकम्प्लीट मेनू में यूजर विजिबिलिटी को प्रभावित करता है। यदि परमिशन अनुमति देते हैं तो हिडन एजेंट अभी भी Task टूल के माध्यम से मॉडल द्वारा इनवोक किए जा सकते हैं।
नोट: केवल
mode: subagentएजेंट पर लागू होता है।
Task permissions
permission.task के साथ Task टूल के माध्यम से एक एजेंट कौन से सबएजेंट इनवोक कर सकता है, इसे नियंत्रित करें। फ्लेक्सिबल मैचिंग के लिए glob पैटर्न का उपयोग करता है।
{
"agent": {
"orchestrator": {
"mode": "primary",
"permission": {
"task": {
"*": "deny",
"orchestrator-*": "allow",
"code-reviewer": "ask"
}
}
}
}
}जब deny पर सेट किया जाता है, तो सबएजेंट को Task टूल विवरण से पूरी तरह से हटा दिया जाता है, इसलिए मॉडल इसे इनवोक करने का प्रयास नहीं करेगा।
सुझाव: रूल क्रम में मूल्यांकित होते हैं, और अंतिम मैचिंग रूल जीतता है। ऊपर के उदाहरण में,
orchestrator-planner*(deny) औरorchestrator-*(allow) दोनों से मैच करता है, लेकिन चूंकिorchestrator-**के बाद आता है, परिणामallowहै।
सुझाव: उपयोगकर्ता हमेशा
@ऑटोकम्प्लीट मेनू के माध्यम से किसी भी सबएजेंट को सीधे इनवोक कर सकते हैं, भले ही एजेंट की task परमिशन इसे deny करती हों।
Color
color विकल्प के साथ UI में एजेंट की विज़ुअल अपीयरेंस को कस्टमाइज़ करें। यह प्रभावित करता है कि एजेंट इंटरफ़ेस में कैसा दिखाई देता है।
एक वैलिड हेक्स कलर (जैसे, #FF5733) या थीम कलर का उपयोग करें: primary, secondary, accent, success, warning, error, info।
{
"agent": {
"creative": {
"color": "#ff6b6b"
},
"code-reviewer": {
"color": "accent"
}
}
}Top P
top_p विकल्प के साथ रिस्पॉन्स डाइवर्सिटी को नियंत्रित करें। रैंडमनेस को नियंत्रित करने के लिए temperature का विकल्प।
{
"agent": {
"brainstorm": {
"top_p": 0.9
}
}
}मान 0.0 से 1.0 तक होते हैं। कम मान अधिक फोकस्ड होते हैं, उच्च मान अधिक डाइवर्स।
Additional
आप अपने एजेंट कॉन्फ़िगरेशन में जो भी अन्य विकल्प निर्दिष्ट करते हैं, वे मॉडल विकल्पों के रूप में सीधे प्रोवाइडर को पास हो जाएंगे। यह आपको प्रोवाइडर-विशिष्ट फीचर्स और पैरामीटर का उपयोग करने की अनुमति देता है।
उदाहरण के लिए, OpenAI के रीज़निंग मॉडल के साथ, आप रीज़निंग एफर्ट को नियंत्रित कर सकते हैं:
{
"agent": {
"deep-thinker": {
"description": "Agent that uses high reasoning effort for complex problems",
"model": "openai/gpt-5",
"reasoningEffort": "high",
"textVerbosity": "low"
}
}
}ये अतिरिक्त विकल्प मॉडल और प्रोवाइडर-विशिष्ट हैं। उपलब्ध पैरामीटर के लिए अपने प्रोवाइडर का डॉक्यूमेंटेशन देखें।
सुझाव: उपलब्ध मॉडलों की सूची देखने के लिए
opencode modelsचलाएं।
एजेंट बनाएं
आप निम्नलिखित कमांड का उपयोग करके नए एजेंट बना सकते हैं:
opencode agent createयह इंटरैक्टिव कमांड:
- पूछेगा कि एजेंट कहां सेव करना है; ग्लोबल या प्रोजेक्ट-विशिष्ट।
- एजेंट को क्या करना चाहिए इसका विवरण।
- एक उपयुक्त सिस्टम प्रॉम्प्ट और आइडेंटिफायर जनरेट करेगा।
- आपको चुनने देगा कि एजेंट किन टूल को एक्सेस कर सकता है।
- अंत में, एजेंट कॉन्फ़िगरेशन के साथ एक मार्कडाउन फाइल बनाएगा।
यूज़ केसेस
यहां विभिन्न एजेंटों के लिए कुछ सामान्य यूज़ केसेस हैं।
- Build एजेंट: सभी टूल सक्षम के साथ पूर्ण डेवलपमेंट कार्य
- Plan एजेंट: बिना बदलाव किए विश्लेषण और प्लानिंग
- Review एजेंट: रीड-ओनली एक्सेस प्लस डॉक्यूमेंटेशन टूल के साथ कोड रिव्यू
- Debug एजेंट: bash और read टूल सक्षम के साथ इन्वेस्टिगेशन पर फोकस्ड
- Docs एजेंट: सिस्टम कमांड के बिना फाइल ऑपरेशन के साथ डॉक्यूमेंटेशन लेखन
उदाहरण
यहां कुछ उदाहरण एजेंट हैं जो आपको उपयोगी लग सकते हैं।
सुझाव: क्या आपके पास कोई एजेंट है जिसे आप शेयर करना चाहेंगे? PR सबमिट करें (opens in a new tab)।
Documentation एजेंट
---
description: Writes and maintains project documentation
mode: subagent
tools:
bash: false
---
You are a technical writer. Create clear, comprehensive documentation.
Focus on:
- Clear explanations
- Proper structure
- Code examples
- User-friendly languageSecurity auditor
---
description: Performs security audits and identifies vulnerabilities
mode: subagent
tools:
write: false
edit: false
---
You are a security expert. Focus on identifying potential security issues.
Look for:
- Input validation vulnerabilities
- Authentication and authorization flaws
- Data exposure risks
- Dependency vulnerabilities
- Configuration security issues