Saltar al contingut principal
En cas d’èxit, cada eina excepte get-screen-image retorna el seu resultat dues vegades: com a structuredContent (validat contra l’esquema de sortida publicat de l’eina) i com el mateix objecte serialitzat en un bloc de text, { type: "text", text: "<json-string>" }, per als clients que no llegeixen contingut estructurat. get-screen-image retorna només un bloc d’imatge de MCP: { type: "image", data: "<base64>", mimeType: "image/png" }. En cas d’error, s’estableix isError: true i el bloc de text conté un missatge d’error breu. Els errors que pots solucionar (un nom que no coincideix en eliminar, un enllaç de Figma no vàlid, unes directrius de disseny no vàlides, un problema amb un adjunt o un temps d’espera de generació esgotat) expliquen què cal corregir. Altres errors retornen un missatge genèric, com Failed to list files.
Preus: les tres eines de disseny amb IA (ai-design-screens, ai-generate-screen-variant i ai-edit-screen-variant) consumeixen la mateixa quota de missatges que l’aplicació de Flowstep. Totes les altres eines són gratuïtes. Consulta Límits d’ús.
Cada eina també publica anotacions de MCP perquè el client sàpiga què fa. delete-file, delete-screen, delete-design-guidelines, replace-screen-jsx, ai-design-screens i ai-edit-screen-variant estan marcades com a destructives perquè eliminen o sobreescriuen contingut existent.

Eines de fitxers

list-files

Llista les metadades dels teus fitxers de Flowstep. Crida-la primer per comprovar si ja existeix un fitxer rellevant. No retorna el contingut de les pantalles: fes servir get-screen-image o get-screen-jsx per a això. Entrada Sortida: { files }.
  • owner: true si tu vas crear el fitxer.
  • shared_with_me: true si el fitxer s’ha compartit amb tu directament, no només a través de la teva organització.
  • url: obre el fitxer a l’editor de Flowstep.

get-file

Obté les metadades d’un sol fitxer. El contingut del fitxer s’omet intencionadament: fes servir get-screen-image o get-screen-jsx per inspeccionar les pantalles, i get-design-guidelines per recuperar les directrius adjuntes. Si tens una invitació pendent al fitxer, cridar get-file l’accepta. Entrada Sortida: { file, user_access_level }.
  • access_level: private, read o write.
  • visibility: private, member o public.
  • user_access_level: el teu accés al fitxer: read o write.

create-file

Crea un fitxer de Flowstep en blanc, sense pantalles. Per crear un fitxer i generar pantalles en un sol pas, crida ai-design-screens sense fileId. Fes servir create-file per als fluxos de treball code-first, seguit de add-screen-jsx. Entrada Sortida: { file, user_access_level }, amb la mateixa forma que get-file. owner és sempre true i user_access_level és sempre write. Fes servir el file.id retornat com a fileId en les crides posteriors a eines.

update-file

Canvia el nom d’un fitxer. Entrada Sortida: { file, user_access_level }, amb la mateixa forma que get-file.

delete-file

Elimina un fitxer de manera permanent. El name que passes es comprova amb el nom visible actual del fitxer abans de l’eliminació: si no coincideix, l’eliminació s’avorta. Això evita eliminar per error el fitxer equivocat. Els agents tenen instruccions de confirmar-ho amb tu primer. Entrada Sortida: { "deleted": true }
Aquesta acció és irreversible. Totes les pantalles del fitxer s’eliminen.

Eines de pantalles

list-screens

Llista les pantalles d’un fitxer, en l’ordre del llenç. Crida-la després de list-files per veure què hi ha ja en un fitxer. Fes servir els valors screenId retornats amb la resta d’eines de pantalles i amb les eines de disseny amb IA. Entrada Sortida: { screens }.
  • prompt: l’últim prompt de generació de la pantalla, o una cadena buida si mai no s’ha generat (per exemple, una pantalla afegida amb add-screen-jsx).
  • fidelity: lofi, hifi o ui.

get-screen-image

Renderitza una pantalla a PNG i la retorna com a imatge en línia. Requereix un client que admeti blocs d’imatge. Crida-la una vegada per cada screenId retornat per una eina de disseny amb IA, add-screen-jsx, replace-screen-jsx o import-figma. Entrada Sortida: bloc de contingut d’imatge de MCP (image/png). data és base64 estàndard dels bytes del PNG, no un URI de dades. Aquesta eina no té structuredContent.

