שיתוף | כרטיסיה שתסכם ותתמצת לכם את השרשור במתמחים טופ!
-
@יצחקיי
טוב.
אז נחליט שזה יעיל@חיים5299173 עשו משהו דומה כאן: https://mitmachim.top/topic/84593/שיתוף-אתר-מבזקים-מידיים-באמצעות-ai
-
היי חברים.
עלה לי רעיון למשהו שיכול להיות מאוד מאוד יעיל למשתמשי הפורום. לא משהו מסובך מידי לבניה (לעניות דעתי הרחבה).
אני לא מבין בזה דבר וחצי דבר, אבל אשמח שאחד מהמומחים פה ירים את הכפפה (תתייגו אותם [רואים? אפילו את זה אני לא יכול לעשות לבד...]), אני רק זורק את הרעיון באוויר.
לייצר סקריפט JavaScript שניתן לשמור כסימניה (Bookmarklet) בדפדפן כרום, וללחוץ עליו בזמן גלישה בשרשור באתר, כדי לסכם ולתמצת את השרשור - באמצעות AI.
משהו שייראה ככה
שיהיה בנוי כך:
--- סיכום הבעיה ---
-
הבעיה המרכזית היא ...
-
קשיים עיקריים: ...
--- הפתרונות המוצעים ---
-
פתרון א': ...
-
פתרון ב': ...
-
פתרון ג': ...
עריכה:
הסקריפט נוצר!
שכוייח ל @יוסי-רחמים שיצר והתאים את הסקריפט לתועלת כולנו!
@חיים5299173 כתב בהצעת ייעול | (מי יכול לפתח?) כרטיסיה שתסכם ותתמצת לכם את השרשור במתמחים טופ!:
היי חברים.
עלה לי רעיון למשהו שיכול להיות מאוד מאוד יעיל למשתמשי הפורום. לא משהו מסובך מידי לבניה (לעניות דעתי הרחבה).
אני לא מבין בזה דבר וחצי דבר, אבל אשמח שאחד מהמומחים פה ירים את הכפפה (תתייגו אותם [רואים? אפילו את זה אני לא יכול לעשות לבד...]), אני רק זורק את הרעיון באוויר.
לייצר סקריפט JavaScript שניתן לשמור כסימניה (Bookmarklet) בדפדפן כרום, וללחוץ עליו בזמן גלישה בשרשור באתר, כדי לסכם ולתמצת את השרשור - באמצעות AI.
משהו שייראה ככה
שיהיה בנוי כך:
--- סיכום הבעיה ---
-
הבעיה המרכזית היא ...
-
קשיים עיקריים: ...
--- הפתרונות המוצעים ---
-
פתרון א': ...
-
פתרון ב': ...
-
פתרון ג': ...
אין לי מושג איך והאם זה ריאלי, אבל שוב אשמח שתתייגו את החבר'ה הרלוונטיים.
שכוייח!הכלי כבר קיים בשרשור הזה בו איגדתי סימניות חכמות רבות, הסימנייה האחרונה - סימנייה מוצלחת שהכין @יוסי-רחמים
הנה צילום מסך מסיכום מדהים של השרשור הזה:
-
-
@חיים5299173 כתב בהצעת ייעול | (מי יכול לפתח?) כרטיסיה שתסכם ותתמצת לכם את השרשור במתמחים טופ!:
היי חברים.
עלה לי רעיון למשהו שיכול להיות מאוד מאוד יעיל למשתמשי הפורום. לא משהו מסובך מידי לבניה (לעניות דעתי הרחבה).
אני לא מבין בזה דבר וחצי דבר, אבל אשמח שאחד מהמומחים פה ירים את הכפפה (תתייגו אותם [רואים? אפילו את זה אני לא יכול לעשות לבד...]), אני רק זורק את הרעיון באוויר.
לייצר סקריפט JavaScript שניתן לשמור כסימניה (Bookmarklet) בדפדפן כרום, וללחוץ עליו בזמן גלישה בשרשור באתר, כדי לסכם ולתמצת את השרשור - באמצעות AI.
משהו שייראה ככה
שיהיה בנוי כך:
--- סיכום הבעיה ---
-
הבעיה המרכזית היא ...
-
קשיים עיקריים: ...
--- הפתרונות המוצעים ---
-
פתרון א': ...
-
פתרון ב': ...
-
פתרון ג': ...
אין לי מושג איך והאם זה ריאלי, אבל שוב אשמח שתתייגו את החבר'ה הרלוונטיים.
שכוייח!הכלי כבר קיים בשרשור הזה בו איגדתי סימניות חכמות רבות, הסימנייה האחרונה - סימנייה מוצלחת שהכין @יוסי-רחמים
הנה צילום מסך מסיכום מדהים של השרשור הזה:
@I-believe וואוווו
-
-
@חיים5299173 כתב בהצעת ייעול | (מי יכול לפתח?) כרטיסיה שתסכם ותתמצת לכם את השרשור במתמחים טופ!:
היי חברים.
עלה לי רעיון למשהו שיכול להיות מאוד מאוד יעיל למשתמשי הפורום. לא משהו מסובך מידי לבניה (לעניות דעתי הרחבה).
אני לא מבין בזה דבר וחצי דבר, אבל אשמח שאחד מהמומחים פה ירים את הכפפה (תתייגו אותם [רואים? אפילו את זה אני לא יכול לעשות לבד...]), אני רק זורק את הרעיון באוויר.
לייצר סקריפט JavaScript שניתן לשמור כסימניה (Bookmarklet) בדפדפן כרום, וללחוץ עליו בזמן גלישה בשרשור באתר, כדי לסכם ולתמצת את השרשור - באמצעות AI.
משהו שייראה ככה
שיהיה בנוי כך:
--- סיכום הבעיה ---
-
הבעיה המרכזית היא ...
-
קשיים עיקריים: ...
--- הפתרונות המוצעים ---
-
פתרון א': ...
-
פתרון ב': ...
-
פתרון ג': ...
אין לי מושג איך והאם זה ריאלי, אבל שוב אשמח שתתייגו את החבר'ה הרלוונטיים.
שכוייח!הכלי כבר קיים בשרשור הזה בו איגדתי סימניות חכמות רבות, הסימנייה האחרונה - סימנייה מוצלחת שהכין @יוסי-רחמים
הנה צילום מסך מסיכום מדהים של השרשור הזה:
@I-believe
א. נכון, ממש מדהים. עובד מצויין.
אם היה למישהו כח (אולי למי שפיתח את הקוד הנ"ל), לדייק אותו יותר ספציפית על "בעיה" ו"פתרון". שינסה להבין ולשלוף מהשרשור את הבעיה ואת הפתרון.אבל בכללות, זה כלי מצויין.
-
-
-
-
@I-believe
א. נכון, ממש מדהים. עובד מצויין.
אם היה למישהו כח (אולי למי שפיתח את הקוד הנ"ל), לדייק אותו יותר ספציפית על "בעיה" ו"פתרון". שינסה להבין ולשלוף מהשרשור את הבעיה ואת הפתרון.אבל בכללות, זה כלי מצויין.
@חיים5299173 כתב בהצעת ייעול | (מי יכול לפתח?) כרטיסיה שתסכם ותתמצת לכם את השרשור במתמחים טופ!:
אולי למי שפיתח את הקוד הנ"ל
אנסה אולי בהמשך...
-
@פנסאים כתב בהצעת ייעול | (מי יכול לפתח?) כרטיסיה שתסכם ותתמצת לכם את השרשור במתמחים טופ!:
זה מבוסס AI?
0
לפני 10 שעות
כן
-
היי חברים.
עלה לי רעיון למשהו שיכול להיות מאוד מאוד יעיל למשתמשי הפורום. לא משהו מסובך מידי לבניה (לעניות דעתי הרחבה).
אני לא מבין בזה דבר וחצי דבר, אבל אשמח שאחד מהמומחים פה ירים את הכפפה (תתייגו אותם [רואים? אפילו את זה אני לא יכול לעשות לבד...]), אני רק זורק את הרעיון באוויר.
לייצר סקריפט JavaScript שניתן לשמור כסימניה (Bookmarklet) בדפדפן כרום, וללחוץ עליו בזמן גלישה בשרשור באתר, כדי לסכם ולתמצת את השרשור - באמצעות AI.
משהו שייראה ככה
שיהיה בנוי כך:
--- סיכום הבעיה ---
-
הבעיה המרכזית היא ...
-
קשיים עיקריים: ...
--- הפתרונות המוצעים ---
-
פתרון א': ...
-
פתרון ב': ...
-
פתרון ג': ...
עריכה:
הסקריפט נוצר!
שכוייח ל @יוסי-רחמים שיצר והתאים את הסקריפט לתועלת כולנו!
@חיים5299173 לדעתי הרעיון ממש מוצלח.
חושבני שיש עוד דבר שבהחלט יכול להועיל בעניין הזה - שלעיתים יוצא שכותבים משהו, ואז מגלים שמישהו כבר כתב את זה. ולפעמים מאוד קשה לקרוא את כל השרשור ולהבין מי אמר מה ומה נאמר כבר ומה לא.
אם יהיה סיכום AI שיכתוב את עיקרי הדברים שנאמרו - זה יכול לחסוך כפילויות. -
-
@חיים5299173 לדעתי הרעיון ממש מוצלח.
חושבני שיש עוד דבר שבהחלט יכול להועיל בעניין הזה - שלעיתים יוצא שכותבים משהו, ואז מגלים שמישהו כבר כתב את זה. ולפעמים מאוד קשה לקרוא את כל השרשור ולהבין מי אמר מה ומה נאמר כבר ומה לא.
אם יהיה סיכום AI שיכתוב את עיקרי הדברים שנאמרו - זה יכול לחסוך כפילויות.@חובבן-מקצועי פשוט צריך לשנות כאן את ההנחיה...
שיניתי את ההנחיה.
javascript:(function(){const showProcessingUI=()=>{const e=document.createElement("style");e.textContent="body{direction:rtl;overflow-y:scroll;}.custom-scroll{position:fixed;top:0;right:0;width:100%;height:100%;overflow-y:auto;background:rgba(255,255,255,0.95);padding-right:15px;}.processing-banner{position:fixed;top:0;right:0;width:100%;background:linear-gradient(135deg,#1e3a8a,#3b82f6);color:white;text-align:center;padding:12px;font-size:18px;font-weight:600;z-index:9999;font-family:'Inter',sans-serif;box-shadow:0 4px 12px rgba(0,0,0,0.3);animation:slideIn 0.4s ease-out;}.progress-container{position:fixed;top:52px;right:0;width:100%;height:6px;background:rgba(255,255,255,0.1);z-index:9998;overflow:hidden;border-radius:6px;}.progress-bar{height:100%;width:0%;background:linear-gradient(90deg,#60a5fa,#3b82f6,#1e40af);background-size:200% 100%;animation:gradientFlow 1.5s linear infinite;transition:width 0.3s ease-in-out;border-radius:6px;box-shadow:0 0 12px rgba(59,130,246,0.6);}.progress-tip{position:fixed;top:64px;right:50%;transform:translateX(50%);color:#000000;font-size:16px;font-weight:800;font-family:'Inter',sans-serif;z-index:9999;text-shadow:0 0 6px #000000;}.popup-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,0.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn 0.3s ease;}.popup{background:#E1F5FE;color:#1f2937;padding:32px;border-radius:24px;box-shadow:0 12px 48px rgba(0,0,0,0.3);max-width:90vw;max-height:85vh;overflow-y:auto;font-family:'Inter',sans-serif;direction:ltr;text-align:right;position:relative;transition:transform 0.3s ease;animation:popupFade 0.4s ease-out;padding-top:60px;}.popup .popup-actions{position:absolute;top:12px;right:12px;display:flex;gap:10px;z-index:2;}.popup .popup-actions button{border:none;background:none;cursor:pointer;font-size:20px;padding:6px;border-radius:8px;transition:background 0.2s ease;}.popup .popup-actions button:hover{background:rgba(0,0,0,0.1);}.popup .popup-actions .close{color:#ef4444;}.popup .popup-actions .copy-btn{color:#3b82f6;}.popup .popup-actions .continue-btn{color:#10B981;}.popup pre.code-snippet{background:#1f1f1f;color:#eee;padding:12px;border-radius:10px;margin:12px 0;overflow-x:auto;direction:ltr;}@keyframes gradientFlow{0%{background-position:0% 50%;}100%{background-position:200% 50%;}}@keyframes slideIn{from{transform:translateY(-100%);opacity:0;}to{transform:translateY(0);opacity:1;}}@keyframes popupFade{from{opacity:0;transform:scale(0.95);}to{opacity:1;transform:scale(1);}}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}",document.head.appendChild(e);const t=document.createElement("div");t.className="processing-banner",t.innerText="מעבד נתונים...",document.body.appendChild(t);const o=document.createElement("div");o.className="progress-container";const n=document.createElement("div");n.className="progress-bar",o.appendChild(n),document.body.appendChild(o);const a=document.createElement("div");a.className="progress-tip",a.innerText="שיפור חווית הקריאה...",document.body.appendChild(a);const i=["מסכם עבורך מידע חשוב...","חושב איך לנסח את זה בצורה נגישה...","עובד על הצגת מידע ברור ותמציתי...","שואל את השאלות הנכונות...","שומר על שפה רהוטה ומקצועית..."];let r=Date.now(),c=setInterval(()=>{let e=Math.min(100,(Date.now()-r)/60);n.style.width=e+"%",e>20&&e<80&&(a.innerText=i[Math.floor(Math.random()*i.length)])},100);return()=>{clearInterval(c),t.remove(),o.remove(),a.remove()}};const showPopup=e=>{const t=document.createElement("div");t.className="popup-overlay";const o=document.createElement("div");o.className="popup";const n=document.createElement("div");n.style.direction="rtl",n.innerHTML=e.replace(/%60%60%60([\s\S]*?)%60%60%60/g,'<pre class="code-snippet">$1</pre>').replace(/%60([^%60]+)%60/g,'<span class="inline-code">$1</span>').replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/\n/g,"<br>").replace(/(<br>){2,}/g,"<br><br>"),o.appendChild(n);const a=document.createElement("div");a.className="popup-actions";const i=document.createElement("button");i.className="close",i.innerHTML="✖",i.title="סגור חלון",i.onclick=()=>document.body.removeChild(t);const r=document.createElement("button");r.className="copy-btn",r.innerHTML="📋",r.title="העתק תוכן",r.onclick=()=>{navigator.clipboard.writeText(n.innerText),r.innerHTML="✅",setTimeout(()=>r.innerHTML="📋",2e3)};const c=document.createElement("button");c.className="continue-btn",c.innerHTML="המשך שיחה⏩",c.title="המשך שיחה",c.onclick=()=>{window.open("https://php-render-test.onrender.com/?conversation="+encodeURIComponent(n.innerText),"_blank")},a.appendChild(c),a.appendChild(r),a.appendChild(i),o.appendChild(a),t.appendChild(o),document.body.appendChild(t),o.focus(),t.addEventListener("keydown",e=>{"Escape"===e.key&&i.click()})};const cleanup=showProcessingUI(),prompt=`בהתבסס על הטקסט מהדף, מלא את התבנית הבאה בצורה ברורה ותמציתית. התמקד בזיהוי הבעיה והפתרונות כפי שהם מוצגים בטקסט.\n\n--- סיכום הבעיה ---\n\nהבעיה המרכזית היא: ...\n\nקשיים עיקריים:\n- ...\n- ...\n\n--- הפתרונות המוצעים ---\n\nפתרון א': ...\n\nפתרון ב': ...\n\nפתרון ג': ...\n\n[טקסט גולמי מתוך הדף:]\n${document.body.innerText}\n[HTML של הדף:]\n${document.body.innerHTML}`;fetch("https://php-render-test.onrender.com/main-ai.php",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:prompt})}).then(e=>e.json()).then(e=>{cleanup(),e&&e.text?showPopup(e.text):showPopup("<b>לא התקבלה תשובה תקינה מהשרת.</b>")}).catch(e=>{cleanup(),console.error(e),showPopup("<b>אירעה שגיאה בתקשורת עם השרת.</b>")})})();
עידכון בעניין הסימנייה
נכון לעכשיו כולם יקבלו שגיאת שרת.זה בגלל שהפכתי את השרת לSTREAMING
-
היי חברים.
עלה לי רעיון למשהו שיכול להיות מאוד מאוד יעיל למשתמשי הפורום. לא משהו מסובך מידי לבניה (לעניות דעתי הרחבה).
אני לא מבין בזה דבר וחצי דבר, אבל אשמח שאחד מהמומחים פה ירים את הכפפה (תתייגו אותם [רואים? אפילו את זה אני לא יכול לעשות לבד...]), אני רק זורק את הרעיון באוויר.
לייצר סקריפט JavaScript שניתן לשמור כסימניה (Bookmarklet) בדפדפן כרום, וללחוץ עליו בזמן גלישה בשרשור באתר, כדי לסכם ולתמצת את השרשור - באמצעות AI.
משהו שייראה ככה
שיהיה בנוי כך:
--- סיכום הבעיה ---
-
הבעיה המרכזית היא ...
-
קשיים עיקריים: ...
--- הפתרונות המוצעים ---
-
פתרון א': ...
-
פתרון ב': ...
-
פתרון ג': ...
עריכה:
הסקריפט נוצר!
שכוייח ל @יוסי-רחמים שיצר והתאים את הסקריפט לתועלת כולנו!
@חיים5299173
נו נו.. פעם אחרונה שביקשתי משהו מעיין זה לא קיבלו זאת..
עיי"כ:
https://mitmachim.top/topic/18430/הצעה-לנקות-אחריכם-לסכם-דיון -
-
@חובבן-מקצועי פשוט צריך לשנות כאן את ההנחיה...
שיניתי את ההנחיה.
javascript:(function(){const showProcessingUI=()=>{const e=document.createElement("style");e.textContent="body{direction:rtl;overflow-y:scroll;}.custom-scroll{position:fixed;top:0;right:0;width:100%;height:100%;overflow-y:auto;background:rgba(255,255,255,0.95);padding-right:15px;}.processing-banner{position:fixed;top:0;right:0;width:100%;background:linear-gradient(135deg,#1e3a8a,#3b82f6);color:white;text-align:center;padding:12px;font-size:18px;font-weight:600;z-index:9999;font-family:'Inter',sans-serif;box-shadow:0 4px 12px rgba(0,0,0,0.3);animation:slideIn 0.4s ease-out;}.progress-container{position:fixed;top:52px;right:0;width:100%;height:6px;background:rgba(255,255,255,0.1);z-index:9998;overflow:hidden;border-radius:6px;}.progress-bar{height:100%;width:0%;background:linear-gradient(90deg,#60a5fa,#3b82f6,#1e40af);background-size:200% 100%;animation:gradientFlow 1.5s linear infinite;transition:width 0.3s ease-in-out;border-radius:6px;box-shadow:0 0 12px rgba(59,130,246,0.6);}.progress-tip{position:fixed;top:64px;right:50%;transform:translateX(50%);color:#000000;font-size:16px;font-weight:800;font-family:'Inter',sans-serif;z-index:9999;text-shadow:0 0 6px #000000;}.popup-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,0.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn 0.3s ease;}.popup{background:#E1F5FE;color:#1f2937;padding:32px;border-radius:24px;box-shadow:0 12px 48px rgba(0,0,0,0.3);max-width:90vw;max-height:85vh;overflow-y:auto;font-family:'Inter',sans-serif;direction:ltr;text-align:right;position:relative;transition:transform 0.3s ease;animation:popupFade 0.4s ease-out;padding-top:60px;}.popup .popup-actions{position:absolute;top:12px;right:12px;display:flex;gap:10px;z-index:2;}.popup .popup-actions button{border:none;background:none;cursor:pointer;font-size:20px;padding:6px;border-radius:8px;transition:background 0.2s ease;}.popup .popup-actions button:hover{background:rgba(0,0,0,0.1);}.popup .popup-actions .close{color:#ef4444;}.popup .popup-actions .copy-btn{color:#3b82f6;}.popup .popup-actions .continue-btn{color:#10B981;}.popup pre.code-snippet{background:#1f1f1f;color:#eee;padding:12px;border-radius:10px;margin:12px 0;overflow-x:auto;direction:ltr;}@keyframes gradientFlow{0%{background-position:0% 50%;}100%{background-position:200% 50%;}}@keyframes slideIn{from{transform:translateY(-100%);opacity:0;}to{transform:translateY(0);opacity:1;}}@keyframes popupFade{from{opacity:0;transform:scale(0.95);}to{opacity:1;transform:scale(1);}}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}",document.head.appendChild(e);const t=document.createElement("div");t.className="processing-banner",t.innerText="מעבד נתונים...",document.body.appendChild(t);const o=document.createElement("div");o.className="progress-container";const n=document.createElement("div");n.className="progress-bar",o.appendChild(n),document.body.appendChild(o);const a=document.createElement("div");a.className="progress-tip",a.innerText="שיפור חווית הקריאה...",document.body.appendChild(a);const i=["מסכם עבורך מידע חשוב...","חושב איך לנסח את זה בצורה נגישה...","עובד על הצגת מידע ברור ותמציתי...","שואל את השאלות הנכונות...","שומר על שפה רהוטה ומקצועית..."];let r=Date.now(),c=setInterval(()=>{let e=Math.min(100,(Date.now()-r)/60);n.style.width=e+"%",e>20&&e<80&&(a.innerText=i[Math.floor(Math.random()*i.length)])},100);return()=>{clearInterval(c),t.remove(),o.remove(),a.remove()}};const showPopup=e=>{const t=document.createElement("div");t.className="popup-overlay";const o=document.createElement("div");o.className="popup";const n=document.createElement("div");n.style.direction="rtl",n.innerHTML=e.replace(/%60%60%60([\s\S]*?)%60%60%60/g,'<pre class="code-snippet">$1</pre>').replace(/%60([^%60]+)%60/g,'<span class="inline-code">$1</span>').replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/\n/g,"<br>").replace(/(<br>){2,}/g,"<br><br>"),o.appendChild(n);const a=document.createElement("div");a.className="popup-actions";const i=document.createElement("button");i.className="close",i.innerHTML="✖",i.title="סגור חלון",i.onclick=()=>document.body.removeChild(t);const r=document.createElement("button");r.className="copy-btn",r.innerHTML="📋",r.title="העתק תוכן",r.onclick=()=>{navigator.clipboard.writeText(n.innerText),r.innerHTML="✅",setTimeout(()=>r.innerHTML="📋",2e3)};const c=document.createElement("button");c.className="continue-btn",c.innerHTML="המשך שיחה⏩",c.title="המשך שיחה",c.onclick=()=>{window.open("https://php-render-test.onrender.com/?conversation="+encodeURIComponent(n.innerText),"_blank")},a.appendChild(c),a.appendChild(r),a.appendChild(i),o.appendChild(a),t.appendChild(o),document.body.appendChild(t),o.focus(),t.addEventListener("keydown",e=>{"Escape"===e.key&&i.click()})};const cleanup=showProcessingUI(),prompt=`בהתבסס על הטקסט מהדף, מלא את התבנית הבאה בצורה ברורה ותמציתית. התמקד בזיהוי הבעיה והפתרונות כפי שהם מוצגים בטקסט.\n\n--- סיכום הבעיה ---\n\nהבעיה המרכזית היא: ...\n\nקשיים עיקריים:\n- ...\n- ...\n\n--- הפתרונות המוצעים ---\n\nפתרון א': ...\n\nפתרון ב': ...\n\nפתרון ג': ...\n\n[טקסט גולמי מתוך הדף:]\n${document.body.innerText}\n[HTML של הדף:]\n${document.body.innerHTML}`;fetch("https://php-render-test.onrender.com/main-ai.php",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:prompt})}).then(e=>e.json()).then(e=>{cleanup(),e&&e.text?showPopup(e.text):showPopup("<b>לא התקבלה תשובה תקינה מהשרת.</b>")}).catch(e=>{cleanup(),console.error(e),showPopup("<b>אירעה שגיאה בתקשורת עם השרת.</b>")})})();
עידכון בעניין הסימנייה
נכון לעכשיו כולם יקבלו שגיאת שרת.זה בגלל שהפכתי את השרת לSTREAMING
@יוסי-רחמים
א. יישר כח!
ב. אפשר את כל הקוד המעודכן קומפלט?
ג. זה כבר מוכן, או שצריך לחכות עד שתטפל?שוב, אני לא מבין בזה כלום
-
-
@יוסי-רחמים
א. יישר כח!
ב. אפשר את כל הקוד המעודכן קומפלט?
ג. זה כבר מוכן, או שצריך לחכות עד שתטפל?שוב, אני לא מבין בזה כלום
טופל:
javascript:(async function(){const e=document.createElement("style");e.textContent=".ai-summary-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:2147483647;font-family:sans-serif}.ai-summary-popup{background:#f0f9ff;padding:24px;border-radius:12px;max-width:600px;width:90%;max-height:85vh;overflow-y:auto;direction:rtl;text-align:right;border:1px solid #b3e5fc;box-shadow:0 8px 32px rgba(0,0,0,.2)}.ai-summary-content{min-height:50px;line-height:1.7;color:#0c4a6e;margin-top:16px;white-space:pre-wrap}.ai-summary-close{float:left;cursor:pointer;font-size:28px;color:#999;line-height:1;transition:color .2s}.ai-summary-close:hover{color:#333}",document.head.appendChild(e);const t=document.createElement("div");t.className="ai-summary-overlay",t.onclick=e=>{e.target===t&&document.body.removeChild(t)};const o=document.createElement("div");o.className="ai-summary-popup",t.appendChild(o);const n=document.createElement("span");n.className="ai-summary-close",n.innerHTML="×",n.onclick=()=>document.body.removeChild(t),o.appendChild(n);const c=document.createElement("div");c.className="ai-summary-content",c.innerHTML="מנתח את תוכן הדף...",o.appendChild(c),document.body.appendChild(t);try{const s=%60--- סיכום הבעיה ---\n\nהבעיה המרכזית היא ...\n\nקשיים עיקриים: ...\n\n--- הפתרונות המוצעים ---\n\nפתרון א': ...\n\nפתרון ב': ...\n\nפתרון ג': ...\n\nפתרון שעובד במידה ויש:%60,a=%60מלא את התבנית הבאה באופן תמציתי ומדויק על סמך הטקסט מהדף:\n\n${s}\n\n---\nהטקסט לניתוח:\n${document.body.innerText.substring(0,7500)}%60,r=await fetch("https://php-render-test.onrender.com/main-ai.php",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:a})});if(!r.ok){const e=await r.text();throw new Error(%60שגיאת שרת (${r.status}): ${e}%60)}const i=await r.text();let l="";const d=i.split("\n");for(const e of d)if(e.startsWith("data: ")){const t=e.substring(6).trim();if(t&&"[DONE]"!==t)try{const e=JSON.parse(t)?.candidates?.[0]?.content?.parts?.[0]?.text;e&&(l+=e)}catch(e){console.warn("Could not parse JSON line:",t)}}l?c.innerHTML=l:(c.innerHTML='<b style="color:red;">לא התקבל סיכום תקין מהשרת.</b><br><small>ייתכן שהדף ריק או שהשרת החזיר תשובה לא צפויה.</small>',console.log("Raw server response:",i))}catch(e){c.innerHTML=%60<b style="color:red;">אירעה שגיאה קריטית:</b><br><pre style="white-space:pre-wrap;word-wrap:break-word;font-size:12px;background:#ffebee;padding:8px;border-radius:4px;color:#c62828">${e.message}</pre>%60}})();
-
טופל:
javascript:(async function(){const e=document.createElement("style");e.textContent=".ai-summary-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:2147483647;font-family:sans-serif}.ai-summary-popup{background:#f0f9ff;padding:24px;border-radius:12px;max-width:600px;width:90%;max-height:85vh;overflow-y:auto;direction:rtl;text-align:right;border:1px solid #b3e5fc;box-shadow:0 8px 32px rgba(0,0,0,.2)}.ai-summary-content{min-height:50px;line-height:1.7;color:#0c4a6e;margin-top:16px;white-space:pre-wrap}.ai-summary-close{float:left;cursor:pointer;font-size:28px;color:#999;line-height:1;transition:color .2s}.ai-summary-close:hover{color:#333}",document.head.appendChild(e);const t=document.createElement("div");t.className="ai-summary-overlay",t.onclick=e=>{e.target===t&&document.body.removeChild(t)};const o=document.createElement("div");o.className="ai-summary-popup",t.appendChild(o);const n=document.createElement("span");n.className="ai-summary-close",n.innerHTML="×",n.onclick=()=>document.body.removeChild(t),o.appendChild(n);const c=document.createElement("div");c.className="ai-summary-content",c.innerHTML="מנתח את תוכן הדף...",o.appendChild(c),document.body.appendChild(t);try{const s=%60--- סיכום הבעיה ---\n\nהבעיה המרכזית היא ...\n\nקשיים עיקриים: ...\n\n--- הפתרונות המוצעים ---\n\nפתרון א': ...\n\nפתרון ב': ...\n\nפתרון ג': ...\n\nפתרון שעובד במידה ויש:%60,a=%60מלא את התבנית הבאה באופן תמציתי ומדויק על סמך הטקסט מהדף:\n\n${s}\n\n---\nהטקסט לניתוח:\n${document.body.innerText.substring(0,7500)}%60,r=await fetch("https://php-render-test.onrender.com/main-ai.php",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:a})});if(!r.ok){const e=await r.text();throw new Error(%60שגיאת שרת (${r.status}): ${e}%60)}const i=await r.text();let l="";const d=i.split("\n");for(const e of d)if(e.startsWith("data: ")){const t=e.substring(6).trim();if(t&&"[DONE]"!==t)try{const e=JSON.parse(t)?.candidates?.[0]?.content?.parts?.[0]?.text;e&&(l+=e)}catch(e){console.warn("Could not parse JSON line:",t)}}l?c.innerHTML=l:(c.innerHTML='<b style="color:red;">לא התקבל סיכום תקין מהשרת.</b><br><small>ייתכן שהדף ריק או שהשרת החזיר תשובה לא צפויה.</small>',console.log("Raw server response:",i))}catch(e){c.innerHTML=%60<b style="color:red;">אירעה שגיאה קריטית:</b><br><pre style="white-space:pre-wrap;word-wrap:break-word;font-size:12px;background:#ffebee;padding:8px;border-radius:4px;color:#c62828">${e.message}</pre>%60}})();
@יוסי-רחמים עובד פצצה!
סימנתי את ההודעה שלך כ'תרון'.
שכוייח עצום! -
-
טופל:
javascript:(async function(){const e=document.createElement("style");e.textContent=".ai-summary-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:2147483647;font-family:sans-serif}.ai-summary-popup{background:#f0f9ff;padding:24px;border-radius:12px;max-width:600px;width:90%;max-height:85vh;overflow-y:auto;direction:rtl;text-align:right;border:1px solid #b3e5fc;box-shadow:0 8px 32px rgba(0,0,0,.2)}.ai-summary-content{min-height:50px;line-height:1.7;color:#0c4a6e;margin-top:16px;white-space:pre-wrap}.ai-summary-close{float:left;cursor:pointer;font-size:28px;color:#999;line-height:1;transition:color .2s}.ai-summary-close:hover{color:#333}",document.head.appendChild(e);const t=document.createElement("div");t.className="ai-summary-overlay",t.onclick=e=>{e.target===t&&document.body.removeChild(t)};const o=document.createElement("div");o.className="ai-summary-popup",t.appendChild(o);const n=document.createElement("span");n.className="ai-summary-close",n.innerHTML="×",n.onclick=()=>document.body.removeChild(t),o.appendChild(n);const c=document.createElement("div");c.className="ai-summary-content",c.innerHTML="מנתח את תוכן הדף...",o.appendChild(c),document.body.appendChild(t);try{const s=%60--- סיכום הבעיה ---\n\nהבעיה המרכזית היא ...\n\nקשיים עיקриים: ...\n\n--- הפתרונות המוצעים ---\n\nפתרון א': ...\n\nפתרון ב': ...\n\nפתרון ג': ...\n\nפתרון שעובד במידה ויש:%60,a=%60מלא את התבנית הבאה באופן תמציתי ומדויק על סמך הטקסט מהדף:\n\n${s}\n\n---\nהטקסט לניתוח:\n${document.body.innerText.substring(0,7500)}%60,r=await fetch("https://php-render-test.onrender.com/main-ai.php",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:a})});if(!r.ok){const e=await r.text();throw new Error(%60שגיאת שרת (${r.status}): ${e}%60)}const i=await r.text();let l="";const d=i.split("\n");for(const e of d)if(e.startsWith("data: ")){const t=e.substring(6).trim();if(t&&"[DONE]"!==t)try{const e=JSON.parse(t)?.candidates?.[0]?.content?.parts?.[0]?.text;e&&(l+=e)}catch(e){console.warn("Could not parse JSON line:",t)}}l?c.innerHTML=l:(c.innerHTML='<b style="color:red;">לא התקבל סיכום תקין מהשרת.</b><br><small>ייתכן שהדף ריק או שהשרת החזיר תשובה לא צפויה.</small>',console.log("Raw server response:",i))}catch(e){c.innerHTML=%60<b style="color:red;">אירעה שגיאה קריטית:</b><br><pre style="white-space:pre-wrap;word-wrap:break-word;font-size:12px;background:#ffebee;padding:8px;border-radius:4px;color:#c62828">${e.message}</pre>%60}})();
@יוסי-רחמים כתב בשיתוף | כרטיסיה שתסכם ותתמצת לכם את השרשור במתמחים טופ!:
טופל:
אירעה שגיאה קריטית:
Failed to fetch -
טופל:
javascript:(async function(){const e=document.createElement("style");e.textContent=".ai-summary-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:2147483647;font-family:sans-serif}.ai-summary-popup{background:#f0f9ff;padding:24px;border-radius:12px;max-width:600px;width:90%;max-height:85vh;overflow-y:auto;direction:rtl;text-align:right;border:1px solid #b3e5fc;box-shadow:0 8px 32px rgba(0,0,0,.2)}.ai-summary-content{min-height:50px;line-height:1.7;color:#0c4a6e;margin-top:16px;white-space:pre-wrap}.ai-summary-close{float:left;cursor:pointer;font-size:28px;color:#999;line-height:1;transition:color .2s}.ai-summary-close:hover{color:#333}",document.head.appendChild(e);const t=document.createElement("div");t.className="ai-summary-overlay",t.onclick=e=>{e.target===t&&document.body.removeChild(t)};const o=document.createElement("div");o.className="ai-summary-popup",t.appendChild(o);const n=document.createElement("span");n.className="ai-summary-close",n.innerHTML="×",n.onclick=()=>document.body.removeChild(t),o.appendChild(n);const c=document.createElement("div");c.className="ai-summary-content",c.innerHTML="מנתח את תוכן הדף...",o.appendChild(c),document.body.appendChild(t);try{const s=%60--- סיכום הבעיה ---\n\nהבעיה המרכזית היא ...\n\nקשיים עיקриים: ...\n\n--- הפתרונות המוצעים ---\n\nפתרון א': ...\n\nפתרון ב': ...\n\nפתרון ג': ...\n\nפתרון שעובד במידה ויש:%60,a=%60מלא את התבנית הבאה באופן תמציתי ומדויק על סמך הטקסט מהדף:\n\n${s}\n\n---\nהטקסט לניתוח:\n${document.body.innerText.substring(0,7500)}%60,r=await fetch("https://php-render-test.onrender.com/main-ai.php",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:a})});if(!r.ok){const e=await r.text();throw new Error(%60שגיאת שרת (${r.status}): ${e}%60)}const i=await r.text();let l="";const d=i.split("\n");for(const e of d)if(e.startsWith("data: ")){const t=e.substring(6).trim();if(t&&"[DONE]"!==t)try{const e=JSON.parse(t)?.candidates?.[0]?.content?.parts?.[0]?.text;e&&(l+=e)}catch(e){console.warn("Could not parse JSON line:",t)}}l?c.innerHTML=l:(c.innerHTML='<b style="color:red;">לא התקבל סיכום תקין מהשרת.</b><br><small>ייתכן שהדף ריק או שהשרת החזיר תשובה לא צפויה.</small>',console.log("Raw server response:",i))}catch(e){c.innerHTML=%60<b style="color:red;">אירעה שגיאה קריטית:</b><br><pre style="white-space:pre-wrap;word-wrap:break-word;font-size:12px;background:#ffebee;padding:8px;border-radius:4px;color:#c62828">${e.message}</pre>%60}})();
@יוסי-רחמים מתי יחזור לעבוד?
-
@יוסי-רחמים מתי יחזור לעבוד?
@חנוך-הכהן כתב בשיתוף | כרטיסיה שתסכם ותתמצת לכם את השרשור במתמחים טופ!:
מתי יחזור לעבוד?
-
@חנוך-הכהן כתב בשיתוף | כרטיסיה שתסכם ותתמצת לכם את השרשור במתמחים טופ!:
מתי יחזור לעבוד?
-
@חנוך-הכהן
זה אמור להיות תקין החל ממחר(נגמר לי המגבלה של הAPI)javascript:(async function(){const e=document.createElement("style");e.textContent=".ai-summary-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:2147483647;font-family:sans-serif}.ai-summary-popup{background:#f0f9ff;padding:24px;border-radius:12px;max-width:600px;width:90%;max-height:85vh;overflow-y:auto;direction:rtl;text-align:right;border:1px solid #b3e5fc;box-shadow:0 8px 32px rgba(0,0,0,.2)}.ai-summary-content{min-height:50px;line-height:1.7;color:#0c4a6e;margin-top:16px;white-space:pre-wrap}.ai-summary-close{float:left;cursor:pointer;font-size:28px;color:#999;line-height:1;transition:color .2s}.ai-summary-close:hover{color:#333}",document.head.appendChild(e);const t=document.createElement("div");t.className="ai-summary-overlay",t.onclick=e=>{e.target===t&&document.body.removeChild(t)};const o=document.createElement("div");o.className="ai-summary-popup",t.appendChild(o);const n=document.createElement("span");n.className="ai-summary-close",n.innerHTML="\u00D7",n.onclick=()=>document.body.removeChild(t),o.appendChild(n);const c=document.createElement("div");c.className="ai-summary-content",c.innerHTML="מנתח את תוכן הדף...",o.appendChild(c),document.body.appendChild(t);try{const s=%60--- סיכום הבעיה ---\n\nהבעיה המרכזית היא ...\n\nקשיים עיקריים: ...\n\n--- הפתרונות המוצעים ---\n\nפתרון א': ...\n\nפתרון ב': ...\n\nפתרון ג': ...\n\nפתרון שעובד במידה ויש:%60;const pageTextContent=document.body.innerText.substring(0,7500).replace(/\\/g,"\\\\").replace(/%60/g,"\\%60").replace(/\$\{/g,"\\${");const a=%60מלא את התבנית הבאה באופן תמציתי ומדויק על סמך הטקסט מהדף:\n\n${s}\n\n---\nהטקסט לניתוח:\n${pageTextContent}%60;const r=await fetch("https://php-render-test.onrender.com/main-ai.php",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:a})});if(!r.ok){const errorText=await r.text();throw new Error(%60שגיאת שרת (${r.status}): ${errorText}%60)}if(!r.body){throw new Error("ReadableStream not available. Cannot process streamed data.")}const reader=r.body.getReader();const decoder=new TextDecoder("utf-8");let accumulatedData="";let currentBuffer="";let firstChunkProcessed=!1;c.innerHTML="מעבד נתונים מהשרת...";while(!0){const{value,done}=await reader.read();if(done){if(currentBuffer.trim()){accumulatedData+=currentBuffer;if(currentBuffer.startsWith("data: ")){const jsonData=currentBuffer.substring(6).trim();if(jsonData&&"[DONE]"!==jsonData.toUpperCase())try{const parsedData=JSON.parse(jsonData),textContent=parsedData?.candidates?.[0]?.content?.parts?.[0]?.text;textContent&&(firstChunkProcessed||(c.innerHTML="",firstChunkProcessed=!0),c.innerHTML+=textContent.replace(/\n/g,"<br>"))}catch(parseError){console.warn("Could not parse final JSON data line:",jsonData,parseError)}}}break}const chunk=decoder.decode(value,{stream:!0});accumulatedData+=chunk;currentBuffer+=chunk;let newlineIndex;while((newlineIndex=currentBuffer.indexOf("\n"))>=0){const line=currentBuffer.substring(0,newlineIndex).trim();currentBuffer=currentBuffer.substring(newlineIndex+1);if(line.startsWith("data: ")){const jsonData=line.substring(6).trim();if(jsonData&&"[DONE]"!==jsonData.toUpperCase())try{const parsedData=JSON.parse(jsonData),textContent=parsedData?.candidates?.[0]?.content?.parts?.[0]?.text,errorContent=parsedData?.error;textContent?(firstChunkProcessed||(c.innerHTML="",firstChunkProcessed=!0),c.innerHTML+=textContent.replace(/\n/g,"<br>")):errorContent&&errorContent.message&&(firstChunkProcessed||(c.innerHTML="",firstChunkProcessed=!0),c.innerHTML+=%60<br><b style="color:darkorange;">שגיאה מה-API בזרם: ${errorContent.message} (קוד: ${errorContent.code||"לא ידוע"})</b>%60)}catch(parseError){console.warn("Could not parse JSON data line:",jsonData,parseError)}}}}if(!firstChunkProcessed){let displayedError=!1;if(accumulatedData.trim())try{const potentialErrorJson=JSON.parse(accumulatedData.trim());if(potentialErrorJson.error&&potentialErrorJson.error.message){let errorMsg=%60<b style="color:red;">שגיאה מהשרת (API):</b><br><pre style="white-space:pre-wrap;word-wrap:break-word;font-size:12px;background:#ffebee;padding:8px;border-radius:4px;color:#c62828">(${potentialErrorJson.error.code||"N/A"}) ${potentialErrorJson.error.message}</pre>%60;potentialErrorJson.error.details&&potentialErrorJson.error.details[0]&&potentialErrorJson.error.details[0].reason&&(errorMsg+=%60<br><small>סיבה: ${potentialErrorJson.error.details[0].reason}</small>%60);c.innerHTML=errorMsg;displayedError=!0}}catch(e){console.warn("Accumulated data was not a parseable JSON error object:",accumulatedData.trim().substring(0,500)+"...")}if(!displayedError){let finalMsg='<b style="color:red;">לא התקבל סיכום תקין מהשרת.</b><br><small>ייתכן שהשרת לא החזיר תוכן בפורמט הצפוי, או שהתקשורת נקטעה.</small>';accumulatedData.trim()?finalMsg+=%60<br><details><summary style="font-size:10px; cursor:pointer;">תגובה גולמית שהתקבלה (לחץ להצגה)</summary><pre style="max-height: 100px; overflow-y: auto; font-size: 10px; background: #eee; padding: 5px; border:1px solid #ccc; margin-top:5px; white-space:pre-wrap; word-break:break-all;">${accumulatedData.trim().replace(/</g,"<").replace(/>/g,">")}</pre></details>%60:finalMsg+='<br><small>לא התקבלה תגובה כלל מהשרת.</small>';c.innerHTML=finalMsg}console.log("No valid data parts processed as stream. Full raw data received:",accumulatedData)}else if(""===c.innerHTML.trim())c.innerHTML='<b style="color:red;">הסיכום שהתקבל מהשרת ריק.</b>'}catch(criticalError){console.error("Critical error in summary script:",criticalError),c.innerHTML=%60<b style="color:red;">אירעה שגיאה קריטית:</b><br><pre style="white-space:pre-wrap;word-wrap:break-word;font-size:12px;background:#ffebee;padding:8px;border-radius:4px;color:#c62828">${criticalError.message}</pre>%60}})();
-
@חנוך-הכהן
זה אמור להיות תקין החל ממחר(נגמר לי המגבלה של הAPI)javascript:(async function(){const e=document.createElement("style");e.textContent=".ai-summary-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:2147483647;font-family:sans-serif}.ai-summary-popup{background:#f0f9ff;padding:24px;border-radius:12px;max-width:600px;width:90%;max-height:85vh;overflow-y:auto;direction:rtl;text-align:right;border:1px solid #b3e5fc;box-shadow:0 8px 32px rgba(0,0,0,.2)}.ai-summary-content{min-height:50px;line-height:1.7;color:#0c4a6e;margin-top:16px;white-space:pre-wrap}.ai-summary-close{float:left;cursor:pointer;font-size:28px;color:#999;line-height:1;transition:color .2s}.ai-summary-close:hover{color:#333}",document.head.appendChild(e);const t=document.createElement("div");t.className="ai-summary-overlay",t.onclick=e=>{e.target===t&&document.body.removeChild(t)};const o=document.createElement("div");o.className="ai-summary-popup",t.appendChild(o);const n=document.createElement("span");n.className="ai-summary-close",n.innerHTML="\u00D7",n.onclick=()=>document.body.removeChild(t),o.appendChild(n);const c=document.createElement("div");c.className="ai-summary-content",c.innerHTML="מנתח את תוכן הדף...",o.appendChild(c),document.body.appendChild(t);try{const s=%60--- סיכום הבעיה ---\n\nהבעיה המרכזית היא ...\n\nקשיים עיקריים: ...\n\n--- הפתרונות המוצעים ---\n\nפתרון א': ...\n\nפתרון ב': ...\n\nפתרון ג': ...\n\nפתרון שעובד במידה ויש:%60;const pageTextContent=document.body.innerText.substring(0,7500).replace(/\\/g,"\\\\").replace(/%60/g,"\\%60").replace(/\$\{/g,"\\${");const a=%60מלא את התבנית הבאה באופן תמציתי ומדויק על סמך הטקסט מהדף:\n\n${s}\n\n---\nהטקסט לניתוח:\n${pageTextContent}%60;const r=await fetch("https://php-render-test.onrender.com/main-ai.php",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:a})});if(!r.ok){const errorText=await r.text();throw new Error(%60שגיאת שרת (${r.status}): ${errorText}%60)}if(!r.body){throw new Error("ReadableStream not available. Cannot process streamed data.")}const reader=r.body.getReader();const decoder=new TextDecoder("utf-8");let accumulatedData="";let currentBuffer="";let firstChunkProcessed=!1;c.innerHTML="מעבד נתונים מהשרת...";while(!0){const{value,done}=await reader.read();if(done){if(currentBuffer.trim()){accumulatedData+=currentBuffer;if(currentBuffer.startsWith("data: ")){const jsonData=currentBuffer.substring(6).trim();if(jsonData&&"[DONE]"!==jsonData.toUpperCase())try{const parsedData=JSON.parse(jsonData),textContent=parsedData?.candidates?.[0]?.content?.parts?.[0]?.text;textContent&&(firstChunkProcessed||(c.innerHTML="",firstChunkProcessed=!0),c.innerHTML+=textContent.replace(/\n/g,"<br>"))}catch(parseError){console.warn("Could not parse final JSON data line:",jsonData,parseError)}}}break}const chunk=decoder.decode(value,{stream:!0});accumulatedData+=chunk;currentBuffer+=chunk;let newlineIndex;while((newlineIndex=currentBuffer.indexOf("\n"))>=0){const line=currentBuffer.substring(0,newlineIndex).trim();currentBuffer=currentBuffer.substring(newlineIndex+1);if(line.startsWith("data: ")){const jsonData=line.substring(6).trim();if(jsonData&&"[DONE]"!==jsonData.toUpperCase())try{const parsedData=JSON.parse(jsonData),textContent=parsedData?.candidates?.[0]?.content?.parts?.[0]?.text,errorContent=parsedData?.error;textContent?(firstChunkProcessed||(c.innerHTML="",firstChunkProcessed=!0),c.innerHTML+=textContent.replace(/\n/g,"<br>")):errorContent&&errorContent.message&&(firstChunkProcessed||(c.innerHTML="",firstChunkProcessed=!0),c.innerHTML+=%60<br><b style="color:darkorange;">שגיאה מה-API בזרם: ${errorContent.message} (קוד: ${errorContent.code||"לא ידוע"})</b>%60)}catch(parseError){console.warn("Could not parse JSON data line:",jsonData,parseError)}}}}if(!firstChunkProcessed){let displayedError=!1;if(accumulatedData.trim())try{const potentialErrorJson=JSON.parse(accumulatedData.trim());if(potentialErrorJson.error&&potentialErrorJson.error.message){let errorMsg=%60<b style="color:red;">שגיאה מהשרת (API):</b><br><pre style="white-space:pre-wrap;word-wrap:break-word;font-size:12px;background:#ffebee;padding:8px;border-radius:4px;color:#c62828">(${potentialErrorJson.error.code||"N/A"}) ${potentialErrorJson.error.message}</pre>%60;potentialErrorJson.error.details&&potentialErrorJson.error.details[0]&&potentialErrorJson.error.details[0].reason&&(errorMsg+=%60<br><small>סיבה: ${potentialErrorJson.error.details[0].reason}</small>%60);c.innerHTML=errorMsg;displayedError=!0}}catch(e){console.warn("Accumulated data was not a parseable JSON error object:",accumulatedData.trim().substring(0,500)+"...")}if(!displayedError){let finalMsg='<b style="color:red;">לא התקבל סיכום תקין מהשרת.</b><br><small>ייתכן שהשרת לא החזיר תוכן בפורמט הצפוי, או שהתקשורת נקטעה.</small>';accumulatedData.trim()?finalMsg+=%60<br><details><summary style="font-size:10px; cursor:pointer;">תגובה גולמית שהתקבלה (לחץ להצגה)</summary><pre style="max-height: 100px; overflow-y: auto; font-size: 10px; background: #eee; padding: 5px; border:1px solid #ccc; margin-top:5px; white-space:pre-wrap; word-break:break-all;">${accumulatedData.trim().replace(/</g,"<").replace(/>/g,">")}</pre></details>%60:finalMsg+='<br><small>לא התקבלה תגובה כלל מהשרת.</small>';c.innerHTML=finalMsg}console.log("No valid data parts processed as stream. Full raw data received:",accumulatedData)}else if(""===c.innerHTML.trim())c.innerHTML='<b style="color:red;">הסיכום שהתקבל מהשרת ריק.</b>'}catch(criticalError){console.error("Critical error in summary script:",criticalError),c.innerHTML=%60<b style="color:red;">אירעה שגיאה קריטית:</b><br><pre style="white-space:pre-wrap;word-wrap:break-word;font-size:12px;background:#ffebee;padding:8px;border-radius:4px;color:#c62828">${criticalError.message}</pre>%60}})();
@יוסי-רחמים (429) You exceeded your current quota, please check your plan and billing details. For more information on this error, head to: https://ai.google.dev/gemini-api/docs/rate-limits.