हिन्दी
दस्तावेज़
मोड्स

मोड्स

विभिन्न उपयोग मामलों के लिए अलग-अलग मोड।

सावधानी: मोड्स अब opencode कॉन्फ़िग में agent विकल्प के माध्यम से कॉन्फ़िगर किए जाते हैं। mode विकल्प अब deprecated है। अधिक जानें

opencode में मोड्स आपको विभिन्न उपयोग मामलों के लिए व्यवहार, उपकरण और प्रॉम्प्ट को कस्टमाइज़ करने की अनुमति देते हैं।

यह दो बिल्ट-इन मोड के साथ आता है: build और plan। आप इन्हें कस्टमाइज़ कर सकते हैं या opencode कॉन्फ़िग के माध्यम से अपने खुद के मोड कॉन्फ़िगर कर सकते हैं।

आप सेशन के दौरान मोड के बीच स्विच कर सकते हैं या उन्हें अपनी कॉन्फ़िग फ़ाइल में कॉन्फ़िगर कर सकते हैं।


बिल्ट-इन

opencode दो बिल्ट-इन मोड के साथ आता है।

Build

Build डिफ़ॉल्ट मोड है जिसमें सभी उपकरण सक्षम हैं। यह विकास कार्य के लिए मानक मोड है जहाँ आपको फ़ाइल ऑपरेशन और सिस्टम कमांड तक पूर्ण पहुँच की आवश्यकता होती है।

Plan

Plan एक प्रतिबंधित मोड है जो योजना और विश्लेषण के लिए डिज़ाइन किया गया है। Plan मोड में, निम्नलिखित उपकरण डिफ़ॉल्ट रूप से अक्षम हैं:

  • write - नई फ़ाइलें नहीं बना सकता
  • edit - मौजूदा फ़ाइलों को संशोधित नहीं कर सकता, सिवाय .opencode/plans/*.md पर स्थित फ़ाइलों के जो योजना का विवरण देती हैं
  • patch - पैच लागू नहीं कर सकता
  • bash - शेल कमांड निष्पादित नहीं कर सकता

यह मोड तब उपयोगी है जब आप चाहते हैं कि AI कोड का विश्लेषण करे, बदलाव सुझाए, या योजनाएँ बनाए बिना आपके कोडबेस में कोई वास्तविक संशोधन किए।


स्विचिंग

आप सेशन के दौरान Tab कुंजी का उपयोग करके मोड के बीच स्विच कर सकते हैं। या अपने कॉन्फ़िगर किए गए switch_mode कीबाइंड का उपयोग करें।

यह भी देखें: कोड फ़ॉर्मेटिंग कॉन्फ़िगरेशन के बारे में जानकारी के लिए फ़ॉर्मेटर


कॉन्फ़िगर करें

आप बिल्ट-इन मोड को कस्टमाइज़ कर सकते हैं या कॉन्फ़िगरेशन के माध्यम से अपने खुद के मोड बना सकते हैं। मोड दो तरीकों से कॉन्फ़िगर किए जा सकते हैं:

JSON कॉन्फ़िगरेशन

अपनी opencode.json कॉन्फ़िग फ़ाइल में मोड कॉन्फ़िगर करें:

opencode.json

{
  "$schema": "https://opencode.ai/config.json",
  "mode": {
    "build": {
      "model": "anthropic/claude-sonnet-4-20250514",
      "prompt": "{file:./prompts/build.txt}",
      "tools": {
        "write": true,
        "edit": true,
        "bash": true
      }
    },
    "plan": {
      "model": "anthropic/claude-haiku-4-20250514",
      "tools": {
        "write": false,
        "edit": false,
        "bash": false
      }
    }
  }
}

Markdown कॉन्फ़िगरेशन

आप markdown फ़ाइलों का उपयोग करके भी मोड परिभाषित कर सकते हैं। इन्हें यहाँ रखें:

  • ग्लोबल: ~/.config/opencode/modes/
  • प्रोजेक्ट: .opencode/modes/

~/.config/opencode/modes/review.md

---
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.

Markdown फ़ाइल का नाम मोड का नाम बन जाता है (उदाहरण: review.md एक review मोड बनाता है)।

आइए इन कॉन्फ़िगरेशन विकल्पों को विस्तार से देखें।


मॉडल

इस मोड के लिए डिफ़ॉल्ट मॉडल को ओवरराइड करने के लिए model कॉन्फ़िग का उपयोग करें। विभिन्न कार्यों के लिए अनुकूलित विभिन्न मॉडल का उपयोग करने के लिए उपयोगी है। उदाहरण के लिए, योजना बनाने के लिए एक तेज़ मॉडल, कार्यान्वयन के लिए एक अधिक सक्षम मॉडल।

opencode.json

{
  "mode": {
    "plan": {
      "model": "anthropic/claude-haiku-4-20250514"
    }
  }
}

तापमान

temperature कॉन्फ़िग के साथ AI की प्रतिक्रियाओं की यादृच्छिकता और रचनात्मकता को नियंत्रित करें। कम मान प्रतिक्रियाओं को अधिक केंद्रित और निर्धारक बनाते हैं, जबकि उच्च मान रचनात्मकता और विविधता बढ़ाते हैं।

opencode.json

{
  "mode": {
    "plan": {
      "temperature": 0.1
    },
    "creative": {
      "temperature": 0.8
    }
  }
}

तापमान मान आमतौर पर 0.0 से 1.0 तक होते हैं:

  • 0.0-0.2: बहुत केंद्रित और निर्धारक प्रतिक्रियाएँ, कोड विश्लेषण और योजना के लिए आदर्श
  • 0.3-0.5: कुछ रचनात्मकता के साथ संतुलित प्रतिक्रियाएँ, सामान्य विकास कार्यों के लिए अच्छी
  • 0.6-1.0: अधिक रचनात्मक और विविध प्रतिक्रियाएँ, विचार-मंथन और अन्वेषण के लिए उपयोगी

opencode.json

{
  "mode": {
    "analyze": {
      "temperature": 0.1,
      "prompt": "{file:./prompts/analysis.txt}"
    },
    "build": {
      "temperature": 0.3
    },
    "brainstorm": {
      "temperature": 0.7,
      "prompt": "{file:./prompts/creative.txt}"
    }
  }
}

यदि कोई तापमान निर्दिष्ट नहीं है, तो opencode मॉडल-विशिष्ट डिफ़ॉल्ट का उपयोग करता है (अधिकांश मॉडल के लिए आमतौर पर 0, Qwen मॉडल के लिए 0.55)।


प्रॉम्प्ट

prompt कॉन्फ़िग के साथ इस मोड के लिए एक कस्टम सिस्टम प्रॉम्प्ट फ़ाइल निर्दिष्ट करें। प्रॉम्प्ट फ़ाइल में मोड के उद्देश्य के लिए विशिष्ट निर्देश होने चाहिए।

opencode.json

{
  "mode": {
    "review": {
      "prompt": "{file:./prompts/code-review.txt}"
    }
  }
}

यह पथ कॉन्फ़िग फ़ाइल के स्थान के सापेक्ष है। इसलिए यह ग्लोबल opencode कॉन्फ़िग और प्रोजेक्ट-विशिष्ट कॉन्फ़िग दोनों के लिए काम करता है।


उपकरण

tools कॉन्फ़िग के साथ इस मोड में कौन से उपकरण उपलब्ध हैं, यह नियंत्रित करें। आप विशिष्ट उपकरणों को true या false पर सेट करके सक्षम या अक्षम कर सकते हैं।

{
  "mode": {
    "readonly": {
      "tools": {
        "write": false,
        "edit": false,
        "bash": false,
        "read": true,
        "grep": true,
        "glob": true
      }
    }
  }
}

यदि कोई उपकरण निर्दिष्ट नहीं हैं, तो सभी उपकरण डिफ़ॉल्ट रूप से सक्षम हैं।

उपलब्ध उपकरण

यहाँ सभी उपकरण हैं जिन्हें मोड कॉन्फ़िग के माध्यम से नियंत्रित किया जा सकता है।

उपकरणविवरण
bashशेल कमांड निष्पादित करें
editमौजूदा फ़ाइलों को संशोधित करें
writeनई फ़ाइलें बनाएँ
readफ़ाइल सामग्री पढ़ें
grepफ़ाइल सामग्री खोजें
globपैटर्न द्वारा फ़ाइलें खोजें
listडायरेक्टरी सामग्री सूचीबद्ध करें
patchफ़ाइलों पर पैच लागू करें
todowriteटूडू सूचियाँ प्रबंधित करें
todoreadटूडू सूचियाँ पढ़ें
webfetchवेब सामग्री प्राप्त करें

कस्टम मोड

आप कॉन्फ़िगरेशन में जोड़कर अपने खुद के कस्टम मोड बना सकते हैं। यहाँ दोनों तरीकों का उपयोग करके उदाहरण दिए गए हैं:

JSON कॉन्फ़िगरेशन का उपयोग

opencode.json

{
  "$schema": "https://opencode.ai/config.json",
  "mode": {
    "docs": {
      "prompt": "{file:./prompts/documentation.txt}",
      "tools": {
        "write": true,
        "edit": true,
        "bash": false,
        "read": true,
        "grep": true,
        "glob": true
      }
    }
  }
}

Markdown फ़ाइलों का उपयोग

प्रोजेक्ट-विशिष्ट मोड के लिए .opencode/modes/ में या ग्लोबल मोड के लिए ~/.config/opencode/modes/ में मोड फ़ाइलें बनाएँ:

.opencode/modes/debug.md

---
temperature: 0.1
tools:
  bash: true
  read: true
  grep: true
  write: false
  edit: false
---
 
You are in debug mode. Your primary goal is to help investigate and diagnose issues.
 
Focus on:
- Understanding the problem through careful analysis
- Using bash commands to inspect system state
- Reading relevant files and logs
- Searching for patterns and anomalies
- Providing clear explanations of findings
 
Do not make any changes to files. Only investigate and report.

~/.config/opencode/modes/refactor.md

---
model: anthropic/claude-sonnet-4-20250514
temperature: 0.2
tools:
  edit: true
  read: true
  grep: true
  glob: true
---
 
You are in refactoring mode. Focus on improving code quality without changing functionality.
 
Priorities:
- Improve code readability and maintainability
- Apply consistent naming conventions
- Reduce code duplication
- Optimize performance where appropriate
- Ensure all tests continue to pass

उपयोग के मामले

विभिन्न मोड के लिए कुछ सामान्य उपयोग के मामले यहाँ दिए गए हैं।

  • Build मोड: सभी उपकरण सक्षम के साथ पूर्ण विकास कार्य
  • Plan मोड: बदलाव किए बिना विश्लेषण और योजना
  • Review मोड: केवल-पढ़ने की पहुँच और दस्तावेज़ उपकरणों के साथ कोड समीक्षा
  • Debug मोड: bash और read उपकरण सक्षम के साथ जाँच पर केंद्रित
  • Docs मोड: फ़ाइल ऑपरेशन के साथ दस्तावेज़ लेखन लेकिन सिस्टम कमांड नहीं

आप पा सकते हैं कि विभिन्न उपयोग मामलों के लिए विभिन्न मॉडल भी अच्छे हैं।