हिन्दी
दस्तावेज़
कॉन्फ़िगरेशन

कॉन्फ़िग

OpenCode JSON कॉन्फ़िग का उपयोग करना।

आप JSON कॉन्फ़िग फाइल का उपयोग करके OpenCode को कॉन्फ़िगर कर सकते हैं।

फॉर्मेट

OpenCode JSON और JSONC (कमेंट्स के साथ JSON) दोनों फॉर्मेट सपोर्ट करता है।

opencode.jsonc
{
  "$schema": "https://opencode.ai/config.json",
  // थीम कॉन्फ़िगरेशन
  "theme": "opencode",
  "model": "anthropic/claude-sonnet-4-5",
  "autoupdate": true
}

लोकेशन

आप अपना कॉन्फ़िग कई अलग-अलग लोकेशन पर रख सकते हैं और उनकी प्राथमिकता का एक अलग क्रम है।

नोट: कॉन्फ़िगरेशन फाइलें मर्ज होती हैं, रिप्लेस नहीं होतीं।

कॉन्फ़िगरेशन फाइलें मर्ज होती हैं, रिप्लेस नहीं होतीं। निम्नलिखित कॉन्फ़िग लोकेशन से सेटिंग्स कंबाइन की जाती हैं। बाद के कॉन्फ़िग केवल कन्फ्लिक्टिंग कीज़ के लिए पहले वालों को ओवरराइड करते हैं। सभी कॉन्फ़िग से नॉन-कन्फ्लिक्टिंग सेटिंग्स प्रिजर्व की जाती हैं।

उदाहरण के लिए, यदि आपका ग्लोबल कॉन्फ़िग theme: "opencode" और autoupdate: true सेट करता है, और आपका प्रोजेक्ट कॉन्फ़िग model: "anthropic/claude-sonnet-4-5" सेट करता है, तो फाइनल कॉन्फ़िगरेशन में तीनों सेटिंग्स शामिल होंगी।

प्राथमिकता क्रम

कॉन्फ़िग सोर्स इस क्रम में लोड होते हैं (बाद वाले सोर्स पहले वालों को ओवरराइड करते हैं):

  • रिमोट कॉन्फ़िग (.well-known/opencode से) - ऑर्गनाइज़ेशनल डिफ़ॉल्ट
  • ग्लोबल कॉन्फ़िग (~/.config/opencode/opencode.json) - यूजर प्रेफरेंस
  • कस्टम कॉन्फ़िग (OPENCODE_CONFIG एनवायरनमेंट वेरिएबल) - कस्टम ओवरराइड
  • प्रोजेक्ट कॉन्फ़िग (प्रोजेक्ट में opencode.json) - प्रोजेक्ट-विशिष्ट सेटिंग्स
  • .opencode डायरेक्टरीज - एजेंट, कमांड, प्लगइन्स
  • इनलाइन कॉन्फ़िग (OPENCODE_CONFIG_CONTENT एनवायरनमेंट वेरिएबल) - रनटाइम ओवरराइड

इसका मतलब है कि प्रोजेक्ट कॉन्फ़िग ग्लोबल डिफ़ॉल्ट को ओवरराइड कर सकते हैं, और ग्लोबल कॉन्फ़िग रिमोट ऑर्गनाइज़ेशनल डिफ़ॉल्ट को ओवरराइड कर सकते हैं।

नोट: .opencode और ~/.config/opencode डायरेक्टरीज सबडायरेक्टरीज के लिए प्लूरल नाम का उपयोग करती हैं: agents/, commands/, modes/, plugins/, skills/, tools/, और themes/। सिंगुलर नाम (जैसे, agent/) भी बैकवर्ड्स कम्पैटिबिलिटी के लिए सपोर्टेड हैं।

रिमोट

ऑर्गनाइज़ेशन .well-known/opencode एंडपॉइंट के माध्यम से डिफ़ॉल्ट कॉन्फ़िगरेशन प्रदान कर सकते हैं। यह तब ऑटोमैटिकली फेच होता है जब आप किसी प्रोवाइडर के साथ ऑथेंटिकेट करते हैं जो इसे सपोर्ट करता है।

रिमोट कॉन्फ़िग पहले लोड होता है, बेस लेयर के रूप में काम करता है। अन्य सभी कॉन्फ़िग सोर्स (ग्लोबल, प्रोजेक्ट) इन डिफ़ॉल्ट को ओवरराइड कर सकते हैं।

