OpenCode सेशन को सुरक्षित रूप से शेयर और लिंक रद्द कैसे करें
OpenCode का शेयर लिंक किसी एक सहकर्मी के लिए निजी आमंत्रण नहीं, बल्कि URL पाने वाले हर व्यक्ति के लिए सार्वजनिक पेज है। यह गाइड बताती है कि लिंक में क्या शामिल होता है, manual या disabled कैसे चुनें, पूरे सेशन में संवेदनशील जानकारी कैसे जाँचें और /unshare से लिंक हटाकर सत्यापित कैसे करें।
विषय-सूची

किसी सहकर्मी को OpenCode सेशन भेजने से पहले लिंक को निजी आमंत्रण नहीं, बल्कि एक छोटी सार्वजनिक publication मानें। OpenCode की आधिकारिक documentation के अनुसार, साझा conversation उस हर व्यक्ति के लिए उपलब्ध होती है जिसके पास लिंक है। अधिकतर teams के लिए सुरक्षित तरीका है: पूरा सेशन जाँचें, manual mode में /share चलाएँ, और काम पूरा होते ही /unshare करें। संवेदनशील projects में sharing को disabled रखना बेहतर है।
OpenCode share link वास्तव में क्या दिखाता है
Share link केवल वह आखिरी उत्तर नहीं दिखाता जिसे आप teammate के साथ discuss करना चाहते हैं। OpenCode Share की आधिकारिक documentation के अनुसार, sharing के समय OpenCode एक unique public URL बनाता है, conversation history को अपने servers पर sync करता है और लिंक के जरिए यह content उपलब्ध कराता है:
- पूरी conversation history;
- सभी messages और responses;
- session metadata।
इसका अर्थ यह नहीं है कि OpenCode आपके local disk का पूरा repository अपने आप publish कर देता है। वास्तविक risk यह है कि source code, configuration, logs, terminal output या file contents अगर किसी message या response में आए हैं, तो वे shared history का हिस्सा बन जाते हैं। Standard link उस teammate की identity से बंधा नहीं है जिसे आपने भेजा; URL पाने वाला कोई भी व्यक्ति उसे खोल सकता है।
Shared session तब तक उपलब्ध रहती है जब तक आप उसे स्पष्ट रूप से unshare नहीं करते। इसलिए केवल आखिरी कुछ messages देखना पर्याप्त नहीं है, और कठिन दिखने वाले URL को access control नहीं मानना चाहिए।
manual, auto और disabled में क्या चुनें
सामान्य काम के लिए manual और disabled के बीच निर्णय लें। auto तभी चुनें जब आप जानबूझकर हर नई conversation को human review से पहले share करना चाहते हों।
| Mode | व्यवहार | कब उपयुक्त है | मुख्य risk |
|---|---|---|---|
manual | Default mode; /share चलाने पर ही लिंक बनता है | कभी-कभार reviewed session पर collaboration | Reviewer कुछ चूक सकता है, पर नई sessions अपने आप public नहीं होतीं |
auto | हर नई conversation अपने आप share होकर लिंक बनाती है | जानबूझकर public workflow | Secrets, code या logs review से पहले publish हो सकते हैं |
disabled | Sharing पूरी तरह बंद | Private repositories, customer data, regulated work या जहाँ public links की जरूरत नहीं | Standard share link उपलब्ध नहीं होगा; दूसरा controlled तरीका चाहिए |
व्यावहारिक नियम साफ है: reviewed session कभी-कभी दिखानी हो तो manual; project संवेदनशील हो, public link की जरूरत न हो, या team लगातार अच्छी review न कर सके तो disabled। केवल /share टाइप करने का एक कदम बचाने के लिए auto न चुनें।
Share करने से पहले पूरे सेशन की जाँच करें
पहले message से आखिरी message तक पढ़ें। Public page में पूरी history होती है, इसलिए team chat में भेजे जाने वाले snippet को साफ करना पर्याप्त नहीं है। अगर original session में कहीं भी sensitive content बचा है, उस session को share न करें।
1. Credentials और authentication data
API keys, access tokens, passwords, private keys, cookies, session tokens, Authorization headers, database connection strings, signed URLs और .env files के वास्तविक values खोजें। Variable names और safe placeholders सामान्यतः ठीक हो सकते हैं; live values नहीं।
अगर credential history में आ चुका है और आप उसके हटने की पुष्टि नहीं कर सकते, तो credential को revoke या rotate करें, secret के बिना clean session बनाएँ और वही share करें।
2. Proprietary code और business context
Source files, patches, configuration, SQL, architecture notes, customer names, internal requirements और unreleased features देखें जिन्हें model ने पढ़ा या बनाया था। अलग-अलग fragments harmless लग सकते हैं, लेकिन साथ में वे system structure, business logic या security boundaries बता सकते हैं।
3. Logs और command output
Logs तथा errors में local paths, usernames, email addresses, hostnames, internal domains, IP addresses, repository और branch names, ticket IDs, database names या request parameters आ सकते हैं। केवल token और password न खोजें; stack traces, test output, CI logs, git diff, curl commands और terminal output भी देखें।
4. Session metadata और पहचान बताने वाला context
OpenCode स्पष्ट रूप से session metadata को shared data में शामिल करता है। Project और session names, branches, file paths तथा ऐसे details देखें जो organization या internal system की पहचान करा सकते हैं।
5. भरोसेमंद cleanup संभव न हो तो clean session बनाएँ
Public documentation automatic redaction का वादा नहीं करती। यह मानकर न चलें कि OpenCode credentials को अपने आप mask करेगा, और “देखते हैं क्या दिखता है” के लिए पहले share न करें। Collaboration के लिए जरूरी minimum code, error और context को नई साफ conversation में रखें; लंबी history को पूरी तरह safe साबित करने से यह अधिक भरोसेमंद है।
manual mode में सुरक्षित रूप से share कैसे करें
manual default है और “पहले review, फिर publish” workflow के लिए सबसे उपयुक्त है।
Step 1: प्रभावी share setting की पुष्टि करें
OpenCode कई locations की configuration को merge करता है; एक ही key पर conflict हो तो बाद में load हुई source पहले वाली को override करती है। Global config आम तौर पर ~/.config/opencode/opencode.json में और project config repository root के opencode.json में होती है। चलाएँ:
opencode debug config
Resolved configuration में देखें कि share वास्तव में manual है, किसी दूसरी source से आया auto नहीं। Locations और precedence के लिए OpenCode Config की आधिकारिक documentation देखें।
Manual mode को स्पष्ट रूप से set करने के लिए उचित opencode.json में यह जोड़ें:
{
"$schema": "https://opencode.ai/config.json",
"share": "manual"
}
Step 2: privacy review पूरी करें
ऊपर की checklist पूरी history पर लागू करें। कोई credential, proprietary code, confidential log या पहचान बताने वाला metadata public नहीं हो सकता तो रुकें। Collaboration जरूरी हो तो नई minimal session बनाएँ।
Step 3: reviewed session में /share चलाएँ
/share
Official documentation के अनुसार यह command unique URL बनाकर clipboard में copy करती है। उसे तुरंत forward न करें; पहले public page के रूप में review करें।
Step 4: recipient की तरह लिंक खोलें
URL को signed-out browser या private window में खोलें और ऊपर से नीचे तक पढ़ें। यह सुनिश्चित करें कि लिंक पाने वाले किसी भी व्यक्ति को पूरा content दिखाने में आपको आपत्ति नहीं होगी, जिसमें शुरुआती messages और लंबे logs भी शामिल हैं।
यह एक publication check है, नया permission layer नहीं। Private window में देखना standard link को private नहीं बनाता।
Step 5: controlled channel में भेजें और revoke का समय तय करें
URL केवल उस team channel में भेजें जिसे इसकी जरूरत है और recipients से आगे forward न करने को कहें। यह request accidental spread कम कर सकती है, लेकिन तकनीकी रूप से link को उन्हीं लोगों तक सीमित नहीं करती। Share करते समय ही तय करें कि bug resolve होने, review खत्म होने या किसी निश्चित समय पर link revoke किया जाएगा।
संवेदनशील project में sharing पूरी तरह कैसे बंद करें
अगर project में customer data, production credentials, proprietary code है या public session links की कोई legitimate जरूरत नहीं है, तो हर contributor की याददाश्त पर निर्भर रहने से disabled अधिक सुरक्षित है।
Project root के opencode.json में यह जोड़कर Git में commit करें:
{
"$schema": "https://opencode.ai/config.json",
"share": "disabled"
}
Official Share documentation team में इस नियम को लागू करने के लिए project config की सलाह देती है। Configuration merge होती है, इसलिए बदलाव के बाद भी opencode debug config चलाकर final value जाँचें, खासकर जब inline या administrator-managed settings project value को override कर सकती हों।
ऐसी organization policy के लिए जिसे सामान्य users बदल न सकें, administrators को managed settings इस्तेमाल करनी चाहिए। Current Config documentation macOS पर /Library/Application Support/opencode/, Linux पर /etc/opencode/ और Windows पर %ProgramData%\opencode बताती है; managed settings की priority user और project files से ऊपर है। Enterprise deployments SSO-authenticated users तक access सीमित या sharing को self-host भी कर सकती हैं।
पहले से साझा लिंक को revoke कैसे करें
Revocation स्पष्ट cleanup step है। Terminal बंद करना, URL वाला chat message delete करना या clipboard साफ करना पहले से public session को unshare नहीं करता।
Step 1: original session में लौटकर /unshare चलाएँ
/unshare
OpenCode के अनुसार यह public access और share link हटाता है तथा shared conversation से जुड़े data को delete करता है।
Step 2: पुराने URL को बाहर से verify करें
Original URL संभालकर रखें और उसे signed-out window या दूसरे browser में दोबारा खोलें। Meaningful success signal यह है कि पुराना link अब shared conversation न दिखाए—सिर्फ command का बिना visible error पूरा होना नहीं। अगर content अभी भी खुलता है, जाँचें कि सही session unshare की गई थी और client state देखें।
Step 3: verification fail हो तो link को अभी भी public मानें
Current public Share page original conversation के अंदर /unshare बताती है; वह अलग public link-management dashboard नहीं बताती। अगर original session नहीं खुलती, command उपलब्ध नहीं है या पुराना URL अभी भी data दिखाता है, team को यह न कहें कि access revoke हो गया। URL को public मानें और external verification सफल होने तक OpenCode administrator या support से संपर्क करें।
/unshare क्या वापस नहीं ले सकता
/unshare OpenCode को पुराने URL पर conversation serve करना बंद कराता है। यह recipient की याददाश्त, पहले से ली screenshots, copied code या downloaded logs वापस नहीं ले सकता।
Official page share-related data delete होने की बात करती है, लेकिन third-party caches, browser copies या recipients के बनाए archives मिटाने का वादा नहीं करती। इसलिए revocation जरूरी cleanup है, pre-share review का replacement नहीं। Live credential expose हुई हो तो /unshare के साथ credential को भी revoke या rotate करें।
सामान्य सवाल
क्या link पूरा local repository publish करता है?
Documentation पूरी history, messages, responses और session metadata बताती है; यह नहीं कहती कि हर local file अपने आप publish होती है। फिर भी conversation में आया कोई code, file content, patch या log shared material माना जाना चाहिए।
क्या केवल एक teammate को access दिया जा सकता है?
Standard Share को URL वाले हर व्यक्ति के लिए public link बताया गया है, email-based allowlist नहीं। Identity restriction चाहने वाली organizations को SSO-only access या self-hosting जैसे enterprise options देखना चाहिए।
/share चलाए बिना नया link क्यों बना?
Resolved setting में share का value auto है या नहीं, देखें। opencode debug config चलाकर global, project, inline और managed sources में winning value खोजें।
/share उपलब्ध न हो तो क्या करें?
देखें कि final value disabled है या managed policy से locked है। Lower-precedence file बदलकर team policy bypass न करें; administrator से approved collaboration method पूछें।
Link भेजने से पहले अंतिम checklist
Send दबाने से पहले पुष्टि करें:
- effective mode
manualहै, या project जानबूझकरdisabledहै; - history को पहले message से जाँचा गया है;
- कोई live credential, internal URL, proprietary code, customer data या sensitive log नहीं बचा;
- public page signed-out window में देखी गई है;
- recipients, channel और revoke का समय तय है;
- collaboration के बाद original session में
/unshareचलाकर पुराने URL की जाँच की जाएगी।
जब आप session sharing को chat attachment नहीं, publication मानते हैं, तो link भेजने से पहले privacy risks पहचानना बहुत आसान हो जाता है।