פתרון בעיות

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

בעיות הפעלה בשולחן העבודה

הסגר ב־macOS

גרסאות macOS של CodeNomad אינן מאושרות נוטריונית על ידי Apple, ולכן macOS עשוי לחסום את ההפעלה הראשונה של עותק שהורד, גם כזה שאימתתם מהמאגר הרשמי: ייתכן שתוצג ההודעה "CodeNomad" Not Opened (Apple לא הצליחה לוודא שהוא נקי מתוכנות זדוניות), או הודעה שהיישום פגום.

  1. בדקו את מקור ההורדה ואת נתיב היישום המותקן.
  2. אם היישום מותקן בנתיב הבא, הסירו את מאפיין ההסגר שלו:
xattr -dr com.apple.quarantine /Applications/CodeNomad.app
  1. הפעילו שוב. עבור ההודעה Not Opened אפשר במקום זאת, לאחר ההפעלה החסומה, לבחור Open Anyway עבור CodeNomad ב־System Settings → Privacy & Security ולאשר בסיסמת מנהל המערכת.

הדבר משנה את מאפיין ההסגר של macOS באותו יישום. הוא אינו מתקן הורדה פגומה או הופך קובץ הרצה לא מוכר למהימן.

גרפיקה ו־FUSE ב־Linux

AppImage של Tauri שיוצא מיד ב־Wayland/NVIDIA עשוי להיות מושפע ממנגנון התצוגה DMA-BUF/GBM של WebKitGTK. הריצו את ה־AppImage שהורדתם עם דריסת הסביבה הממוקדת:

WEBKIT_DISABLE_DMABUF_RENDERER=1 ./CodeNomad-Tauri-linux-x64-<version>.AppImage

Electron משתמש ב־Chromium ומהווה חלופה באותו מארח. אם במקום זאת לא ניתן לעגן את מערכת הקבצים של ה־AppImage משום ש־FUSE אינו זמין, השתמשו ב־--appimage-extract-and-run; ראו התקנה ב־Linux. תיקונים אלה אינם דורשים השבתת ארגז החול של Electron.

זמינות Git וסביבת עבודה

  1. בדקו Git ב־PATH של חשבון שרת הקצה, לא רק בתוך מעטפת הסוכן.
  2. התקינו Git באותו מארח/חשבון אם חסר, ואז הפעילו מחדש את שרת הקצה של CodeNomad כדי שיירש את הסביבה המעודכנת.
  3. פתחו מחדש/רעננו את סביבת העבודה ובדקו את מצב המאגר.

שיחות מוגבלות לתיקייה נשארות זמינות ללא Git; פקדי worktree ו־Git אינם זמינים. ב־Windows, Git המותקן רק ב־WSL אינו מספיק לשרת הקצה ב־Windows. תיקייה מוכרת ללא מאגר יכולה להציג אתחול Git; קובץ הרצה חסר של Git הוא מצב אחר שיש לתקן תחילה. ראו דרישות ו־קבצים.

אם אי אפשר לאמת worktree או מיקום שיחה בבעלות הסביבה, פתחו את התיקייה הפיזית שלו במפורש במקום לנסות נתיבים שרירותיים או לערוך אחסון מקורי. רעננו לאחר העברה/הסרה לא ודאית כדי לראות איזה מיקום קיים בפועל. הסרת worktree בכפייה עלולה להשמיד קבצים שלא בוצע להם commit; אל תשתמשו בה כתיקון חיבור.

סביבת ריצה של OpenCode ו־WSL

  1. פתחו העדפות → OpenCode ובדקו את הכרטיס גרסת OpenCode (הגרסה המותקנת ומצב השירות הפועל), ואז את קובץ ההרצה שנבחר תחת קובץ בינארי של OpenCode.
  2. השתמשו בפעולת ההתקנה/העדכון הנתמכת כשסביבת הריצה הנדרשת חסרה. מינימום נוכחי: 2.1.2; מומלצת/שנבדקה: 2.1.4.
  3. אם ה־CLI המותקן שונה מהשירות הפועל, החליטו במפורש אם להפעיל מחדש את השירות המשותף.

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

לקובץ הרצה ב־WSL, ודאו את ההפצה הרצויה ואת העברת localhost ב־Windows. מחזור חיי השירות פועל בתוך Linux; CodeNomad עדיין צריך להגיע לנקודת הקצה loopback שלו מ־Windows. לעולם אל תערכו את רישום השירות/מסד הנתונים או תשלחו אותות למזהי תהליכי Linux מנוחשים מ־Windows.

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

התחברות, TLS וקישוריות ישירה

תסמין בדיקה והתאוששות בטוחות
התחברות מחדש ל-CodeNomad השאירו את הדף פתוח, הזינו שם משתמש/סיסמה של השרת ובחרו התחברות. ההתאוששות מתחברת מחדש במקום לשמירת טיוטות; היא אינה חוזרת על הפעולה שנכשלה.
השרת אינו נגיש ודאו ששרת הקצה פועל והשתמשו בכתובת המודפסת/ביציאה בפועל. בדיקת אי־נגישות לבדה אינה מוכיחה שההתחברות פגה.
הספק דוחה אימות תקנו את התחברות הספק דרך בעליה; אל תשנו את סיסמת שרת CodeNomad כדי לתקן OAuth של ספק.
שגיאת שם/אמון בתעודה בדקו את שם המארח/כתובת ה־IP בפועל מול SANs בתעודה והתקינו אמון ב־CA הרצוי או תעודת שרת תקינה. אל תשביתו אימות TLS.
חיבור ישיר נדחה בדקו האזנת HTTP/HTTPS בפועל, חומת אש וניתוב. HTTP בשולחן עבודה או במצב שני מאזינים נשאר ב־loopback; למצב עצמאי של HTTP בלבד יש התנהגות האזנה שונה.

לאחר התאוששות אימות, בדקו מצב לפני ניסיון חוזר ידני של שינוי שתשובתו לא ודאית. יש לספק סיסמאות זמן ריצה בכל הפעלת שרת קצה; סיסמה שנשמרה בהגדרות נשארת קבועה. ראו אבטחה, כללי TLS/האזנה ו־מדריך השרת.

צימוד לשליטה מרחוק

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

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

מצב ספקים, תוספים והרחבות

בעיה התאוששות
חשבון/מכסת ספק שגויים בדקו את החשבון המקורי שנבחר ואת שימוש. תצוגת מכסה אינה סך טוקנים/עלות. רעננו לאחר שינוי חשבון לא ודאי; הבחירה עשויה להשפיע על לקוחות אחרים של אותו שירות.
OAuth בבעלות חיצונית שפג התחברו שוב דרך OpenCode, Claude Code או בעל האישורים הרלוונטי. CodeNomad אינו מחליף את אסימוני הרענון שלהם.
סבב אוטומטי אינו מחליף חשבון בדקו זכאות להפעלה מרצון והאם החשבון הנוכחי אכן מלא. זו מדיניות לפני קבלת עבודה, לא מעבר גיבוי בזמן הרצה או שליחה מחדש של קלט.
מצב תוסף נראה מיושן השתמשו ב־רענון פקדי התוספים ובדקו את ההיקף/היעד בעצת התוסף; הפעלה בזמן ריצה עשויה להמתין לרענון מקורי. אל תפעילו שוב ושוב מתג שכתיבתו אינה ודאית.
בקרת המשימה אינה זמינה פעלו לפי הסיבה שהיא מציינת. אם OpenCode לא טען את תוסף המשימות, רעננו, ואז השתמשו ב־טעינה מחדש של תצורת OpenCode אם המצב נמשך; אם טעינת התוסף נכשלה, קראו את השגיאה שלו ברשימת התוספים; אם השרת לא הצליח לפתוח את חיבור המשימות המקומי שלו, בדקו את יומן השרת, כי טעינה מחדש של OpenCode לא תעזור. משימות פועלות גם בשרת העצמאי.
הרחבה מותקנת חסרה בדקו את תיבת ההפעלה היחידה שלה בהתאמת הלוח. התקנה/החלפה משאירה אותה מושבתת עד הפעלה מפורשת ואישור ההסכמה הנדרשת.
נכסי הרחבה נדחים ודאו הסכמה לקריאת נכסים ב־API 2 עבור הסשן המוצג הנוכחי. התקנת הרחבה אינה הרשאה לקרוא קבצים/היסטוריה שרירותיים.

ראו ספקים, שילובים ו־הרחבות.

היסטוריה, בקשות ממתינות וניקוי

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

אם התאוששות בקשות ממתינות אינה שלמה, CodeNomad משמר תורים ידועים וטיוטות תשובה במקום להתייחס לכיסוי חסר כתור ריק. אחרי שתי התאוששויות חלקיות רצופות הוא מזהיר פעם אחת, ומציין את הפרויקט, הסיבה, התיקיות והסשנים המושפעים; האזהרה שייכת לקטגוריית ההתראות פרויקטים ולשוניות (על המסך ובהיסטוריה כברירת מחדל, ראו הגדרות → התראות). בדיקת החיוּת מנסה שוב כשלים זמניים. דחייה עקב סיכום הקשר אינה אומרת שהבקשה בוטלה. השאירו את הטיוטה שלמה, אמתו את חיבור השירות והשתמשו במצב הבקשה הנוכחי לפני מענה נוסף.

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

יומנים ואבחון בטוח

  1. פתחו מידע על מופע לבדיקת מצבו; הצג לוגי שרת מציג את הפלט הזמין.
  2. ב־העדפות → OpenCode, בחרו פירוט לוגים רצוי רק כשנדרש פירוט נוסף. ליומני CodeNomad עצמאי, השתמשו ב־אפשרויות היומן ב־CLI של השרת.
  3. פתחו הגדרות → מידע → אבחון והשתמשו ב־דווח על באג, העתק ללוח או הורד .txt.

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