> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zapbip.com/llms.txt
> Use this file to discover all available pages before exploring further.

# लोकल कनेक्टर

> zapbip के connect, listen और channel कमांड: फ़्लैग, एनवायरनमेंट वेरिएबल, वेक आइसोलेशन और लॉग।

आम तौर पर आपका AI WhatsApp तभी पढ़ता है जब वह पहले से काम कर रहा हो। अगर वह खाली बैठा हो और आप उसे लिखें, तो आपका संदेश इंतज़ार करता है।

zapbip कनेक्टर इसे ठीक करता है। यह एक छोटा प्रोग्राम है जो आपके कंप्यूटर पर खुला रहता है। जब आप WhatsApp पर लिखते हैं, तो यह उस AI सेशन को जगाता है जिसे आप पहले से इस्तेमाल कर रहे थे, उसे आपका संदेश देता है और उसे आपको जवाब देने देता है। Claude Code के लिए इसमें करीब 7 सेकंड लगते हैं और Codex के लिए 6।

यह Claude Code और Codex के साथ काम करता है। आपका कंप्यूटर चालू और जागा हुआ होना चाहिए, और कनेक्टर चल रहा होना चाहिए।

## कमांड

| कमांड | क्या करता है |
| - | - |
| `connect` | आपके लिखने पर बंद सेशन को जगाता है। `--client`, `--cwd` और `--session` लेता है। |
| `listen` | हर संदेश पर एक JSON लाइन प्रिंट करता है, उस एजेंट के लिए जो बैकग्राउंड कमांड देखता है। |
| `channel` | एक लोकल MCP चैनल चलाता है जो हर संदेश को खुले Claude Code सेशन में डालता है। |

`ZAPBIP_CONNECTION_URL` में कनेक्शन लिंक होता है। अगर यह सेट न हो, तो `connect` और `listen` इसे माँगते हैं।

## आपको क्या चाहिए

* Claude Code या Codex, जो पहले से zapbip से जुड़ा हो।
* उस फ़ोल्डर में कम से कम एक पुराना सेशन जिसमें आप AI से काम करवाना चाहते हैं।
* Node 24 या नया।
* आपका कनेक्शन लिंक, वही `https://.../c/<secret>/mcp` लिंक जिससे आपका AI zapbip से बात करता है। इसे पासवर्ड की तरह संभालें।

## इसे शुरू करें

जिस फ़ोल्डर में आप अपना AI इस्तेमाल करते हैं, उसमें एक टर्मिनल खोलें और इनमें से एक चलाएँ:

```bash theme={null}
export ZAPBIP_CONNECTION_URL='https://<host>/c/<secret>/mcp'
npx zapbip@0.1.0 connect --client claude-code
```

```bash theme={null}
export ZAPBIP_CONNECTION_URL='https://<host>/c/<secret>/mcp'
npx zapbip@0.1.0 connect --client codex
```

अगर आप `ZAPBIP_CONNECTION_URL` सेट नहीं करते, तो कनेक्टर लिंक माँगता है। यह लिंक को कभी आर्गुमेंट के रूप में नहीं लेता, क्योंकि आर्गुमेंट आपकी shell history और प्रोसेस लिस्ट में दिख जाते हैं।

