get-screen-image dan tashqari har bir vosita natijasini ikki marta qaytaradi: structuredContent sifatida (vositaning e’lon qilingan chiqish sxemasiga mos holda tekshirilgan) va xuddi shu obyektni matn blokiga, { type: "text", text: "<json-string>" } ko‘rinishida, strukturalangan kontentni o‘qimaydigan mijozlar uchun. get-screen-image faqat MCP rasm blokini qaytaradi: { type: "image", data: "<base64>", mimeType: "image/png" }.
Xato bo‘lganda isError: true o‘rnatiladi va matn blokida qisqa xato xabari bo‘ladi. Siz harakat qila oladigan xatolar — o‘chirishda nom mos kelmasligi, noto‘g‘ri Figma havolasi, noto‘g‘ri dizayn yo‘riqnomalari, biriktirma muammosi yoki generatsiya vaqti tugashi — nima tuzatish kerakligini tushuntiradi. Boshqa xatolar Failed to list files kabi umumiy xabarni qaytaradi.
Narxlash: uchta AI dizayn vositasi —
ai-design-screens, ai-generate-screen-variant va ai-edit-screen-variant — Flowstep ilovasi bilan bir xil xabar limitidan foydalanadi. Boshqa barcha vositalar bepul. Qarang: Foydalanish limitlari.delete-file, delete-screen, delete-design-guidelines, replace-screen-jsx, ai-design-screens va ai-edit-screen-variant mavjud kontentni olib tashlaydi yoki qayta yozadi, shuning uchun ular destructive (xavfli) deb belgilangan.
Fayl vositalari
list-files
Flowstep fayllaringiz uchun metama’lumotlar ro‘yxatini qaytaradi. Mos fayl allaqachon mavjudligini tekshirish uchun avval shu vositani chaqiring. U ekran kontentini qaytarmaydi — buning uchun get-screen-image yoki get-screen-jsx dan foydalaning.
Kirish
Chiqish —
{ files }.
owner— fayl sizning yaratganingizdatrue.shared_with_me— fayl sizga to‘g‘ridan-to‘g‘ri ulashilgan bo‘lsatrue, faqat tashkilotingiz orqali emas.url— faylni Flowstep tahrirlovchisida ochadi.
get-file
Bitta fayl uchun metama’lumotlarni oladi. Fayl kontenti ataylab chiqarib tashlangan — ekranlarni tekshirish uchun get-screen-image yoki get-screen-jsx dan, biriktirilgan yo‘riqnomalarni olish uchun esa get-design-guidelines dan foydalaning. Agar faylga kutilayotgan taklifingiz bo‘lsa, get-file ni chaqirish uni qabul qiladi.
Kirish
Chiqish —
{ file, user_access_level }.
access_level—private,readyokiwrite.visibility—private,memberyokipublic.user_access_level— fayldagi kirish huquqingiz:readyokiwrite.
create-file
Hech qanday ekransiz bo‘sh Flowstep fayl yaratadi. Faylni yaratib, bir qadamda ekranlarni generatsiya qilish uchun buning o‘rniga fileId siz ai-design-screens ni chaqiring. Kod birinchi ish oqimlari uchun create-file dan foydalaning, so‘ng add-screen-jsx ni chaqiring.
Kirish
Chiqish —
get-file bilan bir xil shakldagi { file, user_access_level }. owner doim true, user_access_level doim write.
Keyingi vosita chaqiruvlarida fileId sifatida qaytarilgan file.id dan foydalaning.
update-file
Faylni qayta nomlaydi.
Kirish
Chiqish —
get-file bilan bir xil shakldagi { file, user_access_level }.
delete-file
Faylni butunlay o‘chiradi. Siz yuborgan name o‘chirishdan oldin faylning joriy ko‘rsatiladigan nomi bilan tekshiriladi — mos kelmasa, o‘chirish bekor qilinadi. Bu noto‘g‘ri faylni tasodifan o‘chirishning oldini oladi. Agentlarga avval siz bilan tasdiqlash ko‘rsatilgan.
Kirish
Chiqish —
{ "deleted": true }
Ekran vositalari
list-screens
Faylning ekranlarini kanvas tartibida ro‘yxatlaydi. list-files dan keyin faylda nima borligini ko‘rish uchun shu vositani chaqiring. Qaytarilgan screenId qiymatlaridan boshqa ekran vositalari va AI dizayn vositalari bilan foydalaning.
Kirish
Chiqish —
{ screens }.
prompt— ekran uchun oxirgi generatsiya prompt’i, yoki ekran hech qachon generatsiya qilinmagan bo‘lsa bo‘sh qator (masalan,add-screen-jsxbilan qo‘shilgan ekran).fidelity—lofi,hifiyokiui.
get-screen-image
Ekranni PNG ga renderlaydi va uni ichki rasm sifatida qaytaradi. Rasm kontent bloklarini qo‘llab-quvvatlaydigan mijoz talab qilinadi. AI dizayn vositasi, add-screen-jsx, replace-screen-jsx yoki import-figma tomonidan qaytarilgan har bir screenId uchun bir marta chaqiring.
Kirish
Chiqish — MCP rasm kontent bloki (
image/png). data — PNG baytlarining standart base64 ko‘rinishi, data URI emas. Bu vosita uchun structuredContent yo‘q.
get-screen-jsx
Ekranni JSX sifatida va uning metama’lumotlari bilan qaytaradi — shunda uni kod bazangizda qurishingiz yoki tahrirlab, replace-screen-jsx bilan qaytarishingiz mumkin. Vizual ko‘rinish uchun buning o‘rniga get-screen-image dan foydalaning.
Kirish
Chiqish —
{ fileId, screenId, name, prompt, fidelity, screenType, colorTheme, jsx, fragments }.
jsx— faqat markup.data-idatributlari faqatincludeIdstruebo‘lganda kiritiladi.prompt— oxirgi generatsiya prompt’i, yoki ekran hech qachon generatsiya qilinmagan bo‘lsa bo‘sh qator.fragments— ekranda saqlangan umumiy interfeys qismlari (navigatsiya paneli, sarlavha yoki logotip kabi),{ purpose, markup }obyektlari ko‘rinishida. Bo‘lmasa, bo‘sh. Ularni saqlash yoki yangilash uchunreplace-screen-jsxga qaytaring.
fidelity, screenType va colorTheme qiymatlari uchun Ekran maydonlari qiymatlari ga qarang.
add-screen-jsx
Siz yozgan JSX dan faylga yangi ekran qo‘shadi. Bu kod birinchi yo‘l va bepul — Flowstep AI ekranni loyihalashini xohlaganingizda ai-design-screens dan foydalaning. add-screen-jsx doim yangi ekran yaratadi: mavjudini qayta yozish uchun replace-screen-jsx dan foydalaning.
Yuklagan rasmingizni ko‘rsatish uchun JSX ichidagi rasmlar bo‘limiga qarang.
Yangi ekran mavjud ekranga asoslangan bo‘lsa, name, fidelity, screenType, colorTheme va jsx uchun get-screen-jsx (includeIds siz) dan boshlang, so‘ng farq qilishi kerak bo‘lgan narsalarni o‘zgartiring.
Kirish
Chiqish —
{ fileId, screenId }. Natijani ko‘rish uchun screenId bilan get-screen-image ni chaqiring.
replace-screen-jsx
Mavjud ekranni siz yozgan JSX bilan qayta yozadi. Ekran o‘zining screenId va kanvasdagi o‘rnini saqlaydi; ichki elementlar yangi id’lar oladi. Bu kod birinchi yo‘l va bepul — AI o‘zgarishlari uchun ai-design-screens yoki ai-edit-screen-variant dan, yangi ekran yaratish uchun esa add-screen-jsx dan foydalaning.
get-screen-jsx (includeIds siz) dan boshlang, so‘ng farq qilishi kerak bo‘lgan narsalarni o‘zgartiring. Yuklagan rasmingizni ko‘rsatish uchun JSX ichidagi rasmlar bo‘limiga qarang.
Kirish
Chiqish —
{ fileId, screenId }. Natijani ko‘rish uchun screenId bilan get-screen-image ni chaqiring.
rename-screen
Ekranning kanvas yorlig‘ini qayta nomlaydi — list-screens va tahrirlovchida ko‘rsatiladigan nom. Bu faqat yorliqni o‘zgartiradi, ekranning joylashuvi, o‘lchami yoki kontentini emas — ular uchun ai-design-screens dan foydalaning.
Kirish
Chiqish —
{ screenId, name }.
delete-screen
Ekranni faylidan butunlay o‘chiradi. Siz yuborgan name ekranning joriy ko‘rsatiladigan nomi bilan tekshiriladi — mos kelmasa, o‘chirish bekor qilinadi. Agentlarga avval siz bilan tasdiqlash ko‘rsatilgan.
Kirish
Chiqish —
{ "deleted": true }
JSX ichidagi rasmlar
add-screen-jsx va replace-screen-jsx rasmni img src da yoki className ichida bg-[url(...)] bilan fon sifatida qabul qiladi. alt matnini yozing va har bir rasmni o‘z maqsadiga mos o‘lchamda bering.
O‘zingizning rasmingizni joylashtirish uchun:
- Uni
upload-attachmentbilan A rejimida (mimeType+fileName) yuklang va qaytganuploadCommandni ishga tushiring. - Javobning
typeqiymati"image"bo‘lsa, uningassetUrlini qaytarilganidek aynanimg srcyokibg-[url(assetUrl)]ga qo‘ying.
get-screen-jsx qaytargandek qoldiring. path, signedUrl yoki uploadCommand ni src ga qo‘ymang.
Ekran maydonlari qiymatlari
get-screen-jsx qaytaradigan, add-screen-jsx va replace-screen-jsx qabul qiladigan qiymatlar:
Dizayn yo‘riqnomalari vositalari
Dizayn yo‘riqnomalari faylda saqlanadiganDESIGN.md matni. Ular o‘rnatilganda, shu fayl uchun har bir AI generatsiyasiga kiritiladi. Qarang: Dizayn yo‘riqnomalari.
get-design-guidelines
Faylga biriktirilgan dizayn yo‘riqnomalarini oladi.
Kirish
Chiqish —
{ guidelines }.
guidelines null bo‘ladi.
update-design-guidelines
Faylning dizayn yo‘riqnomalarini o‘rnatadi yoki almashtiradi. Yo‘riqnomalarni Google’ning DESIGN.md formati bo‘yicha oddiy satr sifatida uzating — obyekt yoki JSON emas. Agar fayldan o‘qayotgan bo‘lsangiz, o‘sha faylning matnini uzating.
Kirish
Tekshiruv qoidalari
- Frontmatter to‘g‘ri ochilgan va yopilgan bo‘lishi kerak
- Frontmatter qatorlari to‘g‘ri blok uslubidagi YAML bo‘lishi kerak
- Markdown asosida takroriy
##bo‘lim sarlavhalari bo‘lmasligi kerak
Invalid design guidelines: bilan boshlanadigan xatoni qaytaradi.
Chiqish — { updated, warnings? }.
warnings qabul qilingan, lekin AI tomonidan e’tiborga olinmasligi mumkin bo‘lgan yumshoq tekshiruv muammolarini (noma’lum kalitlar, hex bo‘lmagan ranglar) ro‘yxatlaydi. Hech narsa bo‘lmasa, u chiqarib tashlanadi. Bularni foydalanuvchiga ko‘rsating.
delete-design-guidelines
Faylning dizayn yo‘riqnomalarini tozalaydi. Mavjud bo‘lmagan yo‘riqnomalarni o‘chirish hech narsani o‘zgartirmaydi.
Kirish
Chiqish —
{ "deleted": true }
Chat vositalari
get-chat-history
Faylga bog‘liq dizayn suhbatini oladi — bu faylning Flowstep chati, MCP mijozingizning suhbati emas. Faylda oldingi ishni davom ettirish uchun undan foydalaning.
Kirish
Chiqish —
{ messages }. Faylda dizayn suhbatingiz bo‘lmasa, messages bo‘sh bo‘ladi. Har bir xabarning type ("request" yoki "response"), author ("human" yoki "ai") va content_type bor. Javob xabarlari "text", "summary" yoki "followup" dan foydalanadi.
Biriktirma vositalari
upload-attachment
ai-design-screens da biriktirma sifatida ishlatiladigan yoki add-screen-jsx yoki replace-screen-jsx bilan o‘z JSX ingizga joylashtiriladigan rasm uchun havola fayl yuklaydi. ai-generate-screen-variant va ai-edit-screen-variant biriktirmalarni qabul qilmaydi. Fayl baytlari hech qachon model orqali o‘tmaydi va server siz uchun URL’larni hech qachon olmaydi. Veb-sahifaga havola qilish uchun uning URL’ini ai-design-screens ning message ichiga kiriting.
Ikki rejim bor — faqat bittasidan foydalaning, ularni birlashtirmang.
A rejimi — fayllar va rasmlar (mimeType + fileName)
Har qanday rasm, PDF yoki kattaroq matn fayli uchun talab qilinadigan uch bosqichli oqim:
-
upload-attachmentni faqatmimeTypevafileNamebilan chaqiring (masalan,image/pngvadog.png). Javob tayyorlangan yuklash bo‘ladi, saqlangan fayl emas: -
uploadCommanddagiLOCAL_FILE_PATHni faylingizning mutlaq yo‘li bilan almashtiring va o‘sha aniq buyruqni shellingizda ishga tushiring — u 0 kodi bilan tugashi shart.signedUrldagi token faqat shu yagona yuklashga ruxsat beradi. Bu qadamni o‘tkazib yuborish saqlashni bo‘sh qoldiradi va dizayn vositasi oldindan tekshiruvdan o‘tmaydi. -
ai-design-screensningattachmentsmassiviga faqat{ id, path, type }ni uzating —signedUrl,uploadCommandyokinextStepni emas. Buning o‘rniga o‘z JSX ingizga rasm qo‘yish uchunassetUrlniadd-screen-jsxyokireplace-screen-jsxga uzatadigan JSX ningimg srcyokibg-[url(...)]ga qo‘ying. Qarang: JSX ichidagi rasmlar.
curl bilan), so‘ng xuddi shu uch qadamni bajaring. upload-attachment ga hech qachon URL uzatmang.
B rejimi — qisqa matn (
text + mimeType)
Allaqachon kontekstda bo‘lgan matnni yuklang — shell buyrug‘i kerak emas. Javob to‘g‘ridan-to‘g‘ri ishlatishga tayyor bo‘ladi:
Olingan
{ id, path, type } ni ai-design-screens ning attachments massiviga uzating.
Ikkala rejimda ham maksimal fayl hajmi 3 MB, PDF lar esa 100 sahifa bilan cheklangan.
Chiqish — { id, path, assetUrl, type, mimeType, signedUrl?, uploadCommand?, nextStep? }.
type— rasm fayllari uchun"image", PDF va matn fayllari uchun"document".assetUrl— yuklangan faylning URL’i, ikkala rejimda ham qaytariladi.add-screen-jsxyokireplace-screen-jsxuchun JSX da faqattype"image"bo‘lganda va A rejimidagiuploadCommandishga tushirilgandan keyin ishlating.signedUrl,uploadCommand,nextStep— faqat A rejimida qo‘yiladi. Ularni dizayn vositalariga uzatmang.
Figma vositalari
import-figma
Figma freymini Flowstep fayliga uning kanvasida tahrirlanadigan elementlar sifatida import qiladi. Har bir import yangi ekran qo‘shadi — bir xil freymni ikki marta import qilsangiz, ikkita ekran hosil bo‘ladi, shuning uchun eskisini almashtirmoqchi bo‘lsangiz, uni delete-screen bilan o‘chiring. Faylning tashkiloti Flowstep sozlamalarida Figma ulangan bo‘lishi kerak.
Kirish
Chiqish —
{ fileId, screenId, frameCount? }. screenId — import qilingan ekran; natijani ko‘rish uchun uni get-screen-image ga uzating. Sahifa URL’i bir nechta freymni import qilganda, screenId null bo‘ladi va o‘rniga frameCount qaytariladi; list-screens ni, so‘ng har bir yangi ekran uchun get-screen-image ni chaqiring.
Tarif va to‘lov vositalari
get-plan-details
Tashkilotingizning Flowstep tarifi, obuna holati, foydalanishi va qolgan kvotasini oladi. Kiritish talab qilinmaydi — tashkilot tizimga kirgan foydalanuvchidan aniqlanadi. AI dizayn vositalarini chaqirishdan oldin limitingizni tekshirish uchun undan foydalaning.
Chiqish — { plan, subscription, limits, usage, remaining }.
Limitlar tarifga qarab farqlanadi — Narxlar va Foydalanish limitlari ga qarang.
AI dizayn vositalari
Bu uchta vosita tavsif yoki tayyor sozlama asosida dizayn yaratadi — ular hech qachon JSX qabul qilmaydi va qayta ishlatmaydi. Har bir chaqiruv Flowstep ilovasi bilan bir xil xabar limitidan foydalanadi va generatsiya tugagunicha yoki vaqt tugaguncha (180 soniya) to‘sib turadi.
Uchalasi ham
{ status, fileId, screenIds, designGuidelinesUpdated } qaytaradi. Natijani ko‘rish uchun har bir screenId uchun get-screen-image ni bir marta chaqiring.
designGuidelinesUpdated— bu chaqiruv davomida faylningDESIGN.mdyo‘riqnomalari avtomatik yangilangan bo‘lsa, o‘zgarishning qisqa xulosasi; aks holdanull.
ai-design-screens
Matnli tavsif asosida bitta chaqiruvda bir yoki bir nechta yangi ekran yarating, mavjud ekranlarni joyida o‘zgartiring yoki ikkalasini birga bajaring — yangi oqimlar, mavzulash, matn, joylashuv yoki bir nechta ekran bo‘ylab muvofiqlashtirilgan o‘zgarishlar. Bu Flowstep tahrirlovchisidagi chat bilan bir xil dizayn agenti: u message va elementIds asosida nimani qurish va nimani o‘zgartirishni hal qiladi.
Yangi fayl boshlash uchun fileId ni chiqarib tashlang; mavjud faylda ishlash uchun fileId ni uzating. Agar so‘rov allaqachon mavjud faylga tegishli bo‘lishi mumkin bo‘lsa, agentingiz avval list-files va list-screens ni tekshirishi kerak. Bitta ekranning keyingi qadami, xato yoki bo‘sh holati, yoki platforma varianti uchun ai-generate-screen-variant dan foydalaning. Bitta ekranga tayyor tahrir yoki qayta loyihalash uchun ai-edit-screen-variant dan foydalaning. JSX allaqachon bo‘lsa, buning o‘rniga add-screen-jsx yoki replace-screen-jsx dan foydalaning.
Kirish
Misol — bitta chaqiruvda bir ekranni tahrirlash va boshqasini qo‘shish:
{ status, fileId, screenIds, designGuidelinesUpdated, reply? }.
status— ekranlar qurilgan yoki o‘zgartirilgan bo‘lsa"generated". Flowstep ekran qurmasdan javob bergan bo‘lsa"chat"; bunda javobreplyda bo‘ladi vascreenIdsbo‘sh bo‘ladi. Agar topshiriq noaniq bo‘lsa, agentingiz sizdan aniqlashtirishni so‘rab, vositani qayta chaqirishi kerak.screenIds— chaqiruv davomida qurilgan yoki o‘zgartirilgan har bir ekran, joyida tahrirlangan ekranlar ham kiritilgan holda. Agar chaqiruv ba’zi ekranlar qurilgandan keyin vaqt tugasa, xato o‘rniga o‘sha ekranlarni qaytaradi.
ai-generate-screen-variant
Aniq bitta mavjud ekrandan olingan yangi ekran qo‘shadi — oqimdagi keyingi qadam, xato yoki bo‘sh holat, yoki boshqa platforma uchun versiya. Asl ekran o‘zgarishsiz qoladi. Mavjud ekranning varianti bo‘lmagan ekranni (masalan, sozlamalar ekranini) qo‘shish uchun fileId bilan ai-design-screens dan foydalaning.
Kirish
Chiqish —
{ status, fileId, screenIds, designGuidelinesUpdated }. status doim "generated".
ai-edit-screen-variant
Tayyor sozlamadan foydalanib, aniq bitta mavjud ekranni joyida o‘zgartiring — mavzusini o‘zgartiring yoki silliqlang, boshqa joylashuv yoki vizual uslubni sinab ko‘ring, yoki butunlay qayta loyihalang. Yangi ekranlar, erkin ko‘rsatmalar yoki alohida elementlarga aniq tahrir uchun ai-design-screens dan foydalaning.
Kirish
Chiqish —
{ status, fileId, screenIds, designGuidelinesUpdated }. status doim "generated".
Qayta nomlangan vositalar
Vosita nomlari 2026-yil sentyabr va oktyabrda o‘zgartirilgan. Agar sizda eski nomlarni ishlatadigan promptlar, skriptlar yoki agent ko‘rsatmalari bo‘lsa, ularni yangilang:
Kiritishlar ham o‘zgargan: AI dizayn vositalari
targets o‘rniga elementIds (yoki variant vositalari uchun bitta screenId) ni qabul qiladi, add-screen-jsx metama’lumot izohi bilan jsxContent o‘rniga jsx va aniq metama’lumot maydonlarini qabul qiladi, create-file title o‘rniga name ni qabul qiladi, dizayn yo‘riqnomalari vositalari esa resourceId va linkedTo o‘rniga fileId ni qabul qiladi.