דלג לתוכן הראשי
בהצלחה, כל כלי מלבד get-screen-image מחזיר את התוצאה שלו פעמיים: כ-structuredContent (מאומת מול סכמת הפלט שפורסמה של הכלי) וכאותו אובייקט מסודר לתוך בלוק טקסט, { type: "text", text: "<json-string>" }, עבור לקוחות שאינם קוראים תוכן מובנה. get-screen-image מחזיר רק בלוק תמונה של MCP: { type: "image", data: "<base64>", mimeType: "image/png" }. בכישלון, מוגדר isError: true ובלוק הטקסט מכיל הודעת שגיאה קצרה. שגיאות שאפשר לפעול לפיהן — אי התאמה של שם במחיקה, קישור Figma לא תקין, הנחיות עיצוב לא חוקיות, בעיה בקובץ מצורף, או timeout של יצירה — מסבירות מה לתקן. כשלונות אחרים מחזירים הודעה כללית כמו Failed to list files.
תמחור: שלושת כלי העיצוב בעזרת AI — ai-design-screens, ai-generate-screen-variant, ו-ai-edit-screen-variant — משתמשים באותה מכסת הודעות כמו אפליקציית Flowstep. כל שאר הכלים חינמיים. ראו מגבלות שימוש.
כל כלי מפרסם גם הערות MCP כדי שהלקוח שלכם ידע מה הוא עושה. delete-file, delete-screen, delete-design-guidelines, replace-screen-jsx, ai-design-screens, ו-ai-edit-screen-variant מסומנים כהרסניים, מכיוון שהם מסירים או דורסים תוכן קיים.

כלי קבצים

list-files

רשימת מטא-נתונים של קבצי Flowstep שלכם. קראו לזה תחילה כדי לבדוק אם קובץ רלוונטי כבר קיים. הוא לא מחזיר תוכן מסכים — להחזרת תוכן השתמשו ב-get-screen-image או ב-get-screen-jsx. קלט פלט — { files }.
  • owner — true אם יצרתם את הקובץ.
  • shared_with_me — true אם הקובץ שותף איתכם ישירות, ולא רק דרך הארגון שלכם.
  • url — פותח את הקובץ בעורך של Flowstep.

get-file

קבלת מטא-נתונים של קובץ יחיד. תוכן הקובץ מושמט בכוונה — השתמשו ב-get-screen-image או ב-get-screen-jsx כדי לבדוק מסכים, וב-get-design-guidelines כדי לאחזר הנחיות מצורפות. אם יש לכם הזמנה ממתינה לקובץ, קריאה ל-get-file מקבלת אותה. קלט פלט — { file, user_access_level }.
  • access_level — private, read, או write.
  • visibility — private, member, או public.
  • user_access_level — הגישה שלכם לקובץ: read או write.

create-file

יצירת קובץ Flowstep ריק, בלי מסכים. כדי ליצור קובץ ולייצר מסכים בשלב אחד, קראו ל-ai-design-screens בלי fileId. השתמשו ב-create-file לזרימות עבודה מבוססות קוד, ואחריו ב-add-screen-jsx. קלט פלט — { file, user_access_level }, באותו מבנה כמו get-file. owner הוא תמיד true, ו-user_access_level הוא תמיד write. השתמשו ב-file.id שהוחזר כ-fileId בקריאות הכלים הבאות.

update-file

שינוי שם של קובץ. קלט פלט — { file, user_access_level }, באותו מבנה כמו get-file.

delete-file

מחיקה קבועה של קובץ. ה-name שאתם מעבירים נבדק מול שם התצוגה הנוכחי של הקובץ לפני המחיקה — אם הוא לא תואם, המחיקה מבוטלת. כך מונעים מחיקה בטעות של קובץ שגוי. הסוכנים מונחים לאשר איתכם לפני כן. קלט פלט — { "deleted": true }
לא ניתן לבטל פעולה זו. כל המסכים בקובץ נמחקים.

כלי מסכים

list-screens