get-screen-jsx

Obté una pantalla com a JSX, juntament amb les seves metadades, de manera que pots construir-hi a partir del teu codi o editar-la i escriure-la de nou amb replace-screen-jsx. Fes servir get-screen-image per a una previsualització visual. Entrada Sortida: { fileId, screenId, name, prompt, fidelity, screenType, colorTheme, jsx, fragments }.
  • jsx: només marcatge. Els atributs data-id s’inclouen només quan includeIds és true.
  • prompt: l’últim prompt de generació, o una cadena buida si la pantalla mai no s’ha generat.
  • fragments: elements comuns emmagatzemats a la pantalla, com una barra de navegació, una capçalera o un logotip, com a objectes { purpose, markup }. És buit si no n’hi ha. Passa’ls de nou a replace-screen-jsx per conservar-los o actualitzar-los.
Consulta Valors dels camps de pantalla per als valors de fidelity, screenType i colorTheme.

add-screen-jsx

Afegeix una pantalla nova a un fitxer a partir de JSX que has escrit. Aquest és el camí code-first i és gratuït: fes servir ai-design-screens quan vulguis que la IA de Flowstep dissenyi la pantalla. add-screen-jsx sempre crea una pantalla nova: per sobreescriure’n una d’existent, fes servir replace-screen-jsx. Per mostrar una imatge que hagis pujat, consulta Imatges en JSX. Quan la pantalla nova es basa en una d’existent, parteix de get-screen-jsx (sense includeIds) per a name, fidelity, screenType, colorTheme i jsx, i després canvia el que hagi de ser diferent. Entrada Sortida: { fileId, screenId }. Crida get-screen-image amb screenId per veure el resultat.

replace-screen-jsx

Sobreescriu una pantalla existent amb JSX que has escrit. La pantalla conserva el seu screenId i la seva posició al llenç; els elements interns reben identificadors nous. Aquest és el camí code-first i és gratuït: fes servir ai-design-screens o ai-edit-screen-variant per als canvis amb IA, i add-screen-jsx per crear una pantalla nova. Parteix de get-screen-jsx (sense includeIds), i després canvia el que hagi de ser diferent. Per mostrar una imatge que hagis pujat, consulta Imatges en JSX. Entrada Sortida: { fileId, screenId }. Crida get-screen-image amb screenId per veure el resultat.
Això substitueix el contingut de la pantalla al seu lloc.

rename-screen

Canvia el nom de l’etiqueta d’una pantalla al llenç: el nom que mostren list-screens i l’editor. Només canvia l’etiqueta, no la disposició, la mida ni el contingut de la pantalla; per a això fes servir ai-design-screens. Entrada Sortida: { screenId, name }.

delete-screen

Elimina una pantalla d’un fitxer de manera permanent. El name que passes es comprova amb el nom visible actual de la pantalla: si no coincideix, l’eliminació s’avorta. Els agents tenen instruccions de confirmar-ho amb tu primer. Entrada Sortida: { "deleted": true }

Imatges en JSX

add-screen-jsx i replace-screen-jsx accepten imatges en un src d’img, o com a fons en className amb bg-[url(...)]. Escriu text alt i dimensiona cada imatge segons la seva finalitat. Per col·locar una imatge pròpia:
  1. Puja-la amb upload-attachment en el mode A (mimeType + fileName) i executa el uploadCommand retornat.
  2. Si el type de la resposta és "image", enganxa el seu assetUrl exactament tal com s’ha retornat a img src o bg-[url(assetUrl)].
Deixa qualsevol altre URL d’imatge exactament com l’ha retornat get-screen-jsx. No posis path, signedUrl ni uploadCommand a src.

Valors dels camps de pantalla

get-screen-jsx retorna, i add-screen-jsx i replace-screen-jsx accepten, aquests valors:

Eines de directrius de disseny

Les directrius de disseny són text DESIGN.md emmagatzemat en un fitxer. Quan s’estableixen, s’injecten a cada generació amb IA d’aquell fitxer. Consulta Directrius de disseny.

get-design-guidelines

Obté les directrius de disseny adjuntes a un fitxer. Entrada Sortida: { guidelines }.
guidelines és null si no s’han establert directrius.

update-design-guidelines

