Syncanix עם NestJS
הפכו API של NestJS למוכן לסוכנים: מה הגילוי קורא, איך מריצים אותו ואיך משחררים את ממשק הצ׳אט ושרת ה‑MCP.
NestJS מכריז על נתיבים עם דקורטורים ומרכיב קידומות גלובלית. הגילוי קורא את שניהם — את קידומת ה‑@Controller ואת setGlobalPrefix — גם כשהם חיים בקבצים שונים.
מה הגילוי קורא
הגילוי סטטי — הוא קורא את קוד המקור שלכם, לא את התעבורה. הוא מרכיב נתיבי בקשה מלאים בין קבצים, כך שקידומות שעוגנו הן חלק מכל נתיב שחולץ:
// main.ts
app.setGlobalPrefix('api');
// orders.controller.ts
@Controller('orders')
export class OrdersController {
@Get(':id') // → GET /api/orders/:id
@Post(':id/refund') // → POST /api/orders/:id/refund
}המחלץ משלב את קידומת הקונטרולר (בסגנון @Controller) עם setGlobalPrefix מ‑main.ts — הרכבה חוצת קבצים — כך ש כל דקורטור של handler מקוטלג תחת נתיב הפרודקשן המלא שלו.
הרצת הגילוי
משורש המאגר, הריצו את פקודת 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. כל פעולת כתיבה נשארת מוגבלת בהרשאות, מאושרת ומתועדת.