उदाहरण के लिए, यदि आपका ऑर्गनाइज़ेशन MCP सर्वर प्रदान करता है जो डिफ़ॉल्ट रूप से डिसेबल हैं:

Remote config from .well-known/opencode
{
  "mcp": {
    "jira": {
      "type": "remote",
      "url": "https://jira.example.com/mcp",
      "enabled": false
    }
  }
}

आप अपने लोकल कॉन्फ़िग में विशिष्ट सर्वर इनेबल कर सकते हैं:

opencode.json
{
  "mcp": {
    "jira": {
      "type": "remote",
      "url": "https://jira.example.com/mcp",
      "enabled": true
    }
  }
}

ग्लोबल

अपना ग्लोबल OpenCode कॉन्फ़िग ~/.config/opencode/opencode.json में रखें। थीम, प्रोवाइडर, या कीबाइंड जैसी यूजर-वाइड प्रेफरेंस के लिए ग्लोबल कॉन्फ़िग का उपयोग करें।

ग्लोबल कॉन्फ़िग रिमोट ऑर्गनाइज़ेशनल डिफ़ॉल्ट को ओवरराइड करता है।

प्रति प्रोजेक्ट

अपने प्रोजेक्ट रूट में opencode.json जोड़ें। प्रोजेक्ट कॉन्फ़िग में स्टैंडर्ड कॉन्फ़िग फाइलों के बीच सबसे अधिक प्राथमिकता है - यह ग्लोबल और रिमोट दोनों कॉन्फ़िग को ओवरराइड करता है।

सुझाव: प्रोजेक्ट विशिष्ट कॉन्फ़िग को अपने प्रोजेक्ट के रूट में रखें।

जब OpenCode स्टार्ट होता है, यह वर्तमान डायरेक्टरी में कॉन्फ़िग फाइल खोजता है या निकटतम Git डायरेक्टरी तक ट्रैवर्स करता है।

यह Git में चेक इन करने के लिए भी सुरक्षित है और ग्लोबल वाले के समान स्कीमा का उपयोग करता है।

कस्टम पाथ

OPENCODE_CONFIG एनवायरनमेंट वेरिएबल का उपयोग करके कस्टम कॉन्फ़िग फाइल पाथ निर्दिष्ट करें।

export OPENCODE_CONFIG=/path/to/my/custom-config.json
opencode run "Hello world"

कस्टम कॉन्फ़िग प्राथमिकता क्रम में ग्लोबल और प्रोजेक्ट कॉन्फ़िग के बीच लोड होता है।

कस्टम डायरेक्टरी

OPENCODE_CONFIG_DIR एनवायरनमेंट वेरिएबल का उपयोग करके कस्टम कॉन्फ़िग डायरेक्टरी निर्दिष्ट करें। इस डायरेक्टरी में एजेंट, कमांड, मोड और प्लगइन्स की खोज स्टैंडर्ड .opencode डायरेक्टरी की तरह ही होगी, और इसे समान स्ट्रक्चर फॉलो करना चाहिए।

export OPENCODE_CONFIG_DIR=/path/to/my/config-directory
opencode run "Hello world"

कस्टम डायरेक्टरी ग्लोबल कॉन्फ़िग और .opencode डायरेक्टरीज के बाद लोड होती है, इसलिए यह उनकी सेटिंग्स को ओवरराइड कर सकती है

स्कीमा

कॉन्फ़िग फाइल में एक स्कीमा है जो opencode.ai/config.json (opens in a new tab) में परिभाषित है।

आपका एडिटर स्कीमा के आधार पर वैलिडेट और ऑटोकम्प्लीट करने में सक्षम होना चाहिए।

TUI

आप tui विकल्प के माध्यम से TUI-विशिष्ट सेटिंग्स कॉन्फ़िगर कर सकते हैं।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "tui": {
    "scroll_speed": 3,
    "scroll_acceleration": {
      "enabled": true
    },
    "diff_style": "auto"
  }
}