Estableix o substitueix les directrius de disseny d’un fitxer. Passa les directrius com a cadena de text pla en el format DESIGN.md de Google, no com a objecte ni com a JSON. Si les llegeixes d’un fitxer, passa el text d’aquell fitxer. Entrada Regles de validació
  • El frontmatter s’ha d’obrir i tancar correctament
  • Les línies del frontmatter han de ser YAML vàlid d’estil de bloc
  • El cos en Markdown no pot contenir encapçalaments de secció ## duplicats
Si la validació falla, la crida retorna un error que comença amb Invalid design guidelines:. Sortida: { updated, warnings? }.
warnings enumera els problemes de validació suaus (claus desconegudes, colors que no són hexadecimals) que s’han acceptat però que la IA pot ignorar. S’omet quan no n’hi ha cap. Mostra’ls a l’usuari.

delete-design-guidelines

Esborra les directrius de disseny d’un fitxer. Esborrar directrius que no existeixen no té cap efecte. Entrada Sortida: { "deleted": true }

Eines de xat

get-chat-history

Obté la conversa de disseny associada a un fitxer: el xat de Flowstep del fitxer, no la conversa del teu client de MCP. Fes-la servir per reprendre treball anterior al fitxer. Entrada Sortida: { messages }. messages és buit quan no tens cap conversa de disseny al fitxer. Cada missatge té un type ("request" o "response"), un author ("human" o "ai") i un content_type. Els missatges de resposta fan servir "text", "summary" o "followup".

Eines d’adjunts

upload-attachment

Puja un fitxer de referència per usar-lo com a adjunt a ai-design-screens, o una imatge per col·locar-la al teu propi JSX amb add-screen-jsx o replace-screen-jsx. ai-generate-screen-variant i ai-edit-screen-variant no accepten adjunts. Els bytes del fitxer mai no passen pel model, i el servidor no obté URL en nom teu. Per fer referència a una pàgina web, inclou-ne la URL al message de ai-design-screens. Hi ha dos modes: fes servir exactament un i no els combinis. Mode A: fitxers i imatges (mimeType + fileName) Un flux obligatori de tres passos per a qualsevol imatge, PDF o fitxer de text més gran:
  1. Crida upload-attachment només amb mimeType i fileName (per exemple image/png i dog.png). La resposta és una pujada preparada, no un fitxer emmagatzemat:
  2. Substitueix LOCAL_FILE_PATH a uploadCommand pel camí absolut del teu fitxer i executa aquesta ordre exacta al teu terminal: ha de sortir amb codi 0. El token de signedUrl autoritza només aquesta única pujada. Si saltes aquest pas, l’emmagatzematge queda buit i l’eina de disseny falla la comprovació prèvia.
  3. Passa només { id, path, type } a la matriu attachments de ai-design-screens: no passis signedUrl, uploadCommand ni nextStep. Per col·locar una imatge al teu propi JSX, posa assetUrl a img src o a bg-[url(...)] del JSX que passis a add-screen-jsx o replace-screen-jsx. Consulta Imatges en JSX.
Per adjuntar un fitxer remot, descarrega’l tu mateix primer en un camí local (per exemple amb curl) i després segueix els mateixos tres passos. Mai no passis una URL a upload-attachment. Mode B: text curt (text + mimeType) Puja text que ja és al context: no cal cap ordre de terminal. La resposta es pot fer servir directament:
Passa el { id, path, type } resultant a la matriu attachments de ai-design-screens. La mida màxima de fitxer és de 3 MB en tots dos modes, i els PDF estan limitats a 100 pàgines. Sortida: { id, path, assetUrl, type, mimeType, signedUrl?, uploadCommand?, nextStep? }.
  • type: "image" per als fitxers d’imatge i "document" per als PDF i els fitxers de text.
  • assetUrl: l’URL del fitxer pujat, retornada en tots dos modes. Fes-la servir en JSX per a add-screen-jsx o replace-screen-jsx només quan type sigui "image", i només després d’haver executat el uploadCommand del mode A.
  • signedUrl, uploadCommand, nextStep: s’estableixen només en el mode A. No els passis a les eines de disseny.

Eines de Figma

import-figma

Importa un marc de Figma a un fitxer de Flowstep com a elements editables al seu llenç. Cada importació afegeix una pantalla nova: importar el mateix marc dues vegades et dona dues pantalles, així que elimina l’antiga amb delete-screen si volies substituir-la. L’organització del fitxer ha de tenir Figma connectat a la configuració de Flowstep. Entrada Sortida: { fileId, screenId, frameCount? }. screenId és la pantalla importada: passa-la a get-screen-image per veure el resultat. Quan un URL de pàgina importa diversos marcs, screenId és null i es retorna frameCount; crida list-screens i després get-screen-image per a cada pantalla nova.

Eines de pla i facturació

get-plan-details

Obté el pla de Flowstep de la teva organització, l’estat de la subscripció, l’ús i la quota restant. No té entrada: l’organització es resol a partir de l’usuari que ha iniciat sessió. Fes-la servir per comprovar la teva quota abans de cridar les eines de disseny amb IA. Sortida: { plan, subscription, limits, usage, remaining }. Els límits varien segons el pla: consulta Preus i Límits d’ús.

Eines de disseny amb IA

Aquestes tres eines dissenyen a partir d’una descripció o d’una preconfiguració: mai no accepten ni reutilitzen JSX. Cada crida consumeix la mateixa quota de missatges que l’aplicació de Flowstep, i es bloqueja fins que la generació acaba o expira (180 segons). Les tres retornen { status, fileId, screenIds, designGuidelinesUpdated }. Crida get-screen-image una vegada per a cada screenId per veure el resultat.
  • designGuidelinesUpdated: un resum breu del canvi quan les directrius DESIGN.md del fitxer s’han actualitzat automàticament durant aquest torn; si no, null.

ai-design-screens

Genera una o més pantalles noves, canvia pantalles existents in situ, o totes dues coses en una sola crida, a partir d’una descripció en text: fluxos nous, temes, text, disposició o canvis coordinats en diverses pantalles. És el mateix agent de disseny que el xat de l’editor de Flowstep: decideix, a partir del teu message i de elementIds, què construir i què canviar. Omet fileId per començar un fitxer nou; passa fileId per treballar en un de existent. Si la petició podria aplicar-se a un fitxer que ja tens, el teu agent hauria de comprovar primer list-files i list-screens. Per a una variant de pas següent, d’estat d’error o buit, o de plataforma d’una pantalla, fes servir ai-generate-screen-variant. Per a una edició o un redisseny amb preconfiguració d’una pantalla, fes servir ai-edit-screen-variant. Si ja tens JSX, fes servir add-screen-jsx o replace-screen-jsx. Entrada Exemple: edita una pantalla i n’afegeix una altra en una sola crida:
Sortida: { status, fileId, screenIds, designGuidelinesUpdated, reply? }.
  • status: "generated" quan s’han construït o canviat pantalles. "chat" quan Flowstep ha respost sense construir res; en aquest cas reply conté la resposta i screenIds està buit. Si el teu encàrrec és ambigu, el teu agent hauria de demanar-te que l’aclareixis i tornar a cridar l’eina.
  • screenIds: totes les pantalles construïdes o canviades durant la crida, incloses les pantalles editades in situ. Si la crida expira després que s’hagin construït algunes pantalles, retorna aquestes pantalles en lloc d’un error.
Les pantalles que li demanis que editi se sobreescriuen in situ.

ai-generate-screen-variant

Afegeix una pantalla nova derivada d’exactament una pantalla existent: el pas següent del flux, un estat d’error o buit, o una versió per a una altra plataforma. La pantalla original no es modifica. Per afegir una pantalla que no sigui una variant d’una d’existent (per exemple, una pantalla de configuració), fes servir ai-design-screens amb un fileId. Entrada Sortida: { status, fileId, screenIds, designGuidelinesUpdated }. status és sempre "generated".

ai-edit-screen-variant

Canvia exactament una pantalla existent in situ amb una preconfiguració: aplica un tema o millora el seu aspecte, prova una disposició o un estil visual diferent, o la redissenya des de zero. Per a pantalles noves, instruccions de text lliure o una edició precisa d’elements individuals, fes servir ai-design-screens. Entrada Sortida: { status, fileId, screenIds, designGuidelinesUpdated }. status és sempre "generated".
Això sobreescriu el contingut de la pantalla in situ.

Eines reanomenades

Els noms d’eines van canviar al setembre i l’octubre de 2026. Si tens prompts, scripts o instruccions d’agent que fan servir els noms antics, actualitza’ls: Les entrades també han canviat: les eines de disseny amb IA accepten elementIds (o un únic screenId per a les eines de variants) en lloc de targets; add-screen-jsx accepta jsx i camps de metadades explícits en lloc de jsxContent amb un comentari de metadades; create-file accepta name en lloc de title; i les eines de directrius de disseny accepten fileId en lloc de resourceId i linkedTo.