Syncanix עם FastAPI
הפכו שירות FastAPI למוכן לסוכנים: מה הגילוי קורא, איך מריצים אותו ואיך משחררים את ממשק הצ׳אט ושרת ה‑MCP.
FastAPI מרכיב ראוטרים עם קידומות בשתי רמות — על ה‑APIRouter עצמו ושוב ב‑include_router. הגילוי מקפל את שתיהן, בתוך קובץ ובין קבצים.
מה הגילוי קורא
הגילוי סטטי — הוא קורא את קוד המקור שלכם, לא את התעבורה. הוא מרכיב נתיבי בקשה מלאים בין קבצים, כך שקידומות שעוגנו הן חלק מכל נתיב שחולץ:
# main.py
app.include_router(orders_router, prefix="/api")
# orders.py
orders_router = APIRouter(prefix="/orders")
@orders_router.get("/{order_id}") # → GET /api/orders/{order_id}
@orders_router.post("/{order_id}/refund") # → POST /api/orders/{order_id}/refundהמחלץ מרכיב את APIRouter(prefix=…) עם include_router(…, prefix=…) בתוך קבצים וביניהם — כולל שרשראות אגרגטורים מקוננות — כך שפעולות נתיב מעוטרות מקוטלגות תחת נתיביהן המורכבים במלואם.
הרצת הגילוי
משורש המאגר, הריצו את פקודת init. היא מזהה את הפריימוורק אוטומטית, מבקשת את הסכמתכם לפני כל העשרה באמצעות LLM, וכותבת קטלוג דטרמיניסטי:
$ npx syncanix init
✓ detected framework
✓ scanned routes
✓ wrote .syncanix/catalog.json
→ review your capabilities in the dashboardסקירת הקטלוג
הקטלוג ב.syncanix/catalog.json מפרט כל יכולת שהגילוי מצא — מתודה, נתיב והתיאור המועשר שהמשתמשים שלכם יראו. סקרו אותו כמו קוד לפני ההעלאה: זהו החוזה ש ממשק הצ׳אט ושרת ה‑MCP שלכם חושפים.
שחרור הממשק
לאחר העלאת הקטלוג, הטמיעו את הווידג׳ט לצ׳אט בתוך האפליקציה וחברו את שרת ה‑MCP הפר‑טננטי ל‑Claude, ChatGPT ו‑Cursor. כל פעולת כתיבה נשארת מוגבלת בהרשאות, מאושרת ומתועדת.