Esta es una plantilla del complemento Figma AI que demuestra la transmisión de respuestas de LLM dentro de un complemento Figma. Esta plantilla muestra:
Este complemento está configurado para usar Next.js.
Primero cree esta plantilla usando create-next-app:
npx create-next-app@latest --example https://github.com/figma/ai-plugin-template/
A continuación, debe almacenar su clave API de OpenAI en el archivo .env.local
. Puede obtener una clave API en la página de claves API. Cree un archivo .env.local
en la raíz de este proyecto y agregue su clave API:
OPENAI_API_KEY= ***
Luego, ejecute el servidor de desarrollo:
npm i
npm run dev
Luego puede abrir la aplicación de escritorio Figma e importar un complemento desde el archivo de manifiesto de este proyecto. Puede hacer clic derecho en el lienzo y navegar a Plugins > Development > Import plugin from manifest...
y seleccionar manifest.json
en {path to this project}/plugin/manifest.json
.
Los archivos principales que querrás editar son:
app/page.tsx
: le permitirá actualizar el iframe
del complemento. La página se actualiza automáticamente a medida que edita el archivo y le permitirá actualizar la interfaz de usuario de su complemento.app/completion/route.ts
: este es el "servidor" del complemento y es lo que se comunica con OpenAI. Aquí es donde puede actualizar el mensaje que está enviando a GPT.plugin/manifest.json
: este es el archivo de manifiesto que le permitirá actualizar los permisos y los tipos de editor de su complemento. En este ejemplo, publicaremos la aplicación Next.js en Vercel. También puede publicar en cualquier otro proveedor de alojamiento que admita Next.js.
OPENAI_API_KEY
en su clave API de OpenAI.siteURL
de su archivo package.json
para que apunte a la URL implementada. Se verá algo así como https://your-site-here.vercel.app/
"config" : {
"siteURL" : " https://your-site-here.vercel.app/ "
}
npm run build
para crear la compilación de producción de su complemento que apunte a su URL implementada. Esta plantilla incluye un asistente figmaAPI
en @/lib/figmaAPI
que le permite ejecutar código de complemento desde dentro del iframe. Esto es útil para evitar la API postMessage del complemento iframe <-> y reduce la cantidad de código que necesita escribir.
Ejemplo:
import { figmaAPI } from "@/lib/figmaAPI" ;
const nodeId = "0:2" ;
const result = await figmaAPI . run (
( figma , { nodeId } ) => {
return figma . getNodeById ( nodeId ) ?. name ;
} ,
// Any variable you want to pass to the function must be passed as a parameter.
{ nodeId } ,
) ;
console . log ( result ) ; // "Page 1"
Algunas cosas a tener en cuenta sobre este ayudante: