Перейти до основного вмісту
Щоб отримати результат успішного виклику, кожен інструмент, крім get-screen-image, повертає свій результат двічі: як structuredContent (перевірений за опублікованою схемою вихідних даних інструмента) і як той самий об’єкт, серіалізований у текстовий блок { type: "text", text: "<json-string>" } для клієнтів, які не читають structured content. get-screen-image повертає лише блок зображення MCP: { type: "image", data: "<base64>", mimeType: "image/png" }. Якщо виклик завершується помилкою, встановлюється isError: true, а текстовий блок містить коротке повідомлення про помилку. Помилки, на які можна вплинути, як-от невідповідність назви під час видалення, некоректне посилання на Figma, некоректні рекомендації з дизайну, проблема з вкладенням або тайм-аут генерації, пояснюють, що потрібно виправити. Інші збої повертають загальне повідомлення, наприклад 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: останній промпт генерації для екрана або порожній рядок, якщо екран ніколи не генерувався (наприклад, екран, доданий через 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: останній промпт генерації або порожній рядок, якщо екран ніколи не генерувався.
  • fragments: спільні елементи інтерфейсу, збережені на екрані, як-от панель навігації, заголовок або логотип, у вигляді об’єктів { purpose, markup }. Порожній, якщо їх немає. Передайте їх назад у replace-screen-jsx, щоб зберегти або оновити.
Значення fidelity, screenType і colorTheme див. у розділі Значення полів екрана.

add-screen-jsx

Додайте до файлу новий екран із JSX, який ви написали. Це шлях, що починається з коду, і він безкоштовний. Використовуйте ai-design-screens, коли хочете, щоб ШІ 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 і позицію на полотні. Вкладені елементи отримують нові ID. Це шлях, що починається з коду, і він безкоштовний. Для змін за допомогою ШІ використовуйте ai-design-screens або ai-edit-screen-variant, а щоб створити новий екран, використовуйте 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 у режимі A (mimeType + fileName) і виконайте повернену uploadCommand.
  2. Якщо type у відповіді дорівнює "image", вставте його assetUrl точно так, як його повернено, у img src або bg-[url(assetUrl)].
Усі інші URL зображень залишайте точно такими, якими їх повернув get-screen-jsx. Не вставляйте path, signedUrl або uploadCommand у src.

Значення полів екрана

get-screen-jsx повертає, а add-screen-jsx і replace-screen-jsx приймають такі значення:

Інструменти рекомендацій з дизайну

Рекомендації з дизайну — це текст DESIGN.md, збережений у файлі. Якщо їх задано, їх додають до кожної генерації ШІ для цього файлу. Див. Рекомендації з дизайну.

get-design-guidelines

Отримайте рекомендації з дизайну, прикріплені до файлу. Вхідні дані Вихідні дані: { guidelines }.
guidelines має значення null, якщо рекомендації не задано.

update-design-guidelines

Задайте або замініть рекомендації з дизайну для файлу. Передавайте рекомендації як простий рядок у форматі DESIGN.md від Google, а не як об’єкт чи JSON. Якщо ви читаєте їх із файлу, передайте текст цього файлу. Вхідні дані Правила перевірки
  • Frontmatter має бути коректно відкрито та закрито
  • Рядки frontmatter мають бути дійсним YAML у блочному стилі
  • Основна частина Markdown не повинна містити повторюваних заголовків розділів ##
Якщо перевірка не пройдена, виклик повертає помилку, яка починається з Invalid design guidelines:. Вихідні дані: { updated, warnings? }.
warnings містить м’які проблеми перевірки (невідомі ключі, кольори, які не є HEX). Їх прийнято, але ШІ може їх ігнорувати. Якщо немає жодної проблеми, поле пропускається. Повідомте про них користувачу.

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 від вашого імені. Щоб посилатися на веб-сторінку, натомість включіть її URL у message для ai-design-screens. Є два режими. Використовуйте лише один з них і не комбінуйте їх. Режим A: файли й зображення (mimeType + fileName) Обов’язковий трикроковий процес для будь-якого зображення, PDF або більшого текстового файлу:
  1. Викличте upload-attachment лише з mimeType і fileName (наприклад, image/png і dog.png). Відповідь — це підготовлене завантаження, а не збережений файл:
  2. Замініть LOCAL_FILE_PATH у uploadCommand абсолютним шляхом до вашого файлу та виконайте точно цю команду у своїй оболонці. Вона має завершитися з кодом 0. Токен у signedUrl дозволяє лише це одне завантаження. Якщо пропустити цей крок, сховище залишиться порожнім, і інструмент дизайну не пройде попередню перевірку.
  3. Передавайте до масиву attachments у ai-design-screens лише { id, path, type }, а не signedUrl, uploadCommand або nextStep. Щоб натомість розмістити зображення у вашому JSX, вставте assetUrl у img src або bg-[url(...)] JSX, який ви передаєте в add-screen-jsx або replace-screen-jsx. Див. Зображення в JSX.
Щоб додати віддалений файл як вкладення, спершу завантажте його самостійно на локальний шлях (наприклад, за допомогою curl), а потім виконайте ті самі три кроки. Ніколи не передавайте URL в upload-attachment. Режим B: короткий текст (text + mimeType) Завантажте текст, який уже є в контексті. Команда оболонки не потрібна. Відповідь готова до використання одразу:
Передайте отримані { id, path, type } до масиву attachments у ai-design-screens. Максимальний розмір файлу в обох режимах становить 3 MB. PDF обмежено 100 сторінками. Вихідні дані: { id, path, assetUrl, type, mimeType, signedUrl?, uploadCommand?, nextStep? }.
  • type: "image" для файлів зображень і "document" для PDF та текстових файлів.
  • assetUrl: URL завантаженого файлу, який повертається в обох режимах. Використовуйте його в JSX для add-screen-jsx або replace-screen-jsx лише тоді, коли type дорівнює "image", і лише після того, як виконано uploadCommand із режиму A.
  • signedUrl, uploadCommand, nextStep: встановлюються лише в режимі A. Не передавайте їх в інструменти дизайну.

Інструменти для Figma

import-figma

Імпортуйте фрейм Figma у файл Flowstep як редаговані елементи на його полотні. Кожен імпорт додає новий екран. Імпорт того самого фрейму двічі дасть вам два екрани, тож видаліть старий через delete-screen, якщо хотіли його замінити. Організація, до якої належить файл, має підключити Figma в налаштуваннях Flowstep. Вхідні дані Вихідні дані: { fileId, screenId, frameCount? }. screenId — це імпортований екран. Передайте його в get-screen-image, щоб переглянути результат. Коли URL сторінки імпортує кілька фреймів, 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.