5 חבילות שמתעלמים מהן שמריצות את ה-stack של ספריית ה-AI שלי

החלקים הטובים ביותר של פרויקט הם לא תמיד מודל ה-AI או פלטפורמת האירוח.

הקדשתי זמן לקריאת קוד המקור של חמש תלויות (dependencies) בקובצי החבילות שלי. הכלים האלו לא נמצאים בטרנדים. הם אלו שנושאים את העומס.

ה-stack שלי משתמש ב-Astro 5, Turso libSQL, GitHub Actions ו-Claude Haiku 4.5. אני מפעיל שלושה אתרים: Top AI Tools, Find Games Like, ו-Open Alternative To. התשתית יציבה. זה מאפשר לי להתמקד בתוכן במקום בתיקון באגים.

הנה חמשת הכלים:

  • tsx אני משתמש בזה כדי להריץ כל סקריפט ETL. זה עובד ללא הגדרות נוספות. זה משתמש ב-esbuild, כך שההפעלה מהירה. זה לא מבצע בדיקת טיפוסים (type checking). אני משתמש ב-pnpm לבדיקת טיפוסים במהלך ה-CI. הטרייד-אוף הזה גורם לסקריפטים שלי לרוץ מהר יותר.

  • Pagefind זה רץ אחרי שלב ה-build שלי. זה סורק (crawls) את ה-HTML שלי ויוצר אינדקס דחוס. זה עובד על מארחים סטטיים כמו Vercel או Cloudflare ללא הגדרה נוספת. האינדקס נשאר קטן. אני משתמש ב-JS API ישירות כדי לשלוט באופן שבו התוצאות נראות ברכיבי ה-Astro שלי.

  • Crawlee עדיין לא השתמשתי בזה, אבל אני מתכנן. כרגע אני משתמש בניתוח (parsing) ידני עבור הנתונים שלי. Crawlee מוסיף תורים לבקשות (request queues) והגבלת קצב (rate limiting). זה הכלי הנכון עבור המועד שבו אתחיל לבצע scraping לאתרים ללא APIs.

  • yaml זה מנתח (parses) את ה-frontmatter במאמרים שלי. זה קטן וללא תלויות (dependencies). הוא מטפל היטב באובייקטים מורכבים. הוא יכול גם להפוך אובייקטים בחזרה ל-YAML תוך שמירה על הערות. זה עוזר כשאני רוצה לעדכן קבצים באופן אוטומטי.

  • @libsql/client זה מחבר את הסקריפטים שלי ל-Turso. אני מסתמך על ה-batch API. קריאה אחת יכולה להריץ מספר פקודות (statements) בסיבוב רשת אחד. זה מהיר מאוד בזמן seeding של טבלאות. זה גם עובד מקומית ללא רשת. זה חוסך לי את מכסת ה-API שלי במהלך הפיתוח.

החבילות האלו הן התשתית השקטה. הן מאפשרות לחלקים של ה-AI ב-stack שלי לעשות את עבודתם.

מקור: https://dev.to/morinaga/five-overlooked-packages-running-my-ai-directory-stack-1lem