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

कमांड

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

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

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

इसे शुरू करें

जिस फ़ोल्डर में आप अपना AI इस्तेमाल करते हैं, उसमें एक टर्मिनल खोलें और इनमें से एक चलाएँ:
अगर आप ZAPBIP_CONNECTION_URL सेट नहीं करते, तो कनेक्टर लिंक माँगता है। यह लिंक को कभी आर्गुमेंट के रूप में नहीं लेता, क्योंकि आर्गुमेंट आपकी shell history और प्रोसेस लिस्ट में दिख जाते हैं। टर्मिनल खुला रहने दें। कनेक्टर हर इवेंट पर एक लाइन प्रिंट करता है और Ctrl+C दबाने पर रुक जाता है। इसे बिना टर्मिनल के चलाए रखने के लिए इसे बैकग्राउंड में चलाएँ देखें।

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

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

सेशन चुनें

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

जगाए जाने पर 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 इसे इससे शुरू करता है:
चैनल आपसे लिंक नहीं माँग सकता, इसलिए वह इसे सिर्फ़ ZAPBIP_CONNECTION_URL से पढ़ता है। यह कोई आर्गुमेंट नहीं लेता। दोनों सर्वर उस फ़ोल्डर की .mcp.json में घोषित करें जिसमें आप काम करते हैं। चैनल आपके संदेश अंदर लाता है; zapbip का HTTP सर्वर, दूसरी कुंजी के तहत, सेशन को send_message टूल देता है जिससे वह जवाब देता है:
सेशन zapbip के ज़रिए जवाब देता है। इसके बिना सेशन आपकी बात सुनता है पर जवाब देने का कोई तरीका नहीं होता। फिर Claude Code को इससे शुरू करें:
.mcp.json में चैनल सर्वर की कुंजी zapbip है। शुरुआत वाली लाइन में Channels (experimental) दिखता है। Claude Code आपसे development channel और प्रोजेक्ट का MCP सर्वर स्वीकार करने को कहता है; दोनों स्वीकार करें। लिसनर बैकअप है। यह आपके लिखे हर संदेश पर एक लाइन प्रिंट करता है, और Claude Code अपने Monitor टूल से इन लाइनों पर नज़र रखता है। हर लाइन खुले सेशन को जगाती है, और आपके चुप रहने पर कुछ खर्च नहीं होता:
हर लाइन एक 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 के जवाब या आपका कनेक्शन लिंक नहीं होता।

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