इस guide के अंत तक आपके पास एक terminal pane में Claude Code चल रहा होगा, दूसरे में Codex, और साथ में कुछ chats और agents भी। osFoundry का एक ही board इन सबको दिखाता है। जब Claude Code "Do you want to make this edit?" पर रुकता है, तो उसका card एक सेकंड के अंदर Needs you (आपकी ज़रूरत) column में चला जाता है। एक click से वही pane उसी prompt पर खुल जाता है। आप जवाब देते हैं, और card वापस Running (चल रहा) में आ जाता है।
कौन क्या करता है
| Claude Code | osFoundry डेस्कटॉप ऐप | |
|---|---|---|
| Login | अपना Claude login, अपने process में | उसमें से कुछ भी नहीं रखता। जिस agent को ऐप ने ख़ुद launch किया है, उससे inherited ANTHROPIC_API_KEY हटा देता है ताकि subscription वाला run API के रूप में bill न हो |
| कहाँ चलता है | Terminal screen में एक असली PTY, आपके project folder में | PTY का मालिक है और screen की एक emulated copy रखता है |
| कौन approve करता है | आप, Claude Code के अपने permission prompt में | कभी आपकी जगह जवाब नहीं देता। सिर्फ़ card को हिलाता है और pane खोलता है |
| state कैसे पता चलती है | Claude Code हमेशा की तरह अपना UI दिखाता है | हर 700 ms में screen को published rules से मिलाकर पढ़ता है, और जब agent उसने launch किया हो तो hook reports भी लेता है |
| data कहाँ रहता है | आपकी files, आपका terminal | screen का text आपके Mac पर ऐप की memory में ही रहता है। agent session ख़त्म करने पर एक summary आपकी knowledge files में लिखी जाती है |
Setup
- Terminal screen खोलें (sidebar में Main → Terminal,
/terminal) और agents को वैसे ही शुरू करें जैसे आप आमतौर पर करते हैं। हर pane अपना अलग PTY है।
~/code/shop-api (fix/checkout-retry) $ claude
~/code/shop-web $ codex
osFoundry Claude Code को उस program से पहचानता है जो terminal को पकड़े हुए है, या अगर आपने उसे किसी wrapper script से शुरू किया है तो उसकी screen से। कुछ भी configure करने की ज़रूरत नहीं।
- Sessions खोलें (sidebar में Main → Sessions,
/sessions)। हर chat, single agent, team, loop और terminal session एक card है। Columns हैं Running, Needs you, Paused (रुका हुआ), Idle (खाली), Done (पूरा) और Failed (विफल)। आप किसी card को किसी column में drag करके उसकी state तय नहीं कर सकते; column इस पर निर्भर करता है कि runtime क्या report करता है।
- Filter पर click करें (filter लगते ही यह Filtered दिखाता है) और Needs me only (सिर्फ़ जिन्हें मेरी ज़रूरत है) पर tick करें। Kinds (Chat, Agent, Team, Loop, Terminal) और time window जैसे थे वैसे ही रहते हैं।
दो cards बचते हैं: एक chat जिसने सवाल पूछा है, और shop-api में Claude Code का terminal।
कोई chat यहाँ तब आता है जब उसका सबसे नया message किसी ऐसे सवाल पर ख़त्म होता है जिसके जवाब का वह अभी भी इंतज़ार कर रहा है। कोई terminal यहाँ तब आता है जब उसकी state blocked हो, और अगला step यही दिखाता है।
-
shop-apicard पर click करें। Terminal screen उसी pane पर खुलती है और prompt अभी भी वहीं है। बाईं ओर की rail Claude Code को "Needs you · shop-api" और Codex को "Working · shop-web" दिखाती है।
कई panes खुले हों तो Mod+. (Mac पर ⌘.) अगले उस agent पर ले जाता है जिसे आपकी ज़रूरत है। Status bar में भी यही लिखा है: "⌘. to jump to what needs you"।
- Pane में वैसे ही जवाब दें जैसे कहीं और देते:
1. Yesपर Enter। Claude Code काम जारी रखता है, और अगले sweep पर rail और board उसे फिर से Working / Running दिखाते हैं।
- जब कोई agent session पूरा हो जाए और Idle में पड़ा हो, तो उसका card Done पर drag करें। ऐप पहले पूछता है।
Confirm करने पर पहले summary लिखी जाती है, फिर session ख़त्म होता है। अगर summary fail हो जाए, तो session जहाँ था वहीं रहता है। चल रहे session को Done पर drop किया ही नहीं जा सकता: "This session is still running. Pause it first, then end it." (पहले pause करें, फिर ख़त्म करें)।
एक असली run
Example। Screenshots वाला pane, और हर screen से osFoundry क्या निष्कर्ष निकालता है। ये फ़ैसले Claude Code की rule file claude.toml से आते हैं, जो ऐप के साथ आती है और osfoundry.io/agent-detection/claude.toml पर भी उपलब्ध है।
~/code/shop-api (fix/checkout-retry) $ claude
● Retry now reuses the first charge. Updating the payment code.
Edit file src/payments/charge.ts
41 - const intent = await stripe.paymentIntents.create(params)
41 + const intent = await stripe.paymentIntents.create(params, {
42 + idempotencyKey: `charge-${order.id}`,
43 + })
Do you want to make this edit to charge.ts?
❯ 1. Yes
2. Yes, allow all edits during this session
3. No, and tell Claude what to do differently
screen पर state जो rule लगा card
spinner, "esc to interrupt" working esc to interrupt Running
ऊपर वाला prompt blocked Do you want to (proceed|continue|make this edit|create) Needs you
... आप "1. Yes" पर Enter दबाते हैं
फिर से spinner working esc to interrupt Running
● Update(src/payments/charge.ts)
⎿ Updated src/payments/charge.ts with 3 additions and 1 removal
● Bash(npm test -- payments)
⎿ Tests: 42 passed, 42 total
● Fixed. A second press of Pay now reuses the first charge.
blocked rule को जानबूझकर working rule के ऊपर रखा गया है। जब तक prompt खुला है, Claude Code का footer अभी भी "esc to interrupt" दिखा सकता है, और जो rule सबसे पहले match होता है वही जीतता है।
सीमा कहाँ है
osFoundry कभी आपकी जगह किसी prompt का जवाब नहीं देता। दूसरे agents ऐप के runtime_send tool से किसी pane में type कर सकते हैं, लेकिन वह tool उस pane को मना कर देता है जो किसी फ़ैसले का इंतज़ार कर रहा हो। जवाब देने के लिए एक अलग नाम वाला tool, runtime_answer, इस्तेमाल होता है, और हर जवाब को आप confirm करते हैं। यह check पिछले sweep पर नहीं, बल्कि type करने के उसी पल screen को नए सिरे से पढ़कर होता है, ताकि अभी-अभी आया prompt उन keystrokes को न पकड़ ले जो सामान्य text के लिए थे।
जिस screen को osFoundry पढ़ नहीं पाता, उसे Idle report किया जाता है, कभी Needs you नहीं। detect.rs की comment इसकी वजह बताती है: एक भी false alarm हुआ तो लोग badge पर भरोसा करना छोड़ देते हैं, और उसके बाद सच्चे alarms भी बेकार हो जाते हैं। इसलिए जब कोई rule पक्का न हो, तो ऐप ज़्यादा नहीं, कम report करता है।
Rules data हैं, code नहीं। Download की गई rule file सिर्फ़ यह बदल सकती है कि कौन-से patterns match हों, इसके अलावा कुछ नहीं। वह यह नहीं बदल सकती कि कौन-सा program चलेगा। आपका अपना override ~/.osfoundry/agent-detection/claude.toml में जाता है।
Terminal का text डेस्कटॉप ऐप की memory में ही रहता है। Pane के बाहर निशान सिर्फ़ उस session का रहता है जिसे आप ख़त्म करते हैं: उसकी summary आपकी knowledge files में, जो कुछ भी archive होने से पहले लिखी जाती है।
आगे क्या
किसी दूसरे folder में एक और Claude Code शुरू करें, दोनों को ऐसा task दें जिसमें edit की ज़रूरत हो, और कुछ और करते समय Sessions board को Needs me only पर filter करके छोड़ दें। अगर आपके पास अभी डेस्कटॉप ऐप नहीं है, तो वह download page पर है।






Top comments (0)