Skip to content

Slack / Linear और SDK इंटीग्रेशन: अन्य प्लेटफ़ॉर्म्स पर Codex का उपयोग

📚 सीरीज नेविगेशन: पिछला लेख [28 गैर-इंटरैक्टिव मोड codex exec] आपको codex exec गैर-इंटरैक्टिव कोडिंग इंजन को गहराई से समझाता है—जो स्क्रिप्ट्स और CI/CD पाइपलाइनों में स्वचालन का आधार है। यह लेख उस स्वचालन को अन्य प्लेटफ़ॉर्म्स पर ले जाता है: पहला, टर्मिनल खोले बिना Slack या Linear में मेंशन करके Codex से सीधे काम कराना; और दूसरा, आधिकारिक SDK या App Server का उपयोग करके Codex को एक पुर्जे के रूप में अपने स्वयं के कस्टमाइज़्ड ऐप्स में एकीकृत करना। अगला लेख [30 मॉडलों का चयन] यह समझाएगा कि विभिन्न कार्यों के लिए सही कोडिंग मॉडल का चयन कैसे किया जाए।

ℹ️ यह लेख उन्नत (Advanced) कोडिंग और स्वचालन से संबंधित है। यदि आप अभी केवल टर्मिनल, Desktop App या IDE में Codex का बुनियादी उपयोग सीख रहे हैं, तो आप इसे अभी के लिए छोड़ सकते हैं, इससे आपकी बुनियादी सीख प्रभावित नहीं होगी। जब आप टीम चैट ऐप्स में Codex से काम लेने या उसे अपने सॉफ्टवेयर में जोड़ने के बारे में सोचना शुरू करेंगे, तब आप इसे दुबारा पढ़ सकते हैं।

यहाँ एक वास्तविक घटना पर आधारित बातचीत का अंश है, जिससे आप आसानी से समझ पाएंगे कि इस लेख में हम क्या सीखने वाले हैं:

सहयोगी ने Slack चैनल पर एरर का स्क्रीनशॉट शेयर करते हुए लिखा: "लॉगिन API दुबारा 500 एरर दे रहा है, कोई देखेगा?" मैंने कंप्यूटर खोले बिना, सीधे मोबाइल से उस थ्रेड पर कमेंट किया: @Codex check the above 500 error and diagnose the cause in openai/our-backend. कुछ ही सेकंड में Codex ने उस कमेंट पर 👀 का रिएक्शन दिया, और एक टास्क लिंक शेयर किया: "शुरू कर दिया है, कृपया प्रतीक्षा करें"। मैं मीटिंग के लिए चला गया। मीटिंग से वापस आने पर, Codex ने थ्रेड में समस्या का कारण और उसे ठीक करने का diff कोड पोस्ट कर दिया था, जहाँ लिंक पर क्लिक करके सीधे PR बनाया जा सकता था।

इस पूरी प्रक्रिया में मुझे मशीन खोलने, टर्मिनल कमांड्स चलाने या स्वयं कोड लिखने की आवश्यकता नहीं पड़ी। यह "अन्य प्लेटफ़ॉर्म्स पर Codex का उपयोग" करने का उदाहरण है—जहाँ Codex को टर्मिनल की सीमा से बाहर निकालकर आपकी टीम के दैनिक संचार माध्यमों Slack और Linear में सक्रिय किया जाता है। और SDK / App Server द्वारा आप Codex को अपने स्वयं के ऐप्स में एकीकृत कर सकते हैं

इस लेख को पढ़ने के बाद, आपको मिलेगा:

  • Codex इंटीग्रेशन के दो स्तर—Slack/Linear द्वारा सीधे काम लेना, या SDK/App Server द्वारा कोड लिखकर उसे अपने सॉफ्टवेयर में एकीकृत करना।
  • Slack में @Codex द्वारा कोडिंग कार्य सौंपने की सेटिंग्स और उपयोग, स्वचालित रूप से पर्यावरण और रिपोजिटरी चुनने के नियम, और व्यावसायिक डेटा सुरक्षा।
  • Linear में इश्यू को Codex को सौंपने की प्रक्रिया (Assign / Comment @), और Triage नियमों द्वारा स्वचालित रूप से कोडिंग कार्य सौंपना।
  • Codex SDK (TypeScript और Python) की सेटिंग्स, बुनियादी कोड संरचना, और codex exec से इसका अंतर।
  • App Server क्या है, और यह किस प्रकार के जटिल इंटीग्रेशन के लिए उपयोगी है—और सही विकल्प चुनने की नियम रेखा।
  • TypeScript SDK द्वारा एक सरल कोडिंग निर्देश चलाने का व्यावहारिक अभ्यास।

