Category Archives: Automation

מערכת לסיכום שיעורים: 1$ לשיעור, 100% שליטה

איך בניתי אוטומציה שמסכמת שיעורים ארוכים – בערך 1$ לשיעור של 3 שעות ?
בעקבות צורך של חבר בניתי אוטומציה שלוקחת הקלטה, מתמללת אותה, ומוציאה ממנה גם נקודות עיקריות וגם קובץ סיכום מסודר – הכל בעלות זניחה ובלי להיות תלוי בשירותים יקרים.

הבסיס לכל התהליך הוא Google Sheet אחד שמנהל את כל השלבים כמו לוח בקרה – כל שורה מייצגת שיעור, ובכל עמודה רואים באיזה שלב הוא נמצא (הועלה, תומלל, יש נקודות עיקריות, יש סיכום). זה נותן שליטה מלאה ושקיפות על התהליך, בלי “קופסה שחורה”.

איך זה עובד, שלב אחרי שלב

1. העלאת הקובץ

ההקלטה מועלית לשרת FTP, ואז מוסיפים את שם הקובץ בשורה חדשה בגיליון

יש גם אופציה חלופית: אוטומציה ב-Make שמזהה קבצים חדשים בתיקיית Google Drive משותפת ומכניסה אותם לגיליון בעצמה. זה נוח יותר, אבל דורש מנוי חודשי – ולכן זו אופציה, לא ברירת המחדל.

2. תמלול

סקריפט שרץ בתדירות קבועה (Apps Script מתוזמן) סורק את הגיליון, מאתר שורות חדשות, ושולח את הקובץ לשירות תמלול חיצוני דרך API. כשהתמלול חוזר, הוא נשמר כקובץ טקסט וההפניה אליו נרשמת בגיליון.

3. נקודות עיקריות

לאחר שיש תמלול, הוא נשלח למודל AI שמייצר קובץ Doc עם נקודות עיקריות מהשיעור. השלב הזה חשוב במיוחד כי הוא ניתן לשינוי לפי הצורך – אפשר לפתוח את הקובץ, לערוך, למחוק דברים לא רלוונטיים או להוסיף דגשים, לפני שממשיכים הלאה.

4. יצירת הסיכום

רק אחרי שהנקודות העיקריות מאושרות, נוצר קובץ הסיכום הסופי – וכאן ה-AI מקבל גם את התמלול המלא וגם את הנקודות שנערכו, כדי שהסיכום יהיה מדויק ומבוסס.

5. גמישות לחזור אחורה

אם רוצים לשנות משהו באמצע התהליך – למשל לערוך את הנקודות העיקריות אחרי שכבר נוצר סיכום – אפשר פשוט להריץ את התהליך מחדש מאותה נקודה, בלי לחזור להתחלה ובלי לתמלל שוב (וכך גם לא לשלם על תמלול פעם נוספת).

6. ניקוי

סקריפט נוסף רץ ברקע ובודק אילו קבצי קול כבר תומללו בהצלחה. ברגע שקובץ תומלל, הוא נמחק מהשרת – כדי לא להיתקע עם קבצי קול כבדים ולשמור על מקום פנוי.

למה זה שווה את זה

  • עלות: בערך $1 לשיעור של 3 שעות (בעיקר עלות ה-API של התמלול וה-AI).
  • שקיפות: הכל מנוהל בגיליון אחד, אפשר לראות בדיוק באיזה שלב כל שיעור נמצא.
  • גמישות: אפשר לערוך תוצרי ביניים (נקודות עיקריות) ולהריץ מחדש רק את מה שצריך.
  • חיסכון במקום: ניקוי אוטומטי של קבצי הקול אחרי תמלול.
  • בלי תלות בתשלום חודשי – אלא אם בוחרים במסלול הנוח יותר עם Make.

זו דוגמה טובה לזה שלא צריך פלטפורמה שלמה כדי לבנות תהליך AI שימושי – מספיק גיליון, כמה סקריפטים, וכמה קריאות API.

רוצים משהו דומה לעסק שלכם?

התהליך הזה נבנה בהתאמה אישית לצורך ספציפי, אבל אותה גישה – זולה, שקופה וגמישה – מתאימה לכל עסק שרוצה לחסוך זמן על תהליכים חוזרים: תמלול וסיכום פגישות, עיבוד מסמכים נכנסים, ניהול תוכן שוטף ועוד. אני בונה מערכות אוטומציה מותאמות אישית בדיוק כאלה – אם יש לכם תהליך דומה שאתם רוצים להפוך לאוטומטי, אשמח לדבר ולראות איך אפשר לבנות לכם פתרון בעלות נמוכה שמתאים בדיוק לצרכים שלכם.

בוט טלגרם + AI + אתר למעקב אחרי ערב שירה בזמן אמת

השתתפתי בערב שירה. בכל שיר שעלה, אנשים בקהל רצו לקרוא את המילים – אבל לא היה שום מנגנון נוח לעדכן אותם בזמן אמת. ניסיתי WhatsApp קבוצתי, גוגל דוקס, ועוד פתרונות – כולם מסורבלים. אז בניתי את זה בעצמי.

הרעיון בשורה אחת

המנחה שולח שם שיר בטלגרם ← AI מוצא את המילים המלאות ← האתר מתעדכן ← הקהל לוחץ רענון ורואה את השיר הבא.

איך זה עובד בפועל

שלב 1 – המנחה שולח הודעה לבוט בטלגרם במקום לעזוב את הבמה או לפתוח מחשב, המנחה פשוט שולח את שם השיר מהנייד – בדיוק כמו שמשלחים הודעה לכל אחד. הבוט מקבל את ההודעה ומתחיל לעבוד.

שלב 2 – ה-AI מוצא את המילים הבוט שולח את שם השיר ל-Claude API, שמחזיר את המילים המלאות בשניות. אין צורך לשמור מראש מאגר שירים, אין צורך לחפש בגוגל – ה-AI פשוט יודע. המנחה מקבל תצוגה מקדימה של המילים ישירות בצ’אט, ויכול לאשר שזה הטקסט הנכון לפני שמפרסמים.

שלב 3 – עדכון האתר אחרי אישור, הבוט שולח את המילים לשרת שמעדכן את דף האתר. הכל קורה מאחורי הקלעים – המנחה רואה הודעת אישור קצרה וממשיך הלאה.

שלב 4 – הקהל רואה הקהל פותח קישור פשוט בדפדפן. בדף יש כפתור רענון אחד גדול. לחיצה עליו מציגה את השיר הנוכחי – כותרת ומילים מלאות, בגופן נוח לקריאה. אין התקנות, אין חשבונות, אין אפליקציות.

למה השילוב הזה עובד

הכוח פה הוא לא בטכנולוגיה אחת ספציפית, אלא בחיבור ביניהן. טלגרם נותן ממשק שכולם כבר מכירים. ה-AI חוסך את כל עבודת ההכנה מראש. האתר הוא שכבת תצוגה שקופה לגמרי למשתמש הסופי.

המנחה לא מרגיש שהוא “מפעיל מערכת” – הוא פשוט שולח הודעה. הקהל לא מרגיש שהוא “משתמש בכלי” – הוא פשוט מסתכל על דף. כל המורכבות הטכנית מסתתרת בדיוק במקום שצריך.

לסיכום

שלוש טכנולוגיות שמדברות ביניהן, ובעיה אמיתית שנפתרת בצורה אלגנטית. זה בדיוק מה שאני אוהב בפיתוח – כשהפתרון מרגיש פשוט מבחוץ, גם אם יש קצת קסם מתחת למכסה המנוע.

אם בניתם משהו דומה, או יש לכם רעיונות לשיפור – אשמח לשמוע 👇

עבודה עם bash

עבודה עם Bash: איך בניתי כלי אוטומציה לאתרי WordPress

בחודשים האחרונים יצא לי להעמיק בעולם של Bash scripting, בעיקר בשילוב עם WP-CLI, כלי שורת הפקודה הרשמי של WordPress. מהר מאוד גיליתי את העוצמה והגמישות שיש בסקריפטים – איך באמצעות כמה שורות קוד אפשר לעשות בצורה אוטומטית תהליכים שבעבר דרשו שעות עבודה ידנית.

במיוחד הצלחתי לגבש שני כלים שימושיים, שניהם מבוססי שילוב בין אלבומי Google Photos לבין WordPress:

כלי 1: יצירת רשת אתרים מאלבומי Google

המטרה הייתה להפוך כל אלבום Google לאתר עצמאי בתוך רשת מולטיסייט של WordPress. בתוך האתר ניתן לחלק את התמונות לדפים נפרדים, לפי התאריכים המופיעים בשמות הקבצים.
כך למעשה, כל אלבום הופך למבנה מוכן של אתר תמונות, עם חלוקה פנימית ברורה וללא צורך בהעלאה ידנית או מיון.
דוגמה חיה אפשר לראות כאן

כלי 2: יצירת אתר תדמית מאלבומי Google

בפרויקט נוסף, פיתחתי סקריפט שמבצע את התהליך בצורה אחרת: הפעם כל אלבום Google יוצר דף חדש באתר WordPress. בתוך הדף נוצרת גלריה עם תמונות האלבום, ובנוסף קיימת אפשרות להוסיף טקסט מותאם אישית בראש הדף, מעל הגלריה.
כך נוצר בצורה כמעט אוטומטית אתר תדמית שלם, המבוסס על אלבומים מוכנים.
אפשר להשתמש בקובץ CSV להגדרות של האתר

היתרונות של הגישה

  • אוטומציה מלאה – האתר נבנה לבד, ללא הקלדה חוזרת ונשנית ב־WordPress.
  • מהירות הטמעה – פרויקט שלוקח שעות (ואף ימים) יכול להפוך לענין של דקות.
  • גמישות גבוהה – קל לשנות את הסקריפטים כך שיתאימו למבנים אחרים או לסוגי תוכן נוספים.

האתגרים שנתקלתי בהם

כמו בכל תהליך אוטומטי, גם כאן לא הכל מושלם:

  • הפעלה מסיבית של סקריפטים כאלה עלולה לגרום לניצול משמעותי של משאבי השרת, ובעיקר חשבונות שיתופיים (shared hosting) יכולים ליצור בעיות של ניצול יתר של המשאבים
  • אפשר לחלק תמונות רק לפי אלבומים או לוגיקה לפי שם הקובץ

סנכרון תמונות מאלבום גוגל לאתר

רציתי לעשות אתר שיהיה קל להעביר תמונות (ווידאו) מאלבום גוגל, בלי שאני אצטרך להוריד למחשב שלי ולהעלות המון תמונות.

קודם כל – אני משתמש באכסון של blueHost, שנותנים גישת SSH ו-wp-cli
גם א/נשים בלי ידע טכני יכולים לעבוד לפי המדריך הזה, אבל צריך לא לפחד מלכתוב פקודות (Command Line), ואני מקווה ששמתי פה מספיק קישורים להסברים.

אחרי שהתחברתי לחשבון שלי עם SSH, שמתי שם rclone – לא צריך להתקין את זה (ההתקנה דורשת הרשאת root בשרת, שאין לי כמובן), רק להוריד ולפרוס. אח”כ בשביל לגשת לזה – צריך לקרוא לפקודה rclone עם המיקום שלה.

הפקודות שאני השתמשתי בשביל התקנת rclone

curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
mv rclone-vVERSION-NO-linux-amd64/ rclone
* שימו לב בפקודה האחרונה מה מס’ הגירסא שאצלכם

הגדרתי את rclone להתחבר לחשבון Google Photos שרציתי. שימו לב שבגלל שעובדים על מחשב מרוחק – אי אפשר להשתמש בauto config, עונים NO על השאלה “Use auto config?”, ואז צריך להתחבר לחשבון Google ממחשב אחר שבו יש דפדפן, להתקין שם rclone ולהכניס את הפקודה:

rclone authorize "google photos"

ואז מקבלים לינק שצריך לפתוח בדפדפן (מתחיל ב: http://127.0.0.1:53682/auth) וצריך לאשר לגוגל לגשת לתמונות. הוראות מפורטות לשלב הזה – כאן

עכשיו יוצרים ספרייה שאליה rclone יסנכרן / יעתיק את התמונות מהאלבום המבוקש (מי שלא מכיר – תחפשו את הפקודה mkdir).

הפקודה לסנכרון נראית משהו כזה:

rclone sync RcloneName:album/AlbumName Folder-for-the-Photos –ignore-existing

החלקים המודגשים אלו המקומות שבהם צריך לשנות לפי מה שאתם יצרתם (RcloneName – השם שנתתם לחיבור הזה בהגדרות של rclone, AlbumName – השם של האלבום שאתם רוצים להעתיק מGoogle Photos, Folder-for-the-Photos – השם של הספרייה בשרת שם אתם רוצים לשמור את התמונות).
אפשר גם להוסיף את הפרמטר –max-age 1d כדי לסנכרן רק את התמונות מהיום האחרון

זה עובד די מהר, ובקרוב התמונות מGoogle Photos יהיו כבר בשרת.

הפקודה הבאה משתמשת בwp-cli לייבא את התמונות לספריית המדיה של האתר.
שימו לב, שצריך להיות בספרייה של האתר (או ספרייה כלשהיא בתוכה) כדי שזה ייבא לאתר שלכם (חשוב לשים לב, בעיקר כשיש כמה אתרים מאוכסנים על אותו חשבון בשרת).

for x in Folder-for-the-Photos/*.jpg; do
if test -f “../../wp-content/uploads/2020/08/$x”; then
echo “$x exists.”
else
wp media import $x –preserve-filetime
fi
done

יש פה בדיקה שהתמונות לא קיימות כבר. אני בדקתי את זה מול הספרייה של החודש הנוכחי, וכמובן צריך לשנות זאת לפי החודש שבו אולי התמונות כבר נמצאות

מזל טוב, סיימתם.

עכשיו התמונות נמצאות בספריית המדיה שלכם, ואתם יכולים להכניס אותן לכל מקום באתר.

אני משתמש בינתיים בתוסף Modula כדי ליצור גלריית תמונות, כי אהבתי את הצורה שהוא מסדר את התמונות בגלריה, אבל הגירסא החינמית שלו מוגבלת ל20 תמונות בגלריה. אפשר כמובן להשתמש בגלריית תמונות הבסיסית של וורדפרס, או בכל תוסף אחר. מוזמנים/ות לכתוב בתגובה על תוספים יותר טובים לגלריות.