उपलब्ध विकल्प:

  • scroll_acceleration.enabled - macOS-स्टाइल स्क्रॉल एक्सेलेरेशन इनेबल करें। scroll_speed पर प्राथमिकता लेता है।
  • scroll_speed - कस्टम स्क्रॉल स्पीड मल्टीप्लायर (डिफ़ॉल्ट: 3, न्यूनतम: 1)। यदि scroll_acceleration.enabled true है तो इग्नोर किया जाता है।
  • diff_style - डिफ रेंडरिंग को कंट्रोल करें। "auto" टर्मिनल विड्थ के अनुसार एडाप्ट होता है, "stacked" हमेशा सिंगल कॉलम दिखाता है।

TUI का उपयोग करने के बारे में यहां अधिक जानें

सर्वर

आप server विकल्प के माध्यम से opencode serve और opencode web कमांड के लिए सर्वर सेटिंग्स कॉन्फ़िगर कर सकते हैं।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "server": {
    "port": 4096,
    "hostname": "0.0.0.0",
    "mdns": true,
    "mdnsDomain": "myproject.local",
    "cors": ["http://localhost:5173"]
  }
}

उपलब्ध विकल्प:

  • port - लिसन करने के लिए पोर्ट।
  • hostname - लिसन करने के लिए होस्टनेम। जब mdns इनेबल है और कोई होस्टनेम सेट नहीं है, तो डिफ़ॉल्ट 0.0.0.0 है।
  • mdns - mDNS सर्विस डिस्कवरी इनेबल करें। यह नेटवर्क पर अन्य डिवाइसेस को आपके OpenCode सर्वर को डिस्कवर करने की अनुमति देता है।
  • mdnsDomain - mDNS सर्विस के लिए कस्टम डोमेन नाम। डिफ़ॉल्ट opencode.local है। एक ही नेटवर्क पर कई इंस्टेंस चलाने के लिए उपयोगी।
  • cors - ब्राउज़र-बेस्ड क्लाइंट से HTTP सर्वर का उपयोग करते समय CORS के लिए अनुमति देने के लिए अतिरिक्त ऑरिजिन। वैल्यू पूर्ण ऑरिजिन (स्कीम + होस्ट + ऑप्शनल पोर्ट) होने चाहिए, जैसे https://app.example.com

सर्वर के बारे में यहां अधिक जानें

टूल्स

आप tools विकल्प के माध्यम से एक LLM कौन से टूल उपयोग कर सकता है, इसे मैनेज कर सकते हैं।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "tools": {
    "write": false,
    "bash": false
  }
}

टूल के बारे में यहां अधिक जानें

मॉडल

आप provider, model और small_model विकल्पों के माध्यम से अपने OpenCode कॉन्फ़िग में उपयोग करने वाले प्रोवाइडर और मॉडल कॉन्फ़िगर कर सकते हैं।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {},
  "model": "anthropic/claude-sonnet-4-5",
  "small_model": "anthropic/claude-haiku-4-5"
}

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

प्रोवाइडर विकल्पों में timeout और setCacheKey शामिल हो सकते हैं:

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "anthropic": {
      "options": {
        "timeout": 600000,
        "setCacheKey": true
      }
    }
  }
}
  • timeout - मिलीसेकंड में रिक्वेस्ट टाइमआउट (डिफ़ॉल्ट: 300000)। डिसेबल करने के लिए false सेट करें।
  • setCacheKey - निर्दिष्ट प्रोवाइडर के लिए हमेशा कैश की सेट होना सुनिश्चित करें।

आप लोकल मॉडल भी कॉन्फ़िगर कर सकते हैं। अधिक जानें

प्रोवाइडर-विशिष्ट विकल्प

कुछ प्रोवाइडर जेनेरिक timeout और apiKey सेटिंग्स के अलावा अतिरिक्त कॉन्फ़िगरेशन विकल्प सपोर्ट करते हैं।

Amazon Bedrock

Amazon Bedrock AWS-विशिष्ट कॉन्फ़िगरेशन सपोर्ट करता है:

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "amazon-bedrock": {
      "options": {
        "region": "us-east-1",
        "profile": "my-aws-profile",
        "endpoint": "https://bedrock-runtime.us-east-1.vpce-xxxxx.amazonaws.com"
      }
    }
  }
}
  • region - Bedrock के लिए AWS रीजन (डिफ़ॉल्ट AWS_REGION एनवायरनमेंट वेरिएबल या us-east-1)
  • profile - ~/.aws/credentials से AWS नेम्ड प्रोफाइल (डिफ़ॉल्ट AWS_PROFILE एनवायरनमेंट वेरिएबल)
  • endpoint - VPC एंडपॉइंट के लिए कस्टम एंडपॉइंट URL। यह AWS-विशिष्ट टर्मिनोलॉजी का उपयोग करते हुए जेनेरिक baseURL विकल्प का एलियास है। यदि दोनों निर्दिष्ट हैं, तो endpoint प्राथमिकता लेता है।

