Serein
Rust로 만든 가볍고 성능 좋은 Discord 전용 네이티브 클라이언트
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
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, ההרצה המקומית רק תחכה לתורה, כי הנעילה לא תיתן לשתי הרצות להתחבר במקביל.