⚠️ इस लेख में वर्णित सेटिंग्स और कमांड्स Codex आधिकारिक दस्तावेज़ों (Slack / Linear / SDK / App Server) पर आधारित हैं।


01 दो स्तर: "सीधे उपयोग" बनाम "कोड लिखकर एकीकृत करना"

इस लेख के चार विषयों (Slack, Linear, SDK, App Server) को समझने के लिए इन्हें दो बुनियादी श्रेणियों में विभाजित करें:

तुलना: सहायक की सेवाएं लेने के दो तरीकों से। पहला, जहाँ सहायक पहले से ही आपके दैनिक उपयोग के ऐप्स (Slack, Linear) में सदस्य के रूप में उपलब्ध है, और आप उसे सीधे मेंशन करके निर्देश देते हैं—यह "सीधे उपयोग" है, जो पहले से तैयार है और इसके लिए कोडिंग की आवश्यकता नहीं होती। दूसरा, जहाँ आप उसे अपनी कंपनी के आंतरिक सॉफ्टवेयर में एक सर्विस के रूप में जोड़ना चाहते हैं—इसके लिए आपको कस्टमाइज़्ड कोडिंग (SDK / App Server) करनी होगी ताकि वह आपके डेटा सिस्टम से जुड़ सके—यह "कोड लिखकर एकीकृत करना" है

वर्गीकरण का विवरण:

स्तरसाधनकोडिंग आवश्यकतानिष्पादन वातावरण
सीधे उपयोगSlack इंटीग्रेशन, Linear इंटीग्रेशनकोई कोडिंग नहीं, मेंशन @Codex द्वाराOpenAI Cloud (क्लाउड सत्र)
कोड लिखकर एकीकृत करनाCodex SDK (TS / Python)कोड लिखकर API कॉल द्वाराआपकी कोडिंग स्क्रिप्ट / CI रनर
गहन एकीकरण (Low Level)App ServerJSON-RPC प्रोटोकॉल द्वाराआपका कस्टमाइज़्ड सॉफ्टवेयर

एक महत्वपूर्ण सुरक्षा नियम: Slack और Linear द्वारा सौंपे गए कार्य "क्लाउड सत्र" (Codex Cloud) पर रन होते हैं। अर्थात, जब आप Slack में @Codex लिखते हैं, तो Codex क्लाउड पर एक कंटेनर बनाता है, आपकी Git रिपोजिटरी को क्लोन करता है, बदलाव करता है और परिणाम वापस भेजता है। इसके लिए क्लाउड सत्र की बुनियादी आवश्यकताएं (लाइसेंस, GitHub क्रेडेंशियल्स, पर्यावरण सेटअप) पूरी होना आवश्यक है

इसका उपयोग कब किया जाना चाहिए:

  • "चलते-फिरते किसी कोडिंग समस्या को तुरंत Codex को सौंपने के लिए, बिना टर्मिनल खोले"—Slack / Linear का उपयोग करें।
  • "कोडिंग प्रक्रिया को अपनी कस्टमाइज़्ड स्क्रिप्ट में जोड़कर CI/CD में चलाने के लिए"—SDK का उपयोग करें।
  • "अपने स्वयं के कोडिंग एडिटर या इंटरफ़ेस में Codex जैसी सुविधा प्रदान करने के लिए (जैसे चैट इतिहास, लाइव क्रेडेंशियल्स, इवेंट स्ट्रीमिंग)"—App Server का उपयोग करें।

💡 संक्षेप में: दो स्तर हैं—Slack/Linear बिना कोडिंग के सीधे उपयोग करने के माध्यम हैं (पृष्ठभूमि में क्लाउड सत्र चलते हैं), और SDK/App Server कस्टमाइज़्ड सॉफ्टवेयर एकीकरण के लिए हैं


02 Slack में召唤 (Call) करना: @Codex का उपयोग