नोट: बेयरर टोकन (AWS_BEARER_TOKEN_BEDROCK या /connect) प्रोफाइल-बेस्ड ऑथेंटिकेशन पर प्राथमिकता लेते हैं। विवरण के लिए ऑथेंटिकेशन प्राथमिकता देखें।

Amazon Bedrock कॉन्फ़िगरेशन के बारे में अधिक जानें

थीम्स

आप theme विकल्प के माध्यम से अपने OpenCode कॉन्फ़िग में उपयोग करने वाली थीम कॉन्फ़िगर कर सकते हैं।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "theme": ""
}

यहां अधिक जानें

एजेंट

आप agent विकल्प के माध्यम से विशिष्ट कार्यों के लिए विशेष एजेंट कॉन्फ़िगर कर सकते हैं।

opencode.jsonc
{
  "$schema": "https://opencode.ai/config.json",
  "agent": {
    "code-reviewer": {
      "description": "Reviews code for best practices and potential issues",
      "model": "anthropic/claude-sonnet-4-5",
      "prompt": "You are a code reviewer. Focus on security, performance, and maintainability.",
      "tools": {
        // रिव्यू-ओनली एजेंट के लिए फाइल मॉडिफिकेशन टूल डिसेबल करें
        "write": false,
        "edit": false
      }
    }
  }
}

आप ~/.config/opencode/agents/ या .opencode/agents/ में मार्कडाउन फाइलों का उपयोग करके भी एजेंट परिभाषित कर सकते हैं। यहां अधिक जानें

डिफ़ॉल्ट एजेंट

आप default_agent विकल्प का उपयोग करके डिफ़ॉल्ट एजेंट सेट कर सकते हैं। यह निर्धारित करता है कि जब कोई स्पष्ट रूप से निर्दिष्ट नहीं किया जाता है तो कौन सा एजेंट उपयोग किया जाता है।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "default_agent": "plan"
}

डिफ़ॉल्ट एजेंट एक प्राइमरी एजेंट होना चाहिए (सबएजेंट नहीं)। यह "build" या "plan" जैसा बिल्ट-इन एजेंट हो सकता है, या आपके द्वारा परिभाषित कस्टम एजेंट। यदि निर्दिष्ट एजेंट मौजूद नहीं है या सबएजेंट है, तो OpenCode एक चेतावनी के साथ "build" पर फॉलबैक करेगा।

यह सेटिंग सभी इंटरफेस पर लागू होती है: TUI, CLI (opencode run), डेस्कटॉप ऐप, और GitHub Action।

शेयरिंग

आप share विकल्प के माध्यम से शेयर फीचर कॉन्फ़िगर कर सकते हैं।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "share": "manual"
}

यह लेता है:

  • "manual" - कमांड के माध्यम से मैन्युअल शेयरिंग की अनुमति दें (डिफ़ॉल्ट)
  • "auto" - नई बातचीत को ऑटोमैटिकली शेयर करें
  • "disabled" - शेयरिंग पूरी तरह से डिसेबल करें

डिफ़ॉल्ट रूप से, शेयरिंग मैन्युअल मोड पर सेट है जहां आपको /share कमांड का उपयोग करके स्पष्ट रूप से बातचीत शेयर करने की आवश्यकता है।

कमांड

आप command विकल्प के माध्यम से रिपीटिटिव कार्यों के लिए कस्टम कमांड कॉन्फ़िगर कर सकते हैं।

opencode.jsonc
{
  "$schema": "https://opencode.ai/config.json",
  "command": {
    "test": {
      "template": "Run the full test suite with coverage report and show any failures.\nFocus on the failing tests and suggest fixes.",
      "description": "Run tests with coverage",
      "agent": "build",
      "model": "anthropic/claude-haiku-4-5"
    },
    "component": {
      "template": "Create a new React component named $ARGUMENTS with TypeScript support.\nInclude proper typing and basic structure.",
      "description": "Create a new component"
    }
  }
}