टर्मिनल खुला रहने दें। कनेक्टर हर इवेंट पर एक लाइन प्रिंट करता है और `Ctrl+C` दबाने पर रुक जाता है। इसे बिना टर्मिनल के चलाए रखने के लिए [इसे बैकग्राउंड में चलाएँ](https://docs.zapbip.com/hi/developers/background-running.md) देखें।

## जब आप लिखते हैं तो क्या होता है

1. आप WhatsApp पर अपने AI को लिखते हैं।
2. कनेक्टर को आपका संदेश मिलता है और वह फ़ोल्डर का सबसे नया सेशन जगाता है।
3. AI आपका संदेश पढ़ता है और आपको WhatsApp पर जवाब देता है।
4. अगर कई संदेश एक साथ आएँ, तो उन्हें क्रम से, एक-एक करके संभाला जाता है।

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

## सेशन चुनें

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

```bash theme={null}
npx zapbip@0.1.0 connect --client claude-code --session <session-id>
```

| विकल्प | क्या करता है |
| - | - |
| `--client` | `claude-code` या `codex`। ज़रूरी है। |
| `--cwd` | काम करने का फ़ोल्डर। डिफ़ॉल्ट वह फ़ोल्डर है जिसमें आपने कमांड चलाई। |
| `--session` | सबसे नए की बजाय हमेशा फिर से शुरू करने वाले सेशन की id (UUID)। |

## जगाए जाने पर AI क्या कर सकता है

सिर्फ़ एक काम: आपको वापस एक संदेश भेजना। कनेक्टर AI को एक निजी कॉन्फ़िगरेशन देता है जिसमें सिर्फ़ zapbip होता है, इसलिए आपके दूसरे MCP सर्वरों के टूल उसे उपलब्ध नहीं होते। Claude Code आपकी सेटिंग्स फ़ाइलों के बिना और हर बिल्ट-इन टूल बंद करके भी चलता है, और Codex एक read-only sandbox के साथ चलता है, और आपकी Codex कॉन्फ़िगरेशन फ़ाइलों में मिलने वाले दूसरे MCP सर्वर बंद रहते हैं। अगर वह इनमें से कोई फ़ाइल नहीं पढ़ पाता, तो Codex को नहीं जगाता और संदेश बिना पढ़ा छोड़ देता है। वह तब भी मना कर देता है जब कोई managed Codex फ़ाइल कुछ हानिरहित कुंजियों की छोटी सूची के बाहर की कोई कुंजी सेट करे, जब कोई प्रोफ़ाइल sandbox, approval, tools या features (या उस सूची के बाहर की कोई कुंजी) सेट करे, जब कोई फ़ाइल वेब सर्च का स्विच चालू करे, या जब `zapbip` आपके Codex होम की `config.toml` के अलावा कहीं और परिभाषित हो। Codex की वेब सर्च बंद रहती है। Codex के लिए बचते हैं `send_message` और एक read-only shell; आपके Codex अकाउंट के ऐप और कनेक्टर बंद नहीं होते, और macOS की managed preferences `com.openai.codex` और Claude Code की managed policy सेटिंग्स लागू रहती हैं। आपका संदेश उस तक आपके संदेश के रूप में, वेरिफ़ाइड मार्क के साथ पहुँचता है। किसी और का जो संदेश आप फ़ॉरवर्ड करते हैं, वह बिना वेरिफ़ाइड मार्क के, फ़ॉरवर्ड वाले लेबल के साथ पहुँचता है, और AI उसे आपका निर्देश नहीं मानता।

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

## खुले सेशन को सुनता रखें

`connect` बंद सेशन को जगाता है। अभी खुले सेशन के लिए Claude Code आपकी बात तुरंत सुन सकता है, बिना वेक और बिना इंतज़ार के। इसके दो तरीके हैं, और पहला बेहतर है।

चैनल पहली पसंद है। यह एक छोटा प्रोग्राम है जिसे Claude Code खुद शुरू करता है, ठीक वैसे ही जैसे वह कोई और टूल शुरू करता है। यह WhatsApp पर लिखा आपका हर संदेश सीधे खुले सेशन में डालता है, आपके संदेश के रूप में, वेरिफ़ाइड मार्क के साथ (फ़ॉरवर्ड किया गया संदेश बिना वेरिफ़ाइड मार्क के आता है)। जिस एनवायरनमेंट में Claude Code चलता है, उसमें `ZAPBIP_CONNECTION_URL` सेट करें, और Claude Code इसे इससे शुरू करता है:

```bash theme={null}
npx zapbip@0.1.0 channel
```

चैनल आपसे लिंक नहीं माँग सकता, इसलिए वह इसे सिर्फ़ `ZAPBIP_CONNECTION_URL` से पढ़ता है। यह कोई आर्गुमेंट नहीं लेता।

दोनों सर्वर उस फ़ोल्डर की `.mcp.json` में घोषित करें जिसमें आप काम करते हैं। चैनल आपके संदेश अंदर लाता है; zapbip का HTTP सर्वर, दूसरी कुंजी के तहत, सेशन को `send_message` टूल देता है जिससे वह जवाब देता है:

```json theme={null}
{
  "mcpServers": {
    "zapbip-channel": {
      "command": "npx",
      "args": ["zapbip@0.1.0", "channel"],
      "env": { "ZAPBIP_CONNECTION_URL": "https://<host>/c/<secret>/mcp" }
    },
    "zapbip": {
      "type": "http",
      "url": "https://<host>/c/<secret>/mcp"
    }
  }
}
```

सेशन `zapbip` के ज़रिए जवाब देता है। इसके बिना सेशन आपकी बात सुनता है पर जवाब देने का कोई तरीका नहीं होता। फिर Claude Code को इससे शुरू करें:

```bash theme={null}
claude --dangerously-load-development-channels server:zapbip-channel
```

`.mcp.json` में चैनल सर्वर की कुंजी `zapbip` है। शुरुआत वाली लाइन में `Channels (experimental)` दिखता है। Claude Code आपसे development channel और प्रोजेक्ट का MCP सर्वर स्वीकार करने को कहता है; दोनों स्वीकार करें।

लिसनर बैकअप है। यह आपके लिखे हर संदेश पर एक लाइन प्रिंट करता है, और Claude Code अपने Monitor टूल से इन लाइनों पर नज़र रखता है। हर लाइन खुले सेशन को जगाती है, और आपके चुप रहने पर कुछ खर्च नहीं होता:

```bash theme={null}
export ZAPBIP_CONNECTION_URL='https://<host>/c/<secret>/mcp'
npx zapbip@0.1.0 listen
```

हर लाइन एक JSON है जिसमें संदेश की id, उसका प्रकार, `"sender":"owner"`, `"verified"` (आपके अपने संदेश के लिए `true`, फ़ॉरवर्ड किए गए के लिए `false`), `"forwarded"` और टेक्स्ट होता है। Monitor की एक निगरानी 30 मिनट तक चलती है, इसलिए हर बार एक खत्म होने पर AI निगरानी फिर से शुरू करता है। दूसरे एजेंट जो कोई बैकग्राउंड कमांड चलाए रख सकते हैं और उसके आउटपुट पर प्रतिक्रिया दे सकते हैं, जैसे OpenClaw और Hermes, वे भी `npx zapbip@0.1.0 listen` को इसी तरह इस्तेमाल कर सकते हैं।

दोनों प्रोग्राम खुले रहते हैं और `connect` की तरह खुद फिर से जुड़ जाते हैं। दोनों किसी संदेश को आगे भेजने के बाद ही उसे संभाला हुआ मार्क करते हैं, इसलिए कोई संदेश न कभी खोता है न दो बार दिखता है। उनके लॉग error output में जाते हैं और उनमें कभी आपके संदेश या आपका लिंक नहीं होता।

तो तीनों तरीके ऐसे मिलकर काम करते हैं: खुले सेशन के लिए चैनल, उसके बैकअप के रूप में `listen`, और बंद सेशन के लिए `connect`।

## हर कनेक्शन पर एक कनेक्टर

अगर आप उसी कनेक्शन के लिए दूसरा कनेक्टर शुरू करते हैं, तो पहला अपना चल रहा वेक पूरा करके रुक जाता है। इसे एक समय में एक ही कंप्यूटर पर चलाएँ। अगर ठीक बदलने के समय कोई संदेश आए, तो दोनों कनेक्टर उसी संदेश के लिए आपके AI को एक-एक बार जगा सकते हैं; zapbip कम से कम एक बार डिलीवर करता है, शून्य बार कभी नहीं।

जब तक कोई कनेक्टर जुड़ा है, zapbip आपके AI को उसी से जगाता है। उसके बंद होने पर zapbip आपकी पहले वाली सेटिंग पर लौट जाता है।

## यह क्या प्रिंट करता है

हर लाइन एक JSON है जिसमें समय और एक इवेंट होता है, जैसे `wake_started` और `wake_finished`। लाइनों में id, प्रकार, नतीजे और समय होते हैं। उनमें कभी आपके संदेश, AI के जवाब या आपका कनेक्शन लिंक नहीं होता।

## जब कुछ काम न करे

| आपको क्या दिखता है | इसका मतलब |
| - | - |
| कनेक्टर तुरंत बंद हो जाता है | लिंक पहचाना नहीं गया या रद्द हो चुका है। नया लिंक माँगें। |
| आपके संदेश का कोई जवाब नहीं आता | फ़ोल्डर में अभी कोई सेशन नहीं है, या जहाँ कनेक्टर चलता है वहाँ `claude` या `codex` इंस्टॉल नहीं है। उस फ़ोल्डर में एक बार AI खोलें। |
| यह बार-बार फिर से जुड़ता रहता है | आपका नेटवर्क बंद है। यह बढ़ते इंतज़ार के साथ, 30 सेकंड तक, दोबारा कोशिश करता है, और जहाँ छोड़ा था वहीं से शुरू करता है। |
| यह अपने आप रुक गया | आपने उसी कनेक्शन के लिए दूसरा कनेक्टर शुरू कर दिया। |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.