सबसे सरल और दैनिक कोडिंग संचार के लिए उपयोगी माध्यम—Slack इंटीग्रेशन। नियम: Slack चैनल या थ्रेड में @Codex लिखकर निर्देश दें, वह क्लाउड पर कार्य शुरू करके परिणाम उसी थ्रेड में पोस्ट कर देगा।

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

सेटअप प्रक्रिया: 3 बुनियादी चरण

आधिकारिक निर्देशों के अनुसार सेटअप:

  1. क्लाउड सत्र तैयार करें: सुनिश्चित करें कि आपके पास वैध Plus, Pro, Business, Enterprise या Edu लाइसेंस है, GitHub अकाउंट जुड़ा है, और कम से कम एक पर्यावरण (environment) कॉन्फ़िगर है (लेख 10 के अनुसार)।
  2. Slack app इंस्टॉल करें: Codex सेटिंग्स के connectors पेज पर जाकर Slack Connector को अधिकृत (authorize) करें। ध्यान रखें कि आपके Slack वर्कस्पेस नीतियों के अनुसार एडमिनिस्ट्रेटर अनुमोदन आवश्यक हो सकता है।
  3. चैनल में @Codex जोड़ें: चैनल में मेंशन करने पर इसे चैनल में शामिल करने का पॉप-अप दिखाई देगा।

कोडिंग निर्देश देने का तरीका

  1. चैनल या थ्रेड में @Codex लिखकर अपनी आवश्यकता लिखें। यह पिछले मैसेजेस का संदर्भ स्वतः पढ़ लेता है।
  2. (वैकल्पिक) निर्देश में ही रिपोजिटरी या पर्यावरण का नाम लिखें, जैसे: @Codex fix the above in openai/codex
  3. यह संदेश पर 👀 का रिएक्शन देगा, और टास्क लिंक पोस्ट करेगा; कोडिंग समाप्त होने पर परिणाम थ्रेड में आ जाएगा।

स्वचालित पर्यावरण और रिपोजिटरी चयन के नियम

यदि आप निर्देश में रिपोजिटरी का नाम नहीं लिखते, तो Codex निम्नलिखित प्राथमिकताओं के आधार पर चयन करता है:

  • वह आपके उपलब्ध वातावरणों में से निर्देश के अनुसार सबसे उपयुक्त को चुनेगा; यदि निर्देश बहुत सामान्य है, तो वह आपके द्वारा हाल ही में उपयोग किए गए पर्यावरण को चुनेगा।
  • कार्य उस पर्यावरण के repo map में शामिल पहले रिपोजिटरी के डिफ़ॉल्ट ब्रांच पर रन होगा। इसे बदलने के लिए Codex सेटिंग्स में सुधार करें।
  • यदि कोई उपयुक्त वातावरण नहीं मिलेगा, तो वह सीधे चैट में ही कोडिंग सुझाव दे देगा ताकि आप स्वयं उसे लागू कर सकें।

भ्रम से बचने के लिए निर्देश में हमेशा रिपोजिटरी का नाम स्पष्ट रूप से लिखें (जैसे ...in openai/our-backend), ताकि गलत रिपोजिटरी पर कोडिंग शुरू न हो।

व्यावसायिक डेटा सुरक्षा (Enterprise Data Control)

व्यावसायिक सुरक्षा के लिए: डिफ़ॉल्ट रूप से, Codex कोडिंग समाप्त होने पर थ्रेड में विस्तृत परिणाम पोस्ट करता है, जिसमें कोड का विवरण शामिल हो सकता है। यदि आप सुरक्षा कारणों से इस डेटा को Slack में नहीं दिखाना चाहते:

Enterprise एडमिनिस्ट्रेटर ChatGPT एडमिन सेटिंग्स में "Allow Codex Slack app to post answers on task completion" विकल्प को बंद (uncheck) कर सकते हैं। ऐसा करने पर, Codex कोडिंग पूरी होने पर केवल टास्क का लिंक शेयर करेगा, विस्तृत विवरण पोस्ट नहीं करेगा।

प्रवाह का आरेख:

Slack Flow

यह आरेख दिखाता है कि Slack में निर्देश देने पर कैसे क्लाउड पर सत्र शुरू होता है और परिणाम थ्रेड में वापस भेजे जाते हैं।

व्यावहारिक अभ्यास: Slack इंटीग्रेशन टेस्ट करना

आवश्यकता: Slack वर्कस्पेस में ऐप जोड़ने की अनुमतियाँ, और Codex Cloud सेटअप का तैयार होना।