आप ~/.config/opencode/commands/ या .opencode/commands/ में मार्कडाउन फाइलों का उपयोग करके भी कमांड परिभाषित कर सकते हैं। यहां अधिक जानें

कीबाइंड

आप keybinds विकल्प के माध्यम से अपने कीबाइंड कस्टमाइज़ कर सकते हैं।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "keybinds": {}
}

यहां अधिक जानें

ऑटोअपडेट

OpenCode स्टार्ट होने पर किसी भी नए अपडेट को ऑटोमैटिकली डाउनलोड करेगा। आप autoupdate विकल्प के साथ इसे डिसेबल कर सकते हैं।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "autoupdate": false
}

यदि आप अपडेट नहीं चाहते लेकिन जब नया वर्शन उपलब्ध हो तो नोटिफाई होना चाहते हैं, तो autoupdate को "notify" पर सेट करें। ध्यान दें कि यह केवल तभी काम करता है जब यह Homebrew जैसे पैकेज मैनेजर का उपयोग करके इंस्टॉल नहीं किया गया था।

फॉर्मेटर्स

आप formatter विकल्प के माध्यम से कोड फॉर्मेटर कॉन्फ़िगर कर सकते हैं।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "formatter": {
    "prettier": {
      "disabled": true
    },
    "custom-prettier": {
      "command": ["npx", "prettier", "--write", "$FILE"],
      "environment": {
        "NODE_ENV": "development"
      },
      "extensions": [".js", ".ts", ".jsx", ".tsx"]
    }
  }
}

फॉर्मेटर के बारे में यहां अधिक जानें

परमिशन

डिफ़ॉल्ट रूप से, opencode स्पष्ट अप्रूवल की आवश्यकता के बिना सभी ऑपरेशन की अनुमति देता है। आप permission विकल्प का उपयोग करके इसे बदल सकते हैं।

उदाहरण के लिए, यह सुनिश्चित करने के लिए कि edit और bash टूल को यूजर अप्रूवल की आवश्यकता है:

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "permission": {
    "edit": "ask",
    "bash": "ask"
  }
}

परमिशन के बारे में यहां अधिक जानें

कम्पैक्शन

आप compaction विकल्प के माध्यम से कॉन्टेक्स्ट कम्पैक्शन व्यवहार को कंट्रोल कर सकते हैं।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "compaction": {
    "auto": true,
    "prune": true
  }
}
  • auto - जब कॉन्टेक्स्ट फुल हो तो सेशन को ऑटोमैटिकली कम्पैक्ट करें (डिफ़ॉल्ट: true)।
  • prune - टोकन बचाने के लिए पुराने टूल आउटपुट हटाएं (डिफ़ॉल्ट: true)।

वॉचर

आप watcher विकल्प के माध्यम से फाइल वॉचर इग्नोर पैटर्न कॉन्फ़िगर कर सकते हैं।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "watcher": {
    "ignore": ["node_modules/**", "dist/**", ".git/**"]
  }
}

पैटर्न glob सिंटैक्स फॉलो करते हैं। फाइल वॉचिंग से नॉइज़ी डायरेक्टरीज को एक्सक्लूड करने के लिए इसका उपयोग करें।

MCP सर्वर

आप mcp विकल्प के माध्यम से उपयोग करने वाले MCP सर्वर कॉन्फ़िगर कर सकते हैं।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {}
}

यहां अधिक जानें

प्लगइन्स

प्लगइन्स OpenCode को कस्टम टूल, हुक और इंटीग्रेशन के साथ एक्सटेंड करते हैं।

प्लगइन फाइलें .opencode/plugins/ या ~/.config/opencode/plugins/ में रखें। आप plugin विकल्प के माध्यम से npm से भी प्लगइन्स लोड कर सकते हैं।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["opencode-helicone-session", "@my-org/custom-plugin"]
}

यहां अधिक जानें

इंस्ट्रक्शंस

आप instructions विकल्प के माध्यम से उपयोग किए जा रहे मॉडल के लिए इंस्ट्रक्शंस कॉन्फ़िगर कर सकते हैं।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "instructions": ["CONTRIBUTING.md", "docs/guidelines.md", ".cursor/rules/*.md"]
}