רשימת המסכים בקובץ, בסדר הקנבס. קראו לזה אחרי list-files כדי לראות מה כבר נמצא בקובץ. השתמשו בערכי screenId שהוחזרו עם שאר כלי המסכים וכלי העיצוב בעזרת AI. קלט פלט — { screens }.
  • prompt — הפרומפט האחרון של היצירה למסך, או מחרוזת ריקה אם המסך מעולם לא נוצר בעזרת AI (למשל מסך שנוסף עם add-screen-jsx).
  • fidelity — lofi, hifi, או ui.

get-screen-image

רינדור מסך ל-PNG והחזרתו כתמונה מוטמעת. דורש לקוח שתומך בבלוקים של תוכן תמונה. קראו לזה פעם אחת עבור כל screenId שמוחזר על ידי כלי עיצוב בעזרת AI, add-screen-jsx, replace-screen-jsx, או import-figma. קלט פלט — בלוק תוכן תמונה של MCP (image/png). data הוא base64 סטנדרטי של בייטי ה-PNG, לא data URI. לכלי הזה אין structuredContent.

get-screen-jsx

קבלת מסך כ-JSX, יחד עם המטא-נתונים שלו — כדי שתוכלו לבנות ממנו בבסיס הקוד שלכם, או לערוך אותו ולכתוב אותו בחזרה עם replace-screen-jsx. להצגה חזותית השתמשו ב-get-screen-image במקום. קלט פלט — { fileId, screenId, name, prompt, fidelity, screenType, colorTheme, jsx, fragments }.
  • jsx — סימון בלבד. תכונות data-id נכללות רק כאשר includeIds הוא true.
  • prompt — הפרומפט האחרון של היצירה, או מחרוזת ריקה אם המסך מעולם לא נוצר בעזרת AI.
  • fragments — רכיבי מעטפת משותפים השמורים במסך, כמו סרגל ניווט, כותרת או לוגו, כאובייקטים מסוג { purpose, markup }. ריק כשאין כאלה. העבירו אותם בחזרה ל-replace-screen-jsx כדי לשמור או לעדכן אותם.
ראו ערכי שדות מסך לערכים של fidelity, screenType, ו-colorTheme.

add-screen-jsx

הוספת מסך חדש לקובץ מ-JSX שכתבתם. זוהי הדרך מבוססת הקוד והיא חינמית — השתמשו ב-ai-design-screens כשאתם רוצים ש-AI של Flowstep יעצב את המסך. add-screen-jsx תמיד יוצר מסך חדש: כדי לדרוס מסך קיים, השתמשו ב-replace-screen-jsx. כדי להציג תמונה שהעליתם, ראו תמונות ב-JSX. כשהמסך החדש מבוסס על מסך קיים, התחילו מ-get-screen-jsx (בלי includeIds) עבור name, fidelity, screenType, colorTheme, ו-jsx, ואז שנו את מה שצריך להיות שונה. קלט פלט — { fileId, screenId }. קראו ל-get-screen-image עם screenId כדי לראות את התוצאה.

replace-screen-jsx

דריסת מסך קיים ב-JSX שכתבתם. המסך שומר על ה-screenId ועל מיקומו בקנבס; אלמנטים מקוננים מקבלים מזהים חדשים. זוהי הדרך מבוססת הקוד והיא חינמית — השתמשו ב-ai-design-screens או ב-ai-edit-screen-variant לשינויים עם AI, וב-add-screen-jsx כדי ליצור מסך חדש במקום. התחילו מ-get-screen-jsx (בלי includeIds), ואז שנו את מה שצריך להיות שונה. כדי להציג תמונה שהעליתם, ראו תמונות ב-JSX. קלט פלט — { fileId, screenId }. קראו ל-get-screen-image עם screenId כדי לראות את התוצאה.
פעולה זו מחליפה את התוכן של המסך במקומו.

rename-screen

שינוי שם התווית של מסך בקנבס — השם שמוצג על ידי list-screens ובעורך. זה משנה רק את התווית, לא את הפריסה, הגודל או התוכן של המסך — לשינויים כאלה השתמשו ב-ai-design-screens. קלט פלט — { screenId, name }.

delete-screen

מחיקה קבועה של מסך מקובץ. ה-name שאתם מעבירים נבדק מול שם התצוגה הנוכחי של המסך — אם הוא לא תואם, המחיקה מבוטלת. הסוכנים מונחים לאשר איתכם לפני כן. קלט פלט — { "deleted": true }

תמונות ב-JSX

add-screen-jsx ו-replace-screen-jsx מקבלים תמונות ב-src של img, או כרקע ב-className עם bg-[url(...)]. כתבו טקסט alt, והתאימו את גודל כל תמונה לתפקידה. כדי להציב תמונה משלכם:
  1. העלו אותה עם upload-attachment במצב א’ (mimeType + fileName), והריצו את uploadCommand שיוחזר.
  2. אם ה-type בתגובה הוא "image", הדביקו את ה-assetUrl בדיוק כפי שהוחזר ב-img src או ב-bg-[url(assetUrl)].
השאירו כל כתובת תמונה אחרת בדיוק כפי ש-get-screen-jsx החזיר אותה. אל תכניסו path, signedUrl, או uploadCommand ל-src.

ערכי שדות מסך

get-screen-jsx מחזיר, ו-add-screen-jsx ו-replace-screen-jsx מקבלים, את הערכים האלה:

כלי הנחיות עיצוב

הנחיות עיצוב הן טקסט DESIGN.md השמור בקובץ. כשהן מוגדרות, הן מוזרקות לכל יצירת AI עבור הקובץ הזה. ראו הנחיות עיצוב.

get-design-guidelines

קבלת הנחיות העיצוב המצורפות לקובץ. קלט פלט — { guidelines }.
guidelines הוא null אם לא הוגדרו הנחיות.

update-design-guidelines

הגדרה או החלפה של הנחיות העיצוב לקובץ. העבירו את ההנחיות כמחרוזת רגילה בפורמט DESIGN.md של Google — לא כאובייקט או JSON. אם אתם קוראים מקובץ, העבירו את הטקסט של אותו קובץ. קלט כללי אימות
  • ה-frontmatter חייב להיפתח ולהיסגר כראוי
  • שורות ה-frontmatter חייבות להיות YAML חוקי בסגנון בלוקים
  • גוף ה-Markdown לא יכול להכיל כותרות ## כפולות
אם האימות נכשל, הקריאה מחזירה שגיאה שמתחילה ב-Invalid design guidelines:. פלט — { updated, warnings? }.
warnings מפרט בעיות אימות רכות (מפתחות לא מוכרים, צבעים שאינם הקסדצימליים) שהתקבלו אך ייתכן שה-AI יתעלם מהם. הציגו אותן למשתמש. השדה מושמט כשאין אזהרות.

delete-design-guidelines

ניקוי הנחיות העיצוב של קובץ. מחיקה של הנחיות שלא קיימות אינה משנה דבר. קלט פלט — { "deleted": true }

כלי צ’אט

get-chat-history

קבלת שיחת העיצוב המשויכת לקובץ — צ’אט הקובץ ב-Flowstep, לא השיחה של לקוח ה-MCP שלכם. השתמשו בזה כדי להמשיך עבודה קודמת על הקובץ. קלט פלט — { messages }. messages ריק כשאין לכם שיחת עיצוב על הקובץ. לכל הודעה יש type ("request" או "response"), author ("human" או "ai"), ו-content_type. הודעות תגובה משתמשות ב-"text", "summary", או "followup".

כלי קבצים מצורפים

upload-attachment

העלאת קובץ עזר לשימוש כקובץ מצורף ב-ai-design-screens, או תמונה להצבה ב-JSX שלכם עם add-screen-jsx או replace-screen-jsx. ai-generate-screen-variant ו-ai-edit-screen-variant לא מקבלים קבצים מצורפים. בתים של הקובץ לעולם לא עוברים דרך המודל, והשרת לעולם לא מביא כתובות URL בשמכם. כדי להתייחס לעמוד אינטרנט, כללו את הכתובת שלו ב-message של ai-design-screens במקום. יש שני מצבים — השתמשו באחד בלבד, ואל תשלבו ביניהם. מצב א — קבצים ותמונות (mimeType + fileName) תהליך של שלושה שלבים שנדרש לכל תמונה, PDF או קובץ טקסט גדול:
  1. קראו ל-upload-attachment עם mimeType ו-fileName בלבד (למשל image/png ו-dog.png). התגובה היא העלאה מוכנה, לא קובץ שמור:
  2. החליפו את LOCAL_FILE_PATH ב-uploadCommand בנתיב המוחלט לקובץ שלכם, והריצו את הפקודה המדויקת הזו בטרמינל — היא חייבת להסתיים עם קוד 0. הטוקן ב-signedUrl מאשר רק את ההעלאה הבודדת הזו. דילוג על שלב זה משאיר את האחסון ריק, וכלי העיצוב נכשל בבדיקה המקדימה שלו.
  3. העבירו רק { id, path, type } למערך attachments של ai-design-screens — לא את signedUrl, uploadCommand, או nextStep. כדי להציב תמונה ב-JSX שלכם במקום זאת, שימו את assetUrl ב-img src או ב-bg-[url(...)] של ה-JSX שאתם מעבירים ל-add-screen-jsx או ל-replace-screen-jsx. ראו תמונות ב-JSX.
כדי לצרף קובץ מרוחק, הורידו אותו קודם לנתיב מקומי בעצמכם (למשל עם curl), ואז עקבו אחרי אותם שלושה שלבים. לעולם אל תעבירו כתובת URL ל-upload-attachment. מצב ב — טקסט קצר (text + mimeType) העלאת טקסט שכבר נמצא בהקשר — בלי צורך בפקודת shell. התגובה מוכנה לשימוש ישירות:
העבירו את { id, path, type } שהתקבל למערך attachments של ai-design-screens. גודל הקובץ המרבי הוא 3 MB בשני המצבים, וקבצי PDF מוגבלים ל-100 עמודים. פלט — { id, path, assetUrl, type, mimeType, signedUrl?, uploadCommand?, nextStep? }.
  • type — "image" עבור קבצי תמונה ו-"document" עבור PDF וקבצי טקסט.
  • assetUrl — כתובת הקובץ שהועלה, מוחזרת בשני המצבים. השתמשו בו ב-JSX עבור add-screen-jsx או replace-screen-jsx רק כש-type הוא "image", ורק אחרי שה-uploadCommand של מצב א’ רץ.
  • signedUrl, uploadCommand, nextStep — מוגדרים רק במצב א’. אל תעבירו אותם לכלי העיצוב.

כלי Figma

import-figma

ייבוא פריים מ-Figma לקובץ Flowstep כאלמנטים הניתנים לעריכה על הקנבס שלו. כל ייבוא מוסיף מסך חדש — ייבוא של אותו פריים פעמיים ייתן לכם שני מסכים, לכן מחקו את הישן עם delete-screen אם התכוונתם להחליף אותו. הארגון של הקובץ חייב להיות מחובר ל-Figma בהגדרות Flowstep. קלט פלט — { fileId, screenId, frameCount? }. screenId הוא המסך שיובא — העבירו אותו ל-get-screen-image כדי לראות את התוצאה. כשקישור לעמוד מייבא כמה פריימים, screenId הוא null ו-frameCount מוחזר במקומו; קראו ל-list-screens, ואז ל-get-screen-image עבור כל מסך חדש.

כלי תוכנית וחיוב

get-plan-details

קבלת התוכנית של הארגון שלכם ב-Flowstep, סטטוס המנוי, השימוש והמכסה שנותרה. אין קלט — הארגון נקבע לפי המשתמש המחובר. השתמשו בזה כדי לבדוק את המכסה לפני שתקראו לכלי העיצוב בעזרת AI. פלט — { plan, subscription, limits, usage, remaining }. המגבלות משתנות לפי תוכנית — ראו תמחור ומגבלות שימוש.

כלי עיצוב בעזרת AI

שלושת הכלים האלה מעצבים מתיאור או מהגדרה מוכנה — הם לעולם לא מקבלים או משתמשים מחדש ב-JSX. כל קריאה משתמשת באותה מכסת הודעות כמו אפליקציית Flowstep, וחוסמת עד שהיצירה מסתיימת או פוקעת (180 שניות). שלושתם מחזירים { status, fileId, screenIds, designGuidelinesUpdated }. קראו ל-get-screen-image פעם אחת עבור כל screenId כדי לראות את התוצאה.
  • designGuidelinesUpdated — סיכום קצר של השינוי כשהנחיות ה-DESIGN.md של הקובץ עודכנו אוטומטית במהלך התור הזה; אחרת null.

ai-design-screens

יצירת מסך אחד או יותר חדשים, שינוי מסכים קיימים במקומם, או שניהם בקריאה אחת, מתיאור טקסטואלי — זרימות חדשות, עיצוב ערכות נושא, טקסט, פריסה, או שינויים מתואמים על פני כמה מסכים. זהו אותו סוכן עיצוב כמו הצ’אט בעורך של Flowstep: הוא מחליט מתוך ה-message וה-elementIds מה לבנות ומה לשנות. השמיטו את fileId כדי להתחיל קובץ חדש; העבירו fileId כדי לעבוד בקובץ קיים. אם הבקשה יכולה לחול על קובץ שכבר יש לכם, הסוכן שלכם צריך לבדוק קודם את list-files ואת list-screens. לצעד הבא, מצב שגיאה או מצב ריק, או וריאציה לפלטפורמה של מסך אחד, השתמשו ב-ai-generate-screen-variant. לעריכה או עיצוב מחדש מוגדרים מראש של מסך אחד, השתמשו ב-ai-edit-screen-variant. אם כבר יש לכם JSX, השתמשו ב-add-screen-jsx או ב-replace-screen-jsx במקום. קלט דוגמה — עריכת מסך אחד והוספת מסך נוסף בקריאה אחת:
פלט — { status, fileId, screenIds, designGuidelinesUpdated, reply? }.
  • status — "generated" כשמסכים נבנו או שונו. "chat" כש-Flowstep ענה בלי לבנות, ובמקרה כזה reply מכיל את התשובה ו-screenIds ריק. אם הבריף שלכם לא ברור, הסוכן שלכם צריך לבקש ממכם להבהיר ולקרוא לכלי שוב.
  • screenIds — כל מסך שנבנה או שונה במהלך הקריאה, כולל מסכים שנערכו במקום. אם הקריאה פוקעת אחרי שחלק מהמסכים נבנו, היא מחזירה את המסכים האלה במקום שגיאה.
מסכים שאתם מבקשים לערוך נדרסים במקומם.

ai-generate-screen-variant

הוספת מסך חדש שנגזר ממסך קיים אחד בדיוק — הצעד הבא בזרימה, מצב שגיאה או ריק, או גרסה לפלטפורמה אחרת. המסך המקורי נשאר ללא שינוי. כדי להוסיף מסך שאינו וריאציה של מסך קיים (למשל מסך הגדרות), השתמשו ב-ai-design-screens עם fileId. קלט פלט — { status, fileId, screenIds, designGuidelinesUpdated }. status הוא תמיד "generated".

ai-edit-screen-variant

שינוי מסך קיים אחד בדיוק במקומו, באמצעות הגדרה מוכנה — עיצוב או ליטוש שלו בערכת נושא, ניסיון לפריסה או סגנון חזותי אחר, או עיצוב מחדש מההתחלה. למסכים חדשים, להוראות חופשיות, או לעריכה מדויקת של אלמנטים בודדים, השתמשו ב-ai-design-screens. קלט פלט — { status, fileId, screenIds, designGuidelinesUpdated }. status הוא תמיד "generated".
פעולה זו דורסת את התוכן של המסך במקומו.

שמות כלים ששונו

שמות הכלים השתנו בספטמבר ואוקטובר 2026. אם יש לכם פרומפטים, סקריפטים או הוראות לסוכן שמשתמשים בשמות הישנים, עדכנו אותם: הקלטים השתנו גם: כלי העיצוב בעזרת AI מקבלים elementIds (או screenId בודד לכלי הווריאציות) במקום targets, add-screen-jsx מקבל jsx ושדות מטא-נתונים מפורשים במקום jsxContent עם הערת מטא-נתונים, create-file מקבל name במקום title, וכלי הנחיות העיצוב מקבלים fileId במקום resourceId ו-linkedTo.