चरण 1: ऐप इंस्टॉल करेंconnectors पेज पर जाकर Slack Connector को अधिकृत करें।

पुष्टि: Slack में Codex ऐप सक्रिय सदस्य के रूप में दिखाई देगा।

चरण 2: चैनल में जोड़ें। किसी टेस्ट चैनल में @Codex मेंशन करें और उसे चैनल में जोड़ें।

चरण 3: एक सरल कोडिंग कार्य सौंपें:

text
@Codex इन openai/test-repo, कृपया README फ़ाइल की शुरुआत में "Hello from Slack" लाइन जोड़ें।

(यहाँ test-repo को अपनी टेस्ट रिपोजिटरी से बदलें)।

अपेक्षित परिणाम: Codex कमेंट पर 👀 रिएक्शन देगा, और कार्य होने पर थ्रेड में अपडेट और diff लिंक पोस्ट करेगा, जहाँ से आप PR बना सकते हैं।

💡 संक्षेप में: Slack इंटीग्रेशन में @Codex द्वारा कोडिंग निर्देश दिए जाते हैं; इसके लिए क्लाउड सत्र की आवश्यकताएं पूरी होनी चाहिए; सुरक्षा के लिए सीधे रिपोजिटरी नाम लिखना सही रहता है; और सुरक्षा नियमों से विस्तृत टिप्पणियों को बंद किया जा सकता है।


03 Linear में召唤 (Call) करना: इश्यू सीधे Codex को सौंपना

Slack सामान्य चैट के लिए है, और Linear प्रोजेक्ट्स और कार्यों को व्यवस्थित रखने के लिए। Linear इंटीग्रेशन सक्रिय होने पर, आप Linear इश्यू (Task) सीधे Codex को सौंप सकते हैं, जैसे आप अपनी टीम के किसी सदस्य को सौंपते हैं।

तुलना: कोडिंग बोर्ड पर टास्क कार्ड को किसी कोडर को असाइन करने से। जब आप Linear बोर्ड पर किसी काम का कार्ड Codex को असाइन करते हैं, तो वह उसे प्राप्त करके काम शुरू करता है, और प्रगति विवरण कार्ड पर कमेंट के रूप में लिखता है। काम पूरा होने पर वह PR लिंक जोड़ देता है।

यह Enterprise या व्यावसायिक लाइसेंस पर समर्थित है, और इसके लिए एडमिनिस्ट्रेटर सेटिंग्स में Codex for Linear को सक्षम करना आवश्यक है।

सेटअप प्रक्रिया: 3 चरण

  1. क्लाउड सत्र तैयार करें: Codex में GitHub और पर्यावरण (environment) सेटअप तैयार रखें।
  2. Linear Connector इंस्टॉल करें: connectors पेज पर जाकर अधिकृत करें।
  3. Linear अकाउंट लिंक करें: किसी Linear issue कमेंट में @Codex लिखकर ऑथराइज़ेशन पूरा करें।

कोडिंग कार्य सौंपने के दो तरीके:

तरीका 1: इश्यू को Codex को असाइन (Assign) करना। टास्क के Assignee में Codex को चुनें, वह स्वतः सक्रिय होकर इश्यू विवरण के अनुसार काम शुरू कर देगा।

तरीका 2: कमेंट में @Codex मेंशन करना। इश्यू के कमेंट थ्रेड में @Codex लिखकर निर्देश दें, और चर्चा करके काम कराएं।

Slack की तरह यहाँ भी Codex इश्यू के विवरण के अनुसार उपयुक्त रिपोजिटरी चुनता है। निर्देश में स्पष्टता के लिए आप @Codex fix this in openai/codex लिख सकते हैं।

प्रगति की जाँच के लिए आप इश्यू की Activity देख सकते हैं या विस्तृत प्रोग्रेस लिंक पर क्लिक कर सकते हैं। काम होने पर वह PR का लिंक जोड़ देगा।

स्वचालित असाइनमेंट (Triage rules)

आप Linear नियमों द्वारा विशिष्ट इश्यूज़ को स्वतः Codex को सौंप सकते हैं:

  1. Linear Settings में जाएं।
  2. Your teams में अपनी टीम चुनें।
  3. workflow सेटिंग्स में Triage को ऑन करें।
  4. Triage rules में नया नियम बनाएं: Delegate → Codex चुनें।

