AI WhatsApp agent that joins your groups and replies to messages
AI summary · website content
SocialJavaScript · HTMLGitHub @oribasson25OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗מערכת שמחברת מספר וואטסאפ ייעודי ל-Claude. מצרפים את המספר לקבוצה כמו כל חבר, והוא קורא את השיחה ומגיב לפי ההגדרות שקובעים בדשבורד. רצה כולה על Vercel.
KV_REST_API_URL ו-KV_REST_API_TOKEN.DASHBOARD_PASSWORD: הסיסמה לדשבורד. חובה, בלעדיה הדשבורד לא נפתח.CRON_SECRET: מחרוזת אקראית ארוכה. מגינה על הפונקציה שמחזיקה את החיבור.ANTHROPIC_API_KEY: אופציונלי, אפשר גם להדביק בדשבורד.בלי ייבוא, הסוכן מכיר רק את ההודעות האחרונות שהוא ראה מאז שצורף. הייבוא נותן לו את כל ההיסטוריה של הקבוצה:
את הפרופיל ואת הקטעים אפשר לראות ולתקן ב"צפייה ועריכה". ייבוא חדש מחליף את הקודם. בשיחה ארוכה מאוד הסוכן לומד מ-40 החלקים האחרונים (בערך 100 אלף הודעות). צריך להשאיר את הדף פתוח עד שהקריאה של החלקים נגמרת.
וואטסאפ דורש חיבור פתוח כל הזמן, ופונקציה ב-Vercel יכולה לרוץ עד 800 שניות. לכן:
api/worker.js מחזיק את החיבור כ-12 דקות, ואז מסיים את התגובות הפתוחות, שומר את מפתחות החיבור ב-Redis ומפעיל את ההרצה הבאה. הודעות שמגיעות בשניות של ההחלפה נשמרות אצל וואטסאפ ומגיעות לחיבור הבא.api/worker.js כל דקה, כגיבוי: אם השרשרת נשברה, החיבור חוזר תוך דקה-שתיים.api/app.js הוא ה-API של הדשבורד (/api/v1/*), והדף עצמו מוגש מ-public/.| מצב | מה קורה |
|---|---|
| כבוי | קורא ושומר הודעות, לא כותב |
| רק כשפונים אליו (ברירת מחדל לקבוצות) | מתייגים אותו, קוראים לו בשם/מילת קריאה, או עונים להודעה שלו |
| מחליט לבד | קורא הכל ומחליט מתי להשתתף, לפי "רמת מעורבות" |
| מגיב לכל הודעה | מגיב על כל רצף הודעות |
הסוכן יכול לענות (גם בציטוט), להגיב באימוג׳י, או לשתוק. רצף הודעות מהיר נאסף לתגובה אחת. בשעות שקט הוא עונה רק כשפונים אליו, ויש מגבלת פעולות בשעה לכל שיחה. במצב "מחליט לבד" יש גם מגבלות קשיחות על תגובות שאף אחד לא ביקש: כמה בשעה, וכמה הודעות של אחרים צריכות לעבור בין אחת לבאה. ההנחיות שכותבים בדשבורד גוברות על כל שאר ההגדרות ועל הסגנון שנלמד מייבוא צ׳אט.
src/worker.js: הרצה אחת של החיבור (נעילה, פקודות מהדשבורד, החלפה מסודרת)src/whatsapp.js: חיבור כמכשיר מקושר דרך Baileyssrc/auth-state.js: מפתחות החיבור לוואטסאפ ב-Redissrc/router.js: שמירת הודעות, החלטה מתי לענות, איחוד רצפיםsrc/agent.js: הפרומפט והקריאה ל-Claude (JSON: reply / react / silent)src/knowledge.js + public/chat-export.js: ייבוא צ׳אט ובניית הפרופיל של הקבוצהsrc/db.js, src/redis.js: אחסון ב-Upstash Redissrc/control.js: תיאום בין הדשבורד להרצה שמחזיקה את החיבורsrc/app.js + public/: הדשבורדiad1 (מזרח ארה"ב), מהזולים, כך שזה אמור להיכנס בערך בקרדיט.npm install
npm start
בלי משתני Upstash הכל נשמר בזיכרון ונמחק בכל הפעלה. כדי לעבוד מול אותו מסד נתונים של Vercel: vercel env pull .env. אם הסוכן כבר מחובר ב-Vercel, ההרצה המקומית רק תחכה לתורה, כי הנעילה לא תיתן לשתי הרצות להתחבר במקביל.