פתרון בעיות: אינטגרציות
Google Workspace
טוקן OAuth פג תוקף או בוטל
טוקני רענון OAuth של Google יכולים להיות מבוטלים (על ידי המשתמש, על ידי Google או על ידי חוסר פעילות). כאשר זה קורה:
Google OAuth token exchange failedאו שתראו שגיאות 401 בקריאות API של Google.
תיקון: אמתו מחדש:
bash
triggerfish connect googleזה פותח דפדפן לזרימת הסכמת OAuth. לאחר מתן גישה, הטוקנים החדשים מאוחסנים ב-keychain.
"No refresh token"
זרימת ה-OAuth החזירה access token אך ללא refresh token. זה קורה כאשר:
- כבר אישרתם את האפליקציה בעבר (Google שולח refresh token רק באישור הראשון)
- מסך הסכמת OAuth לא ביקש גישה לא-מקוונת
תיקון: בטלו את גישת האפליקציה ב-הגדרות חשבון Google, ואז הריצו שוב triggerfish connect google. הפעם Google ישלח refresh token חדש.
מניעת רענון מקבילי
אם מספר בקשות מפעילות רענון טוקן בו-זמנית, Triggerfish מסדר אותן כך שרק בקשת רענון אחת נשלחת. אם אתם רואים חריגות זמן במהלך רענון טוקן, ייתכן שהרענון הראשון לוקח יותר מדי זמן.
GitHub
"GitHub token not found in keychain"
אינטגרציית GitHub מאחסנת את Personal Access Token ב-keychain של מערכת ההפעלה תחת המפתח github-pat.
תיקון:
bash
triggerfish connect github
# או ידנית:
triggerfish config set-secret github-pat ghp_...פורמט טוקן
GitHub תומך בשני פורמטי טוקן:
- PATs קלאסיים:
ghp_... - PATs מפורטים:
github_pat_...
שניהם עובדים. אשף ההגדרה מאמת את הטוקן על ידי קריאה ל-API של GitHub. אם האימות נכשל:
GitHub token verification failed
GitHub API request failedבדקו שוב שלטוקן יש את ה-scopes הנדרשים. לפונקציונליות מלאה, אתם צריכים: repo, read:org, read:user.
כשלי שכפול
לכלי שכפול GitHub יש לוגיקת ניסיון חוזר אוטומטית:
- ניסיון ראשון: שכפול עם
--branchהמצוין - אם הענף אינו קיים: ניסיון חוזר ללא
--branch(משתמש בענף ברירת המחדל)
אם שני הניסיונות נכשלים:
Clone failed on retry
Clone failedבדקו:
- לטוקן יש scope של
repo - המאגר קיים ולטוקן יש גישה
- קישוריות רשת ל-github.com
מגבלת קצב
מגבלת קצב API של GitHub היא 5,000 בקשות/שעה לבקשות מאומתות. ספירת מגבלת הקצב הנותרת וזמן האיפוס מחולצים מכותרות התגובה ומוכלים בהודעות שגיאה:
Rate limit: X remaining, resets at HH:MM:SSאין backoff אוטומטי. המתינו לאיפוס חלון מגבלת הקצב.
Notion
"Notion enabled but token not found in keychain"
אינטגרציית Notion דורשת טוקן אינטגרציה פנימי המאוחסן ב-keychain.
תיקון:
bash
triggerfish connect notionזה מבקש את הטוקן ומאחסן אותו ב-keychain לאחר אימותו עם ה-API של Notion.
פורמט טוקן
Notion משתמש בשני פורמטי טוקן:
- טוקני אינטגרציה פנימיים:
ntn_... - טוקנים מדור קודם:
secret_...
שניהם מתקבלים. אשף החיבור מאמת את הפורמט לפני אחסון.
מגבלת קצב (429)
ה-API של Notion מוגבל לכ-3 בקשות לשנייה. ל-Triggerfish יש מגבלת קצב מובנית (ניתנת להגדרה) ולוגיקת ניסיון חוזר:
- קצב ברירת מחדל: 3 בקשות/שנייה
- ניסיונות חוזרים: עד 3 פעמים על 429
- Backoff: אקספוננציאלי עם jitter, מתחיל ב-1 שנייה
- מכבד את כותרת
Retry-Afterמתגובת Notion
אם אתם עדיין נתקלים במגבלות קצב:
Notion API rate limited, retryingהפחיתו פעולות מקבילות או הורידו את מגבלת הקצב בתצורה.
404 Not Found
Notion: 404 Not Foundהמשאב קיים אך אינו משותף עם האינטגרציה שלכם. ב-Notion:
- פתחו את הדף או מסד הנתונים
- לחצו על תפריט "..." > "Connections"
- הוסיפו את אינטגרציית Triggerfish שלכם
"client_secret removed" (שינוי שובר)
בעדכון אבטחה, שדה client_secret הוסר מתצורת Notion. אם יש לכם שדה זה ב-triggerfish.yaml שלכם, הסירו אותו. Notion משתמש כעת רק בטוקן OAuth המאוחסן ב-keychain.
שגיאות רשת
Notion API network request failed
Notion API network error: <message>ה-API אינו נגיש. בדקו את חיבור הרשת שלכם. אם אתם מאחורי proxy ארגוני, ה-API של Notion (api.notion.com) חייב להיות נגיש.
CalDAV (יומן)
פענוח אישורים נכשל
CalDAV credential resolution failed: missing username
CalDAV credential resolution failed: secret not foundאינטגרציית CalDAV צריכה שם משתמש וסיסמה:
yaml
caldav:
server_url: "https://calendar.example.com/dav"
username: "your-username"
credential_ref: "secret:caldav:password"אחסנו את הסיסמה:
bash
triggerfish config set-secret caldav:password <your-password>כשלי גילוי
CalDAV משתמש בתהליך גילוי רב-שלבי:
- מציאת URL הראשי (PROPFIND על נקודת קצה well-known)
- מציאת calendar-home-set
- רשימת יומנים זמינים
אם שלב כלשהו נכשל:
CalDAV principal discovery failed
CalDAV calendar-home-set discovery failed
CalDAV calendar listing failedסיבות נפוצות:
- URL שרת שגוי (שרתים מסוימים צריכים
/dav/principals/או/remote.php/dav/) - אישורים נדחו (שם משתמש/סיסמה שגויים)
- השרת אינו תומך ב-CalDAV (שרתים מסוימים מפרסמים WebDAV אך לא CalDAV)
אי-התאמת ETag בעדכון/מחיקה
ETag mismatch — the event was modified by another client. Fetch the latest version and retry.CalDAV משתמש ב-ETags לבקרת מקביליות אופטימיסטית. אם לקוח אחר (טלפון, רשת) שינה את האירוע בין הקריאה לעדכון שלכם, ה-ETag לא יתאים.
תיקון: הסוכן צריך לשלוף את האירוע שוב כדי לקבל את ה-ETag הנוכחי, ואז לנסות שוב את הפעולה. זה מטופל אוטומטית ברוב המקרים.
"CalDAV credentials not available, executor deferred"
מבצע CalDAV מתחיל במצב דחוי אם אישורים לא יכולים להיות מפוענחים בעת ההפעלה. זה לא קריטי; המבצע ידווח שגיאות אם תנסו להשתמש בכלי CalDAV.
שרתי MCP (Model Context Protocol)
שרת לא נמצא
MCP server '<name>' not foundקריאת הכלי מפנה לשרת MCP שאינו מוגדר. בדקו את חלק mcp_servers שלכם ב-triggerfish.yaml.
בינארי שרת אינו ב-PATH
שרתי MCP מורצים כתת-תהליכים. אם הבינארי אינו נמצא:
MCP server '<name>': <validation error>בעיות נפוצות:
- הפקודה (למשל
npx,python,node) אינה ב-PATH של ה-daemon - בעיית PATH של systemd/launchd: ה-daemon לוכד את ה-PATH שלכם בזמן ההתקנה. אם התקנתם את כלי שרת MCP לאחר התקנת ה-daemon, התקינו מחדש את ה-daemon כדי לעדכן PATH:
bash
triggerfish stop
triggerfish dive --install-daemonשרת קורס
אם תהליך שרת MCP קורס, לולאת הקריאה יוצאת והשרת הופך ללא-זמין. אין חיבור מחדש אוטומטי.
תיקון: אתחלו מחדש את ה-daemon כדי ליצור מחדש את כל שרתי MCP.
תעבורת SSE חסומה
שרתי MCP שמשתמשים בתעבורת SSE (Server-Sent Events) כפופים לבדיקות SSRF:
MCP SSE connection blocked by SSRF policyכתובות URL של SSE המצביעות על כתובות IP פרטיות חסומות. זה מכוון. השתמשו בתעבורת stdio עבור שרתי MCP מקומיים במקום.
שגיאות קריאת כלים
tools/list failed: <message>
tools/call failed: <message>שרת MCP הגיב עם שגיאה. זו שגיאת השרת, לא של Triggerfish. בדקו את הלוגים של שרת MCP עצמו לפרטים.
Obsidian
"Vault path does not exist"
Vault path does not exist: /path/to/vaultנתיב ה-vault המוגדר ב-plugins.obsidian.vault_path אינו קיים. ודאו שהנתיב נכון ונגיש.
חציית נתיב חסומה
Path traversal rejected: <path>
Path escapes vault boundary: <path>נתיב הערה ניסה לחמוק מספריית ה-vault (למשל באמצעות ../). זו בדיקת אבטחה. כל פעולות הערות מוגבלות לספריית ה-vault.
תיקיות מוחרגות
Path is excluded: <path>הערה נמצאת בתיקייה הרשומה ב-exclude_folders. כדי לגשת אליה, הסירו את התיקייה מרשימת ההחרגות.
אכיפת סיווג
Obsidian read blocked: classification exceeds session taint
Obsidian write-down blockedל-vault או לתיקייה ספציפית יש רמת סיווג שמתנגשת עם זיהום הסשן. ראו פתרון בעיות אבטחה לפרטים על כללי כתיבה-למטה.