अब नए आने वाले इश्यूज़ स्वतः Codex को असाइन हो जाएंगे।

ध्यान रखें: स्वचालित नियमों (Triage Rules) के तहत, Codex इश्यू बनाने वाले यूज़र के कोडिंग लाइसेंस का उपयोग करके कार्य चलाता है, इसलिए टीम के बजट और अनुमतियों का ध्यान रखें।

स्थानीय उपयोग के लिए Linear MCP

यह Linear मेंशन क्लाउड सत्रों के लिए था। लेकिन यदि आप चाहते हैं कि आपकी स्थानीय मशीन पर सक्रिय Codex (App, CLI, IDE) Linear के इश्यूज़ को पढ़ सके—जैसे "Linear इश्यू ENG-123 के नियमों के अनुसार कोड बदलें"—तो इसके लिए Linear MCP server का उपयोग किया जाता है।

CLI में जोड़ने की कमांड:

bash
codex mcp add linear --url https://mcp.linear.app/mcp

यह आपसे Linear लॉगिन विवरण माँगेगा। आप config.toml में भी इसे लिख सकते हैं:

toml
[mcp_servers.linear]
url = "https://mcp.linear.app/mcp"

लिखने के बाद codex mcp login linear चलाएं। यह सेटिंग्स IDE एक्सटेंशन और CLI दोनों में काम करेंगी।

दोनों का अंतर स्पष्ट रखें: Linear वेबसाइट पर असाइन करना = क्लाउड कार्य; स्थानीय Codex में Linear MCP का उपयोग = इश्यू पढ़ना।

Slack और Linear इंटीग्रेशन की तुलना:

आयामSlack इंटीग्रेशनLinear इंटीग्रेशन
निर्देश का माध्यमथ्रेड में @Codex मेंशनइश्यू असाइन करना या कमेंट में @Codex
स्वचालित आवंटननहींTriage नियमों द्वारा स्वतः
कोडिंग संदर्भथ्रेड का इतिहासइश्यू विवरण और कमेंट्स
परिणामथ्रेड कमेंट और लिंकइश्यू Activity और PR लिंक
स्थानीय उपयोगनहींLinear MCP द्वारा (स्थानीय सत्र में इश्यू पढ़ने के लिए)

Linear में स्वचालित आवंटन का लाभ यह है कि छोटे कोडिंग बग्स (जैसे अनुवाद या सरल स्टाइल सुधार) स्वतः Codex को सौंपे जा सकते हैं, जिससे डेवलपर्स का समय बचता है।

💡 संक्षेप में: Linear में इश्यू असाइन करके या कमेंट में मेंशन करके कोडिंग कराई जा सकती है; Triage नियमों द्वारा यह स्वतः भी हो सकता है; और स्थानीय सत्र में इश्यू विवरण पढ़ने के लिए Linear MCP का उपयोग किया जाता है


04 Codex SDK: कोडिंग द्वारा Codex को एकीकृत करना

अब दूसरे स्तर पर आते हैं—Codex SDK (सॉफ्टवेयर डेवलपमेंट किट, जिसके द्वारा आप अपनी स्क्रिप्ट में कोड लिखकर Codex को नियंत्रित कर सकते हैं)।

यह तब उपयोगी होता है जब आप codex exec जैसी एक बार चलने वाली कमांड्स के स्थान पर, सत्र में निरंतर संवाद (Multi-turn conversation) और कोडिंग अनुमतियों का बारीक नियंत्रण चाहते हैं।

आधिकारिक विवरण:

TypeScript library आपके कस्टमाइज़्ड प्रोग्राम्स में Codex को नियंत्रित करने का लचीला और विस्तृत माध्यम प्रदान करती है, जो गैर-इंटरैक्टिव CLI की तुलना में अधिक शक्तिशाली है।

इसके मुख्य उपयोग के क्षेत्र:

  • Codex को अपनी कस्टमाइज़्ड CI/CD पाइपलाइन में एकीकृत करना।
  • जटिल कार्यों को करने वाले स्वतंत्र AI कोडिंग एजेंट्स बनाना।
  • आंतरिक टूल्स और कोडिंग प्रवाह में इसका उपयोग।
  • अपने व्यावसायिक ऐप्स में Codex की सुविधा जोड़ना।