यह इंस्ट्रक्शन फाइलों के पाथ और glob पैटर्न का एरे लेता है। रूल्स के बारे में यहां अधिक जानें

डिसेबल्ड प्रोवाइडर

आप disabled_providers विकल्प के माध्यम से ऑटोमैटिकली लोड होने वाले प्रोवाइडर को डिसेबल कर सकते हैं। यह तब उपयोगी है जब आप कुछ प्रोवाइडर को लोड होने से रोकना चाहते हैं भले ही उनके क्रेडेंशियल्स उपलब्ध हों।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "disabled_providers": ["openai", "gemini"]
}

नोट: disabled_providers enabled_providers पर प्राथमिकता लेता है।

disabled_providers विकल्प प्रोवाइडर ID का एरे स्वीकार करता है। जब एक प्रोवाइडर डिसेबल होता है:

  • यह लोड नहीं होगा भले ही एनवायरनमेंट वेरिएबल सेट हों।
  • यह लोड नहीं होगा भले ही API कीज़ /connect कमांड के माध्यम से कॉन्फ़िगर की गई हों।
  • प्रोवाइडर के मॉडल मॉडल सिलेक्शन लिस्ट में दिखाई नहीं देंगे।

इनेबल्ड प्रोवाइडर

आप enabled_providers विकल्प के माध्यम से प्रोवाइडर की अलाउलिस्ट निर्दिष्ट कर सकते हैं। जब सेट किया जाता है, केवल निर्दिष्ट प्रोवाइडर इनेबल होंगे और अन्य सभी इग्नोर किए जाएंगे।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "enabled_providers": ["anthropic", "openai"]
}

यह तब उपयोगी है जब आप OpenCode को एक-एक करके डिसेबल करने के बजाय केवल विशिष्ट प्रोवाइडर का उपयोग करने तक प्रतिबंधित करना चाहते हैं।

नोट: disabled_providers enabled_providers पर प्राथमिकता लेता है।

यदि कोई प्रोवाइडर enabled_providers और disabled_providers दोनों में दिखाई देता है, तो बैकवर्ड्स कम्पैटिबिलिटी के लिए disabled_providers प्राथमिकता लेता है।

एक्सपेरिमेंटल

experimental की में वे विकल्प हैं जो एक्टिव डेवलपमेंट में हैं।

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "experimental": {}
}

सावधानी: एक्सपेरिमेंटल विकल्प स्टेबल नहीं हैं। वे बिना नोटिस के बदल सकते हैं या हटाए जा सकते हैं।

वेरिएबल्स

आप एनवायरनमेंट वेरिएबल और फाइल कंटेंट को रेफरेंस करने के लिए अपनी कॉन्फ़िग फाइलों में वेरिएबल सब्स्टिट्यूशन का उपयोग कर सकते हैं।

एनवायरनमेंट वेरिएबल्स

एनवायरनमेंट वेरिएबल को सब्स्टिट्यूट करने के लिए {env:VARIABLE_NAME} का उपयोग करें:

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "model": "{env:OPENCODE_MODEL}",
  "provider": {
    "anthropic": {
      "models": {},
      "options": {
        "apiKey": "{env:ANTHROPIC_API_KEY}"
      }
    }
  }
}

यदि एनवायरनमेंट वेरिएबल सेट नहीं है, तो इसे खाली स्ट्रिंग से रिप्लेस किया जाएगा।

फाइल्स

फाइल की कंटेंट को सब्स्टिट्यूट करने के लिए {file:path/to/file} का उपयोग करें:

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "instructions": ["./custom-instructions.md"],
  "provider": {
    "openai": {
      "options": {
        "apiKey": "{file:~/.secrets/openai-key}"
      }
    }
  }
}

फाइल पाथ हो सकते हैं:

  • कॉन्फ़िग फाइल डायरेक्टरी के सापेक्ष
  • या / या ~ से शुरू होने वाले एब्सोल्यूट पाथ

ये उपयोगी हैं:

  • API कीज़ जैसे सेंसिटिव डेटा को अलग फाइलों में रखने के लिए।
  • अपने कॉन्फ़िग को क्लटर किए बिना बड़ी इंस्ट्रक्शन फाइलें शामिल करने के लिए।
  • कई कॉन्फ़िग फाइलों में कॉमन कॉन्फ़िगरेशन स्निपेट शेयर करने के लिए।