इस गाइड के अंत तक, एक Claude चैट आपके सेव किए हुए osFoundry Graphs में से एक को शुरू करेगी। ये multi-step एजेंट प्रोग्राम हैं जो branch करते हैं, parallel में फैलते हैं और retry करते हैं। रन आपके अपने डेस्कटॉप पर होता है, न Claude में और न किसी सर्वर पर। Claude को तुरंत एक टिकट मिल जाता है, डेस्कटॉप के काम करते समय वह उसका स्टेटस चेक करता रहता है, और फिर Graph के नतीजे के साथ जवाब देता है। अगर बीच में आपका इरादा बदल जाए, तो Claude उसे कैंसल कर सकता है।
कौन क्या करता है
| Claude की तरफ़ | osFoundry की तरफ़ | |
|---|---|---|
| लॉगिन | आपका Claude अकाउंट, बिना बदलाव के | वह कनेक्शन जिसे आपने approve किया, एक प्रोजेक्ट में जोड़ा हुआ |
| क्या देख सकता है | हर शेयर किए गए Graph session का नाम, विवरण, slug, version और status | Graph का प्रोग्राम, उसके एजेंट और आपकी फ़ाइलें डेस्कटॉप पर ही रहती हैं |
| कौन से Graphs | list_graph_sessions में से चुनता है | सिर्फ़ वे sessions जिन्हें आपने डेस्कटॉप ऐप में उस प्रोजेक्ट के लिए टिक किया है |
| कहां चलता है | कहीं नहीं। Claude सिर्फ़ queue में डालता है और पढ़ता है | आपके डेस्कटॉप पर, जो queue से रन उठाकर उसे लोकल चलाता है |
| इंतज़ार | स्टेटस final होने तक get_graph_run कॉल करता है | रन ख़त्म होने पर एक सीमित आकार का नतीजा भेजता है |
| अनुमति | run_graph_session से पहले Claude का अपना tool prompt | जिन tools को हर बार पूछने के लिए सेट किया गया है, वे रन के अंदर reject हो जाते हैं; क्लिक करने के लिए वहां कोई नहीं होता |
सेटअप
यह मानकर चल रहे हैं कि Claude connector पहले से मौजूद है (key आइकन → Connected → Add assistant, फिर Claude में https://api.osfoundry.io/api/v1/external-mcp को custom connector के रूप में जोड़ा गया है)।
1. डेस्कटॉप पर एक सेव किया हुआ Graph session रखें
Graphs डिवाइस पर रहते हैं। आप उन्हें Maestro, किसी एजेंट या osStudio से लिखते या एडिट करते हैं, और सेव होने पर हर एक को एक session ID मिलता है जो gs_ और उसके बाद 32 hex अक्षरों जैसा दिखता है। डेस्कटॉप ऐप की Graph स्क्रीन पर इनकी लिस्ट होती है। जो Graph आपने सिर्फ़ ब्राउज़र में देखा है, उसे शेयर नहीं किया जा सकता, क्योंकि ब्राउज़र उसे चला नहीं सकता।
उदाहरण: डेस्कटॉप ऐप की Graph स्क्रीन, सेव किए गए Graph सेशन के साथ
2. Claude कनेक्शन को एक प्रोजेक्ट में जोड़ें
key आइकन → Connected में Claude कनेक्शन चुनें। Projects के नीचे एक प्रोजेक्ट चुनें और Add to project (प्रोजेक्ट में जोड़ें) पर क्लिक करें। Claude सिर्फ़ इसी प्रोजेक्ट में Graphs ढूंढेगा।
उदाहरण: Claude कनेक्शन का Projects सेक्शन, जिसमें एक प्रोजेक्ट जोड़ा गया है
3. Graph session को उस प्रोजेक्ट में शेयर करें
उसी Connected टैब में और नीचे, सिर्फ़ डेस्कटॉप ऐप में, Share desktop Graph sessions (डेस्कटॉप Graph sessions शेयर करें) नाम का एक सेक्शन है। वहां आपके हर प्रोजेक्ट के साथ इस डिवाइस पर सेव किए गए Graph sessions checkbox के रूप में दिखते हैं:
Share desktop Graph sessions Choose the saved Graph sessions to share with each project, then enable that project. Your desktop must be open and signed in. Launch plan · workspace [ Share selected Graphs ] [x] Weekly KPI digest [ ] Release notes draft उदाहरण: Share desktop Graph sessions, एक प्रोजेक्ट के लिए एक सेशन चुना हुआ
पहले sessions टिक करें, फिर Share selected Graphs पर क्लिक करें। अगर कुछ भी टिक नहीं है, तो ऐप आपको "Choose at least one Graph session for this project first." के साथ रोक देता है। प्रोजेक्ट शेयर करने से डिवाइस के सारे Graphs शेयर नहीं होते। हर session का फ़ैसला अलग है, हर प्रोजेक्ट के लिए।
4. डेस्कटॉप खुला रहने दें
डेस्कटॉप ऐप हर 20 सेकंड में प्रोजेक्ट में queue किए गए रन चेक करता है, और जैसे ही आप शेयरिंग बदलते हैं, तुरंत भी। अगर ऐप बंद है, तो Claude की रिक्वेस्ट queue में तब तक इंतज़ार करती है जब तक ऐप फिर से न खुले।
5. Claude से कहें
In osFoundry, run the Weekly KPI digest Graph in the Launch plan project for week 2026-W45, and tell me the three biggest changes. एक असली रन
नीचे दिया गया प्रोजेक्ट, Graph और आंकड़े उदाहरण डेटा हैं। Tool और argument के नाम वही हैं जो live सर्वर tools/list में दिखाता है। Claude Code में यही tools mcp__osfoundry__run_graph_session जैसे नामों से दिखते हैं।
उदाहरण Claude → list_granted_resources {} ← projects: Launch plan Claude → list_graph_sessions {"project_id": "<Launch plan>"} ← Weekly KPI digest (gs_3f…, weekly-kpi-digest v3, ready) Release notes draft लिस्ट में नहीं है: उसे कभी टिक नहीं किया गया Claude → run_graph_session {"graph_session_id": "gs_3f…", "arguments": {"week": "2026-W45"}, "idempotency_key": "kpi-2026-w45-a"} [Claude आपसे इस tool call की अनुमति मांगता है → Allow] ← command_id "8c1e…", status queued Claude → get_graph_run {"command_id": "8c1e…"} ← queued (डेस्कटॉप ने अभी poll नहीं किया है) Claude → get_graph_run {"command_id": "8c1e…"} ← running Claude → get_graph_run {"command_id": "8c1e…"} ← completed result: {"execution_id": "GR-0007L", "status": "completed", "result": {...}, "total_tokens": 18412, "reported_cost": 0.07} Claude: हफ़्ता 45: sign-ups +18%, trial से paid कन्वर्ज़न 9.1% से घटकर 7.4%, और मंगलवार की रिलीज़ के बाद support tickets दोगुने हो गए। पहले get_graph_run का queued बताना Claude की तरफ़ से कोई देरी नहीं है। आपके डेस्कटॉप में कुछ भी push नहीं होता। डेस्कटॉप ख़ुद सर्वर से काम मांगता है, और उसकी अगली जांच तक रन बस इंतज़ार करता है। उठाए जाने के बाद डेस्कटॉप Graph को उसी कमांड से चलाता है जो Graph स्क्रीन इस्तेमाल करती है, फिर नतीजा वापस भेजता है। Claude आख़िर में जो पढ़ता है वह यही भेजा गया नतीजा है, कोई live stream नहीं।
यह रन डेस्कटॉप पर Launch plan प्रोजेक्ट के अंदर भी दर्ज होता है। रन के अंदर प्रोजेक्ट context और chat history search सिर्फ़ उसी प्रोजेक्ट का इस्तेमाल करते हैं, उससे ज़्यादा कुछ नहीं।
इसे रोकने के लिए Claude उसी command_id के साथ cancel_graph_run कॉल करता है। जो रन अभी queue में है, वह सीधे कैंसल हो जाता है और कभी शुरू नहीं होता। चल रहे रन को एक cancellation request मिलती है, जिसे डेस्कटॉप हर 3 सेकंड में चेक करता है और चल रहे Graph तक पहुंचाता है।
सीमा कहां है
Graph डिवाइस से बाहर नहीं जाता। list_graph_sessions सिर्फ़ metadata लौटाता है: नाम, विवरण, slug, version और status। Claude कभी स्क्रिप्ट, उसके बुलाए एजेंट या उनकी छुई फ़ाइलें नहीं देखता। इसी वजह से Claude बिना कोई schema देखे arguments भेजता है। अगर आप चाहते हैं कि Claude इन्हें ठीक से भरे, तो Graph के विवरण में inputs के बारे में लिखें।
Execution डेस्कटॉप का काम है, क्योंकि Graph के एजेंट, लोकल मॉडल, फ़ोल्डर और approval सेटिंग्स सब वहीं हैं। सर्वर सिर्फ़ queue और final नतीजा रखता है। अगर डेस्कटॉप offline है, तो queue के रन उसका इंतज़ार करते हैं। Claude उन्हें कहीं और नहीं भेज सकता।
रन के अंदर कोई देख नहीं रहा होता। जिन tools को हर बार पूछने के लिए सेट किया गया है, वे prompt दिखाने के बजाय reject हो जाते हैं, क्योंकि ऐसा prompt जिसका कोई जवाब न दे, रन को मिनटों तक रोके रखेगा और फिर भी fail होगा। जो tools नहीं पूछते, वे सामान्य रूप से चलते हैं। अगर कोई Graph ऐसे tool पर निर्भर है जिसे आप हाथ से approve करते हैं, तो उस Graph को Graph स्क्रीन से ख़ुद चलाएं।
जो वापस आता है उसकी सीमा तय है। नतीजे में रन का ID, status, result, token count और reported cost होते हैं, और वह भी तभी जब यह JSON के 100,000 अक्षरों में समा जाए। इससे बड़ा नतीजा result_truncated: true के साथ सिर्फ़ ID और status के रूप में आता है, और पूरा रिकॉर्ड डेस्कटॉप की run history में रहता है। Errors 2,000 अक्षरों पर काट दिए जाते हैं।
सिर्फ़ वही एजेंट किसी रन को पढ़ या कैंसल कर सकता है जिसने उसे शुरू किया। कोई दूसरा कनेक्शन वही command_id मांगे तो उसे "Graph run not found or access removed" मिलता है, वही जवाब जो किसी ऐसे ID के लिए मिलता है जो मौजूद ही नहीं।
रन शुरू होने से पहले किसी भी समय शेयरिंग वापस ली जा सकती है। अगर रन queue में रहते हुए आप session का टिक हटा दें या Stop sharing (शेयर करना बंद करें) पर क्लिक करें, तो डेस्कटॉप चलाने से पहले दोबारा जांचता है और "Graph session is no longer shared with this project" के साथ उसे कैंसल कर देता है।
आगे
एक छोटा Graph शेयर करें, Claude से उसे चलाने को कहें, फिर जब वह अभी queue में हो तब Stop sharing पर क्लिक करें और देखें कि Claude कैंसलेशन की रिपोर्ट कैसे देता है। osFoundry एजेंट्स के बीच काम कैसे बांटता है, यह Maestro orchestration पेज पर है, और कनेक्शन की लिस्ट Connected पेज पर।