तुलना: रिमोट कंट्रोल और रिमोट API में। codex exec टीवी रिमोट के समान है—बटन दबाने पर विशिष्ट काम होता है। SDK पूरे टीवी सिस्टम का कंट्रोल बोर्ड है—जहाँ आप प्रोग्राम द्वारा तय कर सकते हैं कि कब चैनल बदलना है, कितना वॉल्यूम रखना है, और इतिहास कहाँ सहेजना है।

TypeScript और Python के लिए पुस्तकालय:

Codex SDK दो भाषाओं में उपलब्ध है। इनका तुलनात्मक विवरण:

आयामTypeScriptPython
स्थापना कमांडnpm install @openai/codex-sdkpip install openai-codex
आवश्यक पर्यावरणNode.js 18+Python 3.10+
निष्पादनसर्वर स्तर पर (Node.js)स्थानीय app-server द्वारा
आंतरिक मैकेनिज्मडायरेक्ट API कनेक्शनJSON-RPC द्वारा स्थानीय app-server को नियंत्रित करना
स्थितिस्थिर (Stable)Beta संस्करण

सुरक्षा चेतावनी:

  • TypeScript SDK को केवल सर्वर वातावरण (Node.js) में ही चलाएं, इसे ब्राउज़र कोड में आयात न करें।
  • Python SDK अभी Beta में है, क्रेडेंशियल्स और वर्शन के लिए pip install --pre openai-codex का उपयोग करना पड़ सकता है। यह आंतरिक रूप से Codex CLI इंजन का उपयोग करता है, जिसे आप CodexConfig(codex_bin=...) द्वारा निर्दिष्ट कर सकते हैं।

कोडिंग उदाहरण:

TypeScript वर्शन (सत्र शुरू करके निर्देश देना):

ts
import { Codex } from "@openai/codex-sdk";

const codex = new Codex();
const thread = codex.startThread();
const result = await thread.run(
  "Make a plan to diagnose and fix the CI failures"
);

console.log(result);

सत्र में संवाद जारी रखने के लिए या पुराना सत्र लोड करने के लिए:

ts
// उसी सत्र में अगला निर्देश
const result = await thread.run("Implement the plan");
console.log(result);

// पुराना सत्र आईडी द्वारा लोड करना
const threadId = "<thread-id>";
const thread2 = codex.resumeThread(threadId);
const result2 = await thread2.run("Pick up where you left off");
console.log(result2);

Python वर्शन (सुरक्षित संदर्भ के साथ):

python
from openai_codex import Codex, Sandbox

with Codex() as codex:
    thread = codex.thread_start(
        model="gpt-5.4",
        sandbox=Sandbox.workspace_write,
    )
    result = thread.run("Make a plan to diagnose and fix the CI failures")
    print(result.final_response)

(यहाँ model नाम डिफ़ॉल्ट रूप से अपडेट हो जाते हैं, आधिकारिक सूची का उपयोग करें)।

असिंक्रोनस (Async) Python कोडिंग के लिए:

python
import asyncio
from openai_codex import AsyncCodex

async def main() -> None:
    async with AsyncCodex() as codex:
        thread = await codex.thread_start(model="gpt-5.4")
        result = await thread.run("Implement the plan")
        print(result.final_response)

asyncio.run(main())

सैंडबॉक्स अनुमतियों का नियंत्रण:

Python SDK में आप Sandbox विकल्पों द्वारा अनुमतियाँ सेट कर सकते हैं:

python
from openai_codex import Codex, Sandbox

with Codex() as codex:
    thread = codex.thread_start(sandbox=Sandbox.workspace_write)
    thread.run("Make the requested change.")
    # अगले निर्देश के लिए केवल पढ़ने की अनुमति सेट करना
    review = thread.run("Review the diff only.", sandbox=Sandbox.read_only)

सैंडबॉक्स विकल्प:

Sandbox Presetविवरण
Sandbox.read_onlyकेवल फ़ाइलें पढ़ना, बदलाव प्रतिबंधित
Sandbox.workspace_writeप्रोजेक्ट निर्देशिका में बदलाव करने की अनुमति
Sandbox.full_accessमशीन पर बिना किसी प्रतिबंध के कोडिंग

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

SDK और codex exec में अंतर:

आयामcodex execCodex SDK
माध्यमकमांड लाइन (CLI)कोडिंग पुस्तकालय
इनपुटकमांड आर्ग्यूमेंट्सAPI कॉल्स और ऑब्जेक्ट्स
सत्र निरंतरताresume फ़्लैग द्वाराThread ऑब्जेक्ट द्वारा सहजता से
परिणाम पार्सिंगstdout टेक्स्ट या JSONLसीधे ऑब्जेक्ट फ़ील्ड्स (जैसे final_response)
अनुमतियाँCLI फ़्लैग्स द्वाराप्रोग्रामेटिक presets द्वारा
उपयुक्ततासाधारण स्वचालित स्क्रिप्ट्स के लिएएजेंट्स और कस्टमाइज़्ड ऐप्स के लिए

💡 संक्षेप में: Codex SDK कोडिंग द्वारा सत्रों को प्रबंधित करने, बहु-चरण कोडिंग करने और अनुमतियों का बारीक नियंत्रण करने का माध्यम है; TS और Python में क्रेडेंशियल्स लाइब्रेरीज़ उपलब्ध हैं।


05 App Server: गहन एकीकरण (Low Level Integration)

यह इस श्रेणी का सबसे निचला और कस्टमाइज़्ड एकीकरण माध्यम है—App Server

नियम: App Server वह आंतरिक इंजन है जिसके द्वारा Codex विभिन्न Editors (जैसे VS Code एक्सटेंशन) से जुड़ता है। यह क्रेडेंशियल्स, चैट इतिहास, अनुमोदन स्क्रीन और इवेंट्स को JSON-RPC प्रोटोकॉल द्वारा प्रबंधित करता है।

तुलना: कस्टमाइज़्ड कार चेसिस से। यदि आप कार का फ्रेम और इंजन खुद तैयार करके उस पर कस्टमाइज़्ड बॉडी फिट करना चाहते हैं (अर्थात अपना स्वयं का कोडिंग एडिटर ऐप बनाना चाहते हैं), तो आप App Server का उपयोग करेंगे जो JSON-RPC प्रोटोकॉल द्वारा सिग्नल्स प्रदान करता है।

कमांड द्वारा शुरू करना:

bash
codex app-server

यह JSON-RPC 2.0 पर आधारित होता है और संचार stdio द्वारा होता है। इसके मुख्य घटक:

  • Thread: बातचीत का सत्र।
  • Turn: कोडिंग रिक्वेस्ट और प्रोग्रेस।
  • Item: व्यक्तिगत कोडिंग गतिविधि विवरण (जैसे फ़ाइल बदलाव, टूल्स प्रोग्रेस)।

सुरक्षा नियम:

यदि आप केवल स्वचालन या CI/CD स्क्रिप्ट्स लिख रहे हैं, तो Codex SDK का उपयोग करें, App Server का नहीं।

निर्णय रेखा:

कार्यसाधन
स्क्रिप्ट्स, स्वचालन और CI/CD कार्यSDK
AI कोडिंग एजेंट्स का निर्माणSDK
IDE एक्सटेंशन या एडिटर कस्टमाइज़ेशन (सत्र इतिहास, लाइव अनुमोदन स्क्रीन के साथ)App Server

App Server का कोड GitHub पर खुला (Open Source) उपलब्ध है। बुनियादी विकास के लिए SDK का उपयोग करना ही सही रहता है।

💡 संक्षेप में: App Server कस्टमाइज़्ड कोडिंग एडिटर्स के निर्माण के लिए JSON-RPC इंजन प्रदान करता है; सामान्य स्वचालन के लिए SDK का उपयोग करें।


06 अभ्यास: TypeScript SDK द्वारा सरल प्रोग्राम चलाना

आइए TypeScript SDK द्वारा एक सरल कोडिंग प्रोग्राम चलाने का अभ्यास करें

आवश्यकता: Node.js 18+ स्थापित होना चाहिए, और Codex CLI लॉगिन होना चाहिए।

चरण 1: प्रोजेक्ट निर्देशिका बनाएं

bash
mkdir codex-sdk-demo
cd codex-sdk-demo
npm init -y

चरण 2: SDK लाइब्रेरी इंस्टॉल करें

bash
npm install @openai/codex-sdk

चरण 3: एक टेस्ट फ़ाइल बनाएं

hello.txt फ़ाइल बनाएं और यह लिखें:

text
This project is a tiny demo for the Codex SDK.

चरण 4: JS कोड लिखें

run.mjs फ़ाइल बनाएं और निम्नलिखित कोड लिखें:

js
import { Codex } from "@openai/codex-sdk";

const codex = new Codex();
const thread = codex.startThread();
const result = await thread.run(
  "Read hello.txt in the current directory and summarize it in one sentence."
);

console.log(result);

चरण 5: प्रोग्राम चलाएं

bash
node run.mjs

अपेक्षित परिणाम: प्रोग्राम पृष्ठभूमि में Codex का उपयोग करके hello.txt के विवरण को पढ़ेगा, और उसका एक वाक्य में सारांश टर्मिनल पर प्रिंट कर देगा।

अभ्यास समाप्त होने पर टेस्ट फोल्डर को डिलीट कर दें।

💡 संक्षेप में: अभ्यास के चरण हैं—निर्देशिका बनाकर @openai/codex-sdk इंस्टॉल करना → टेस्ट फ़ाइल बनाना → SDK कोड लिखना → node द्वारा रन करके परिणाम देखना


07 इंटीग्रेशन उपकरणों का चयन

दैनिक कार्यों में सही टूल चुनने के लिए गाइड:

आवश्यकतासाधनकारण
"टीम चैट में चलते-फिरते काम सौंपना"Slack इंटीग्रेशनबिना कोडिंग के सीधे मेंशन द्वारा
"Linear इश्यूज़ को स्वतः कोडिंग में बदलना"Linear इंटीग्रेशनTriage नियम और इश्यू असाइनमेंट
"स्थानीय सत्र में Linear इश्यूज़ को पढ़ना"Linear MCPस्थानीय सत्र को Linear डेटा से जोड़ने के लिए
"CI/CD पाइपलाइन में आसान कोडिंग कार्य"codex exec (लेख 28)हल्का और सीधा कमांड लाइन उपयोग
"सॉफ्टवेयर में सत्र और अनुमतियों का कस्टमाइज़्ड नियंत्रण"Codex SDKThread और सैंडबॉक्स का प्रोग्रामेटिक नियंत्रण
"अपना स्वयं का कोडिंग एडिटर / एक्सटेंशन बनाना"App Serverनिम्न-स्तरीय JSON-RPC संचार की आवश्यकता

बुनियादी कार्यों के लिए codex exec का उपयोग करें, और जटिल सॉफ्टवेयर प्रोजेक्ट्स के लिए SDK का।

💡 संक्षेप में: चैट के लिए Slack/Linear, आसान स्क्रिप्ट्स के लिए exec, कस्टमाइज़्ड संवाद के लिए SDK, और कोडिंग एडिटर्स के निर्माण के लिए App Server का उपयोग करें।


08 सारांश

इस लेख में हमने Codex के बाह्य एकीकरण (Integrations) को विस्तार से समझा है।

मुख्य बिंदुओं का सारांश:

विषयसाधनमुख्य बिंदु
Slack@Codexथ्रेड में निर्देश; क्लाउड सत्र क्रेडेंशियल्स का उपयोग; सुरक्षा सेटिंग्स
Linearअसाइन / @Codexइश्यू आवंटन; Triage द्वारा स्वचालित असाइनमेंट
Linear MCPMCP serverस्थानीय सत्र में इश्यू डेटा लोड करने के लिए
SDKTS / Pythonकोडिंग लाइब्रेरीज़; बहु-चरण बातचीत; सैंडबॉक्स presets
App ServerJSON-RPCकस्टमाइज़्ड कोडिंग एडिटर्स के निर्माण के लिए इंजन

अब आप यह कर सकते हैं: Slack/Linear एकीकरण का सेटअप और उपयोग करना, स्वचालित आवंटन नीतियां समझना, SDK के फीचर्स और कोडिंग का ढांचा बताना, और App Server की भूमिका को समझाना।


अगला लेख [30 मॉडलों का चयन]—इस लेख में हमने इंटीग्रेशन की बात की, लेकिन यह नहीं देखा कि इन कार्यों को करने के लिए कौन से विशिष्ट कोडिंग मॉडल्स (जैसे तेज या शक्तिशाली) उपलब्ध हैं। अगले लेख में हम देखेंगे कि विभिन्न कोडिंग आवश्यकताओं के लिए सही मॉडल का चयन कैसे किया जाता है।


अनुशंसित पठन