尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
אתר שסורק אתרי חדשות ישראליים דרך RSS, מזהה אירועים שמסוקרים ביותר ממקור אחד ומציג כל אירוע ככרטיס. הזיהוי הסמנטי רץ מקומית, בלי מפתחות API ובלי עלות שוטפת. האתר מציג כותרות וקישורים בלבד ולא מעתיק כתבות. צריך Node.js בגרסה 20 ומעלה. בהרצה הראשונה המודל multilingual-e5-small (כ-130MB) יורד פעם אחת לתיקייה models/. מאותו רגע הוא רץ בלי אינטרנט. פותחים את http://localhost:3000. הסריקה הראשונה מתחילה מיד ולוקחת כחצי דקה. הדף מתעדכן לבד כל 30 שניות.查看完整 README ↗
אתר שסורק אתרי חדשות ישראליים דרך RSS, מזהה אירועים שמסוקרים ביותר ממקור אחד ומציג כל אירוע ככרטיס. הזיהוי הסמנטי רץ מקומית, בלי מפתחות API ובלי עלות שוטפת. האתר מציג כותרות וקישורים בלבד ולא מעתיק כתבות.
צריך Node.js בגרסה 20 ומעלה.
cd israel-news
npm install
בהרצה הראשונה המודל multilingual-e5-small (כ-130MB) יורד פעם אחת לתיקייה models/. מאותו רגע הוא רץ בלי אינטרנט.
npm start
פותחים את http://localhost:3000. הסריקה הראשונה מתחילה מיד ולוקחת כחצי דקה. הדף מתעדכן לבד כל 30 שניות.
npm test: בדיקות יחידה, וגם בדיקות סמנטיות על כותרות אמיתיות מהפידים.npm run eval: דוח דיוק מלא של זיהוי האירועים (עם VERBOSE=1 הוא מפרט כל טעות).http://localhost:3000/#/status: מצב כל מקור, כולל שגיאות.כך האתר מתעדכן כל הזמן, גם כשהמחשב כבוי:
.github/workflows/scan.yml: ריצה אחת ארוכה (כ-5.5 שעות) שסורקת כל 3 דקות (scripts/scan-loop.js) ומפרסמת אחרי כל סריקה. בסופה היא מפעילה בעצמה את הריצה הבאה. ה-cron של GitHub הוא רק גיבוי, כי הוא לא אמין. המצב נשמר בענף data: אירועים, ETag, וקבצי events.json ו-status.json..github/workflows/pages.yml: מפרסם את public/ ל-GitHub Pages. בכל פתיחה הדף קורא את events.json העדכני מהענף data.הגדרה חד-פעמית:
הערות:
npm start עדיין עובד מקומית כמו קודם, לפיתוח.config.json)כל ההגדרות נמצאות בקובץ אחד. אחרי שינוי מפעילים את השרת מחדש.
| הגדרה | ברירת מחדל | משמעות |
|---|---|---|
minSources | 2 | כמה מקורות שונים צריכים לסקר סיפור כדי שייחשב אירוע. שתי כתבות מאותו אתר לא נחשבות. |
similarityThreshold | 0.89 | מאיזה דמיון (0 עד 1) שתי כותרות בעברית נחשבות אותו אירוע. ערך גבוה יותר נותן פחות מיזוגים שגויים, וגם יותר פספוסים. |
crossLanguageThreshold | 0.84 | אותו דבר, לזוג כותרות בעברית ובאנגלית (Jerusalem Post). |
scanIntervalMinutes | 10 | כל כמה דקות סורקים. |
maxEvents | 10 | כמה אירועים מוצגים לכל היותר. |
eventMergeThreshold | 0.875 | אירועים שכבר קיימים מתאחדים אם הדמיון הממוצע ביניהם עובר את הערך הזה, ולפחות זוג כותרות אחד עובר את similarityThreshold. זה מונע כרטיסים כפולים על אותו סיפור. |
noSharedNamePenalty | 0.01 | שתי כותרות בעברית בלי אף מילה נדירה משותפת (שם, חברה, מקום) צריכות להיות דומות יותר בערך הזה כדי להתאחד. מונע איחוד של סיפורים שרק נשמעים דומים. |
storyMergeThreshold | 0.865 | שני אירועים שיש להם מילת מפתח משותפת (מילה שמופיעה בלפחות שתיים ומחצית מהכותרות של כל אחד, למשל "פליי דובאי") מתאחדים כבר מדמיון ממוצע כזה. מאחד זוויות שונות של אותה פרשה. 0 מכבה. |
showPhotos | false | הצגת תמונות מהפידים של האתרים. כבוי בכוונה: צילומי עיתונות מוגנים בזכויות יוצרים ולרוב מורשים לאתר עצמו בלבד. להדליק רק אחרי אישור בכתב מהאתרים. |
leadMinSources / leadHoldMinutes | 3 / 120 | אירוע שמסוקר בלפחות כך וכך אתרים הופך ל"סיפור המרכזי": הוא מוצג ראשון במשך כך וכך דקות מהרגע שהגיע לסף, ולא נדחק מהרשימה בזמן הזה. אם יש כמה כאלה, מוביל זה שמסוקר ביותר אתרים. 0 מכבה. |
singleSourceFallbackMinutes | 10 | אם במשך כך וכך דקות לא זוהה אירוע ממספר מקורות, נוסף הסיפור "החם" ביותר ממקור אחד, מסומן "חם · מקור אחד". כשאתר נוסף מסקר אותו, הוא הופך לאירוע רגיל. 0 מכבה. |
כשיתווספו מקורות, משנים ב-config.json:
"minSources": 3,
ומפעילים מחדש (npm start). אירועים שכבר זוהו נשארים, והחדשים יצטרכו 3 מקורות.
כדי לבדוק ערך בלי לשנות את הקובץ:
THRESHOLD=0.88 npm run eval
מה בודקים בפלט: "different-event kept apart" (כמה מיזוגים שגויים נמנעו) מול "same-event found" (כמה התאמות נכונות נמצאו).
robots.txt לא אוסר עליו.sources ב-config.json:{
"id": "newsite",
"name": "שם האתר",
"color": "#8a2be2",
"enabled": true,
"feeds": ["https://example.co.il/rss.xml"],
"includeUrlPatterns": ["example\\.co\\.il/news/"],
"excludeUrlPatterns": ["/opinion/"],
"excludeTitlePatterns": ["ממומן"],
"dateLabelIsLocalTime": false
}
feeds: אפשר לתת כמה פידים, והם ייחשבו מקור אחד (כמו אצל גלובס).breakingFeeds: פיד המבזקים של האתר, אם יש לו. כתבה משם נחשבת "חמה" יותר.hot: עם false המקור לא יופיע לבד ככרטיס "חם · מקור אחד" (כך אצל כיכר השבת). הוא עדיין מצטרף לאירועים שמסוקרים במקורות נוספים.includeUrlPatterns ו-excludeUrlPatterns: ביטויים רגולריים על הקישור, לסינון מדורים שאינם חדשות (ספורט, לייף סטייל, דעות). אם אין include, כל הקישורים נכנסים חוץ מה-exclude.dateLabelIsLocalTime: מסמנים true אם הפיד כותב "GMT" אבל בפועל נותן שעון ישראל (כך אצל וואלה ו-JPost). כדי לבדוק, משווים את זמן הפריט בפיד לזמן שמופיע בכתבה עצמה."enabled": false.src/feeds.js): כל 3 דקות, בזה אחר זה, עם הפסקה של 1.5 שניות בין בקשות. נשלח User-Agent מזוהה ונכבדים ETag ו-If-Modified-Since. מקור שנכשל ממשיך לרוץ בלי להפריע לאחרים, השגיאה נרשמת ב-data/errors.log, והמקור מקבל השהיה הולכת וגדלה עד 30 דקות.src/filters.js): ממומן, חידונים, הורוסקופים ומדורים שאינם חדשות.src/dates.js): הכל ל-UTC. זמנים עתידיים מוחלפים בזמן ההורדה.src/text.js): הסרת "בלעדי:", "| צפו", פיסוק ומירכאות. ראשי תיבות כמו צה"ל נשמרים.src/embedder.js): המודל intfloat/multilingual-e5-small בגרסת ONNX מכווצת (int8), דרך transformers.js.src/events.js): כותרת חדשה מצטרפת לאירוע קיים אם הדמיון הממוצע שלה לכתבות שבו עובר את הסף. כותרות שלא הצטרפו לשום אירוע מקובצות ביניהן בשיטת average-linkage, שמונעת "שרשור" של סיפורים לא קשורים. אשכול הופך לאירוע רק כשיש בו minSources אתרים שונים.המצב נשמר ב-data/state.json, כך שאחרי הפעלה מחדש זמני הזיהוי נשמרים.
פעילים: ynet (כולל מבזקים), ישראל היום, מעריב (כולל מבזקים), הארץ, TheMarker, גלובס, סרוגים, ערוץ 7, כיכר השבת (בלי כרטיסים חמים). Jerusalem Post כבוי.
דולגו:
robots.txt שלו אוסר גישה ל-/feed/.כתבות ספורט מגיעות מפידי הספורט של האתרים (sportFeeds במקור, או sportUrlPatterns כשהן מגיעות בתוך הפיד הכללי) ומוצגות רק במדור "ספורט". הן לא משתתפות בזיהוי האירועים של העמוד הראשי. מקורות: ynet ספורט, ישראל היום ספורט ו-ONE. הפידים של מעריב ספורט קיימים אבל לא מתעדכנים מאז 2025; לספורט 5, ספורט 1 ו-וואלה ספורט אין פיד.
המדור "בחירות 2026" מציג את סקר המנדטים האחרון של כל ערוץ (חדשות 12, רשת 13, כאן 11, ערוץ 14, i24NEWS), ממוצע לכל מפלגה ותחזית (מי המפלגה הגדולה ובכמה).
הנתונים נקראים מטבלת הסקרים בוויקיפדיה דרך ה-API הפתוח שלה (src/elections.js), כל כמה שעות, ונשמרים ב-elections.json בענף data.
הממוצע מחושב בקוד; את נוסח התחזית כותב המודל מתוך המספרים בלבד (וכל מספר בטקסט נבדק מול הנתונים).
מיום שישי שלפני הבחירות ועד סגירת הקלפיות החוק אוסר לפרסם סקרים, ולכן בימים האלה הקובץ לא מכיל מספרים והמדור מציג הודעה.
articleMaxAgeHours |
24 |
| כתבות ישנות יותר מזה לא נכנסות לזיהוי. |