איך לבנות סוכן AI אישי בסגנון OpenClaw
למדו כיצד לבנות סוכן AI עצמאי שמריץ פקודות על השרת שלכם. המדריך מפרט את רכיבי המערכת ומתמקד בהקשחה קריטית לאחר פרצת האבטחה CVE-2026-32922 שדורגה בציון 9.9.
מהו OpenClaw בפועל
OpenClaw הוא סוכן AI אישי בניהול עצמי (self-hosted). אתם מריצים אותו על השרת שלכם, מחברים אותו ליישומי הצ'אט שבהם אתם כבר משתמשים, והוא מסוגל להריץ פקודות shell, לשלוט בדפדפן, לקרוא ולכתוב קבצים ולפעול בהתאם להודעות שאתם שולחים לו. הפרויקט מופץ תחת רישיון MIT, מבוסס על עבודה מקומית (local-first), וצבר מעל 380,000 כוכבים ב-GitHub נכון לאמצע שנת 2026, מה שהופך אותו לאחד הפרויקטים בעלי מספר הכוכבים הגבוה ביותר בפלטפורמה. מתחת לרעש התקשורתי, מדובר באוסף רכיבים קטן למדי שמחוברים זה לזה בצורה הגיונית. פוסט זה סוקר את הרכיבים הללו כדי שתבינו כיצד כלי כזה בנוי, והיכן נמצאים הסיכונים המרכזיים.
אזהרה אחת מראש, שכן היא מעצבת כל בחירה עיצובית בהמשך: במרץ 2026 פרסמו מתחזקי OpenClaw מבול של התראות אבטחה: 22 התראות ב-13 במרץ בלבד ועוד חמש ב-16 במרץ, בעוד שמאגר ה-National Vulnerability Database תיעד 199 מזהי CVE עבור OpenClaw באותו חודש. סבב ה-13 במרץ כלל שני כשלים קריטיים שדורגו בציון 9.9 מתוך 10, אחד מהם באג של הסלמת הרשאות (CVE-2026-32922) שאפשר למכשיר בעל הרשאות צימוד (pairing) בלבד להנפיק אסימוני ניהול (admin tokens) מלאים. הפרויקט מתוכנן כך שאתם, המפעילים, תבצעו בו הקשחה. סוכן שמסוגל להריץ כל פקודה בטוח בדיוק כמו השרת שעליו הוא רץ והמגבלות שאתם מציבים סביבו. זכרו זאת בזמן הקריאה.
תהליך ה-gateway: תהליך יחיד, שמור בפרטיות
במרכז המערכת נמצא תהליך יחיד הפועל ברקע לאורך זמן, המכונה בדרך כלל gateway. זהו מישור הבקרה (control plane). הוא מקבל הודעות, מחליט על הפעולות הנדרשות, מריץ את הכלים ושולח תשובות בחזרה. כל שאר הרכיבים מתחברים אליו.
העובדה החשובה ביותר בנוגע ל-gateway היא היכן הוא מאזין. בהתקנה רגילה על שרת, OpenClaw קושר אותו לכתובת ה-loopback, הלא היא 127.0.0.1, כך שלא ניתן להגיע אליו מהאינטרנט אלא אם כן תבצעו פעולה יזומה כדי לחשוף אותו. תמונות מכולה (container images) הן החריג: מסמכי האבטחה של OpenClaw מציינים כי כברירת מחדל הן מוגדרות עם bind חשוף, לכן אם אתם מריצים את המכולה, הקפידו להשאיר את האימות פעיל ואל תפרסמו את הפורט שלה לאינטרנט. כך או כך, שמרו עליו פרטי. זהו התהליך היחיד שמריץ פקודות באופן שוטף, ולכן gateway חשוף מעניק לכל מי שמוצא אותו דריסת רגל מרחוק בשרת שלכם. כאשר עליכם לגשת אליו מהמחשב הנייד, עשו זאת באמצעות VPN או מנהרת SSH במקום לפתוח פורט. איש אינו יכול לתקוף פורט שאין לו גישה אליו.
מחברי ערוצים: קבלת הודעה ושליחת תשובה
סוכן אישי הוא שימושי רק אם ניתן לתקשר איתו מתוך היישומים שבהם אתם כבר משתמשים. זהו תפקידם של מחברי הערוצים (channel connectors). כל מחבר מתקשר עם פלטפורמה אחת, כגון Telegram, WhatsApp, Slack או Discord, באמצעות ה-bot API או ה-webhooks של אותה פלטפורמה.
המבנה זהה עבור כולם. המחבר רושם בוט מול הפלטפורמה, מקבל את ההודעה הנכנסת שלכם (על ידי ביצוע polling לפלטפורמה או על ידי קבלת webhook שהפלטפורמה דוחפת אליו), מעביר את ההודעה ל-gateway, ומפרסם את התשובה של ה-gateway בחזרה דרך אותו API. המחבר הוא שכבת תרגום דקה. הוא ממיר "הגיעה הודעת Telegram" ל-"הנה טקסט עבור הסוכן" ובחזרה. בניית מחבר משלכם היא בעיקרה עניין של קריאת תיעוד הבוטים של פלטפורמה מסוימת ומיפוי פורמט ההודעות שלה לזה של ה-gateway.
המוח ולולאת הכלים
בתוך ה-gateway נמצא הרכיב שהופך אותו לסוכן (agent) ולא רק לצ'אט-בוט. מדובר בלולאה.
הודעה מגיעה. ה-gateway שולח אותה למודל שפה יחד עם רשימת כלים שהמודל רשאי להשתמש בהם. המודל קורא את ההודעה ומחליט: להשיב ישירות, או להפעיל כלי. אם הוא מפעיל כלי, ה-gateway מריץ את הכלי, לוכד את התוצאה ושולח אותה בחזרה למודל. המודל בוחן את התוצאה ומחליט שוב. תהליך זה חוזר על עצמו עד שלמודל אין יותר מה לעשות והוא מפיק תשובה סופית.
הלולאה הזו היא המהות של סוכן, והיא זהה בין אם הסוכן פועל בתוך אפליקציית צ'אט ובין אם הוא פועל בטרמינל. למידע על האופן שבו כלים מתחברים ללולאה הזו בדרך סטנדרטית, חיבור כלים באמצעות Model Context Protocol הוא קריאת המשך מומלצת, ועבור צד המודל, הרצת המודל עצמו על חומרה מקומית משלים את התמונה.
מערכת הכלים היא לב העניין, והיא גם הסכנה
הכלים הם מה שהופך את OpenClaw לעוצמתי. כלי שמריץ פקודת shell, כלי שמפעיל דפדפן, כלי שקורא וכותב קבצים. אם תעניקו ללולאה שלעיל גישה לכלים אלו, היא תוכל לבצע כמעט כל פעולה שאתם מסוגלים לבצע מול המקלדת. טווח פעולה זה הוא כל מהות המוצר, אך הוא גם מהווה את כל הסיכון.
סוכן שמסוגל להריץ כל פקודה, הפועל לפי הוראות המגיעות מאפליקציית צ'אט, מהווה שטח תקיפה נרחב. הוראה זדונית, התקפת prompt-injection המוסתרת בדף אינטרנט שבו מבקר כלי הדפדפן, או באג דוגמת הפרצות של מרץ 2026, עלולים להפוך בקשה כמו "קרא את היומן שלי" ל-"מחק את הקבצים שלי". לכן, המגבלות אינן תוספות אופציונליות. הריצו את הסוכן כמשתמש ייעודי ונטול הרשאות (unprivileged user) ללא sudo, כדי שפריצה לא תוכל להסלים. הגבילו כלים מסוכנים באמצעות שלב אישור, כך שהסוכן יבקש רשות לפני ביצוע פעולה הרסנית. בצעו Sandbox להרצת הכלים כדי שפקודה שיצאה משליטה תישאר מבודדת. בודדו את ה-API key של המודל כדי שדליפה לא תעניק לתוקף גישה לחשבון שלכם. חשבו גם על סודות אחרים הנמצאים על אותו שרת, שכן נקודות התורפה האמיתיות של Vaultwarden הן ה-admin token וקובץ הגיבוי ולא ההצפנה שלו, וסוכן בעל גישת shell יכול להגיע לשניהם.
לפני שאתם חושפים שירות שמריץ פקודות shell, עבדו על היסודות בצורה מחושבת. צרו רשימת תיוג עבור השרת שלכם כאן, ולאחר מכן עקבו אחריה מההתחלה ועד הסוף:
נושא המשתמש נטול ההרשאות מכוסה לעומק ב-הרצת שירותים כמשתמש נטול הרשאות, והמדריך המלא להגדרה בטוחה עבור הפרויקט האמיתי נמצא ב-הרצת OpenClaw בצורה בטוחה על גבי VPS.
זיכרון כקבצים פשוטים
רוב האנשים מצפים שהזיכרון של סוכן (agent) יישמר בתוך מסד נתונים. הזיכרון של OpenClaw אינו פועל כך. הוא מאחסן זיכרון כקבצי Markdown פשוטים על הדיסק, ובחירה זו ראויה לחיקוי. הקבצים הם מקור האמת; מנוע הזיכרון המוגדר כברירת מחדל שומר אינדקס חיפוש ב-SQLite לצדם, וניתן לבנות אינדקס זה מחדש מתוך הקבצים.
קבצים הם פשוטים. אין סכימה (schema) שצריך להעביר, אין שירות שצריך להשאיר פעיל, ואין שפת שאילתות שצריך ללמוד. הם ניתנים לבדיקה: ניתן לפתוח את התיקייה ולקרוא בדיוק מה הסוכן חושב עליך, לתקן הערה שגויה על ידי עריכת קובץ, או למחוק זיכרון על ידי הסרת קובץ. הם גם ניידים, כיוון שהעברת הסוכן לשרת חדש מסתכמת בהעתקת תיקייה. עבור סוכן אישי למשתמש יחיד, תיקייה של קובצי טקסט מספיקה, והיא שומרת על המערכת כולה כזו שקל להבין את אופן פעולתה.
Skills: דרך ניידת להוספת יכולות
מעבר לכלים המובנים, OpenClaw משתמש בפורמט Skills נייד המאפשר לקהילה להרחיב את יכולות המערכת מבלי לשנות את הליבה שלה. Skill הוא חבילת הוראות עצמאית, ולעיתים גם קוד, המלמדת את הסוכן לבצע משימה חדשה. הסוכן טוען את ה-Skill כאשר המשימה דורשת זאת. חיפוש ברשת הוא בדרך כלל ה-Skill הראשון שאנשים מוסיפים, ו-הפניית ה-Skill הזה למופע SearXNG עצמאי שומרת על השאילתות שלכם מחוץ ל-API של מנועי חיפוש מסחריים, תוך הבהרה היכן עובר גבול האמון של ה-Skill, שכן כל מה שהוא מחזיר הוא טקסט שנכתב על ידי גורם חיצוני.
הערך בפורמט כזה הוא היכולת לשתף יכולות. מישהו כותב Skill למשימה ספציפית, מפרסם אותו, ואחרים יכולים להטמיע אותו בקלות. נוחות זו היא חרב פיפיות, כיוון ש-Skill הוא קוד שנכתב על ידי זר והסוכן שלכם יריץ אותו ללא היסוס. לכן, כדאי להעביר כל דבר שלא כתבתם בעצמכם דרך סורק אבטחה שאתם מארחים בעצמכם לפני הטעינה. אם אתם בונים סוכן משלכם, הגדרה מוקדמת של פורמט הרחבה קטן וברור תחסוך מכם את הצורך להטמיע כל יכולת בתוך הליבה באופן קשיח (hard-coding) בשלב מאוחר יותר.
הבאת מודל משלך
OpenClaw הוא אגנוסטי למודלים. הוא אינו מגיע עם מודל שפה משלו. במקום זאת, הוא מתחבר למודל שתבחר, בין אם מדובר ב-API מאוחסן או במודל שאתה מריץ בעצמך.
להפרדה הזו יש משמעות מבחינת עלות, פרטיות ושליטה. API מאוחסן מספק לך את המודלים החזקים ביותר ללא צורך בניהול חומרה, במחיר לפי טוקן ועם יציאת ה-prompts מהשרת שלך. מודל בהרצה עצמית, המוגש באמצעות כלים כמו Ollama, שומר כל הודעה בשרת הפרטי שלך ועולה רק בעלות החומרה והחשמל, במחיר של הרצת מודל קטן או איטי יותר. משתמשים רבים משלבים בין השניים. אם ברצונך לשמור על סוכן פרטי לחלוטין, אירוח עצמי של המודל ב-VPS שלך הוא החלק שסוגר את הפער האחרון, ו-Hermes Agent הוא סוכן נוסף בהרצה עצמית שכדאי להשוות אליו.
האם כדאי לבנות אחד כזה?
ניתן לבנות את כל המערכת הזו. הרכיבים אינם אקזוטיים: daemon, כמה מחברים (connectors) לצ'אט, לולאת מודל-וכלים, תיקיית Markdown ופורמט תוספים. הבנת הרכיבים הללו מועילה באמת, כיוון שהיא מסירה את המסתורין מכל סוכן שתשתמש בו ומצביעה בדיוק על המקומות שבהם טמון הסיכון.
אולם עבור רוב האנשים, התשובה הכנה היא להריץ את המוצר המוגמר ולהקשיח אותו, במקום להמציא אותו מחדש. OpenClaw כבר פתר את סוגיית המחברים, הלולאה ופורמט הכישורים, והוא עבר בחינות אבטחה מעמיקות. עדיף להשקיע את המאמץ בחלק שבאמת תלוי בך, כלומר בהגדרה ובהקשחה של השרת הפרטי שלך. אם ברצונך ללמוד את התחום, התקדמות בשלבים דרך המושגים עדיפה על קריאה יבשה של קוד המקור של הסוכן, שכן כל שלב מותיר אותך עם תוצר שבנית בפועל. בנה סוכן קטן כדי ללמוד. הרץ והקשח את הסוכן האמיתי כדי להשתמש בו.
היסודות הכלליים מפורטים ב-בניית סוכן AI עצמאי על גבי VPS, והמדריך בניית סוכן עם Claude מציג את אותם הרעיונות תוך שימוש במודל ספציפי כ"מוח" של המערכת.
FAQ
האם קשה לבנות סוכן (agent) כמו OpenClaw?
החלקים הבודדים אינם קשים. תהליך gateway, מחבר צ'אט, לולאת מודל-וכלים, ותיקיית קבצים הם רכיבים פשוטים כשלעצמם. החלק הקשה הוא ביצוע המשימה בצורה מאובטחת. סוכן שמריץ פקודות shell מתוך הודעות צ'אט מהווה שטח תקיפה משמעותי, והקמת ה-sandboxing, הרשאות הגישה והגדרת משתמש ללא הרשאות (unprivileged user) דורשות עבודה רבה יותר מאשר חיבור התכונות עצמן.
מדוע OpenClaw מאחסן זיכרון כקבצי Markdown במקום במסד נתונים?
עבור סוכן אישי למשתמש יחיד, קבצים מספיקים והם פשוטים בהרבה. אין צורך להריץ שירות מסד נתונים, הזיכרון קריא וניתן לתיקון ידני, והעברת הסוכן לשרת אחר מסתכמת בהעתקת תיקייה. מסד נתונים מצדיק את קיומו בקנה מידה גדול, לא כאן.
מהו החלק המסוכן ביותר בסוכן AI אישי?
הכלים המאפשרים לו לפעול: הרצת פקודות shell, שליטה בדפדפן וכתיבת קבצים. אלו הסיבות לבנייתו, אך גם הסיבות לכך שהוא עלול להזיק. גל התראות האבטחה של OpenClaw ממרץ 2026, שכלל 27 התראות שפורסמו בין ה-13 ל-16 במרץ, כולל שתי התראות קריטיות בדירוג 9.9, הוא ההוכחה הברורה ביותר לכך שיש להתייחס לשכבת הכלים בזהירות: יש להריץ את הסוכן כמשתמש ללא הרשאות, להגביל פעולות הרסניות ולבצע הרצה בתוך sandbox.
האם אני צריך מודל שפה משלי כדי לבנות אחד כזה?
לא. סוכנים כמו OpenClaw הם אגנוסטיים למודל, כך שניתן לחבר כל מודל שתבחר. זה יכול להיות API מאוחסן עבור המודלים החזקים ביותר, או מודל שאתה מריץ בעצמך למען פרטיות מלאה. אירוח עצמי באמצעות Ollama שומר כל הודעה בשרת שלך, במחיר של הרצת מודל קטן יותר.