Ejecutar el código localmente
Usa esta página para ejecutar un proyecto extraído de Learn AI Agents en tu computadora y obtener una respuesta del agente OpenSwap con tu propia clave de proveedor. Dos cosas cambian respecto a Scrimba: le das al proyecto sus tres valores de IA en un archivo .env en lugar de hacerlo en la configuración de Scrimba, y el proyecto no se recarga automáticamente cuando cambias un archivo. La versión de Scrimba sigue funcionando independientemente de si haces esto.
Lo que necesitas primero
Instala una versión LTS compatible de Node.js. Se recomienda Node 24, Node 22 también funciona, y ambas incluyen npm. Verifica que ambos comandos impriman una versión. Tus números de versión pueden ser diferentes:
$ node --version
v24.18.0
$ npm --version
11.18.0También necesitas los tres valores que guardaste en la configuración de entorno de Scrimba: AI_KEY, AI_MODEL y AI_URL. Si ya no los tienes, o nunca los configuraste, la configuración del proveedor te guía a través de cómo obtener una clave de OpenAI u OpenRouter.
node --version y npm --version impriman una versión. Luego ten listos tu clave, modelo y URL de Scrimba para copiar. Son los únicos valores que este proyecto necesita.
Instala los paquetes
Abre una terminal en la carpeta del proyecto extraído. Es la que contiene package.json, server.js y environment.js:
$ cd path-to-your-extracted-projectInstala los paquetes:
$ npm install
added 106 packages, and audited 107 packages in 6sEl número de paquetes depende de la lección. npm también puede listar vulnerabilidades o advertir que algunos paquetes tienen scripts de instalación. Ninguno de estos problemas impide que el proyecto se ejecute.
package.json, luego ejecuta npm install. Termina diciéndote cuántos paquetes agregó. Si npm dice que no puede encontrar package.json, estás en la carpeta incorrecta.
Crea tu archivo .env
El proyecto lo crea por ti. Inicia una vez:
$ npm startLa primera vez, el servidor no encuentra valores, crea .env al lado de package.json, y se detiene con este mensaje:
Error: Missing environment variables: AI_KEY, AI_MODEL, AI_URL.
Created .env with the required variable names. Complete it, then restart the app.
Setup guide: https://docs.scrimba.com/ai-agents/running-locallyVite sigue ejecutándose e imprime una dirección, pero la página aún no puede funcionar. Presiona Ctrl+C para detener todo, luego abre .env. Tiene una línea vacía por cada valor y una línea de puerto comentada al final:
AI_KEY=
AI_MODEL=
AI_URL=
GITHUB_TOKEN=
# PORT=3001Completa tus tres valores directamente después de cada =, sin espacios ni comillas. Con OpenAI, el valor predeterminado del curso, se ve así:
AI_KEY=your-api-key-here
AI_MODEL=gpt-5.4-nano
AI_URL=https://api.openai.com/v1
GITHUB_TOKEN=
# PORT=3001GITHUB_TOKEN aparece solo en lecciones que verifican proyectos en GitHub. Puedes dejarlo vacío; GitHub entonces responde con un límite de velocidad más bajo. Deja la línea # PORT=3001 como está.
Nunca confirmes tu archivo .env
Si pones este proyecto en Git, crea un .gitignore al lado de package.json antes de tu primer commit, para que tu clave y los paquetes instalados se queden fuera del repositorio:
.env
node_modulesUna clave que llega a un repositorio permanece en su historial incluso después de que elimines el archivo; la única solución es eliminar la clave en tu proveedor y crear una nueva. El manual de Git cubre este tema en ignoring files and good habits.
npm start una vez para que el proyecto cree .env, presiona Ctrl+C, luego copia tu clave, modelo y URL en las tres líneas vacías y guarda. Si dice que creó .env de nuevo la próxima vez, tu archivo tiene un nombre diferente, como .env.txt.
Inicia la aplicación y envía una solicitud
Inicia el proyecto de nuevo:
$ npm startAmbos servidores imprimen en la misma terminal. Marcas para tus tres valores y dos direcciones significan que ambos iniciaron:
Environment check:
✓ AI_KEY: configured
✓ AI_MODEL: gpt-5.4-nano
✓ AI_URL: https://api.openai.com/v1
○ Optional environment not configured: GITHUB_TOKEN
OpenSwap server running at http://localhost:3001
VITE v6.4.3 ready in 150 ms
➜ Local: http://localhost:5173/
➜ Network: use --host to exposeAbre la dirección Local, no la 3001, y usa la página como lo hiciste en la lección. En las lecciones de OpenSwap, elige un nombre de software o escribe una solicitud, luego haz clic en Swap it. El botón dice Loading... mientras el agente trabaja, y que aparezca una respuesta significa que tu clave, modelo y URL funcionan. Si tu página tiene un botón Run Agent en su lugar, haz clic en él; la salida del agente aparece en la terminal, no en la página.
Si la página muestra un error o nada sucede, la razón está en la terminal; la solución de problemas a continuación coincide con cada mensaje.
El proyecto no se recarga automáticamente. Después de cambiar cualquier archivo, presiona Ctrl+C, ejecuta npm start de nuevo, luego actualiza el navegador.
npm start, abre la dirección Local, y envía una solicitud. Si la página muestra un error, mira la terminal para las líneas que aparecieron cuando hiciste clic, y encuéntralas bajo la sección de solución de problemas.
Cuando el puerto 3001 está ocupado
Express escucha en el puerto 3001. Si algo más ya lo usa, muy a menudo otra lección que dejaste ejecutándose en una terminal diferente, el servidor aún imprime su línea server running at http://localhost:3001, luego se detiene sin un error. Las solicitudes de la página entonces llegan al otro programa: puedes ver un error como is not valid JSON, o respuestas de la otra lección.
Detén el otro proyecto con Ctrl+C en su terminal. Para ejecutar ambos, dale a este uno un puerto diferente: abre .env, quita el # de la última línea, y cambia el número:
PORT=3101Presiona Ctrl+C y ejecuta npm start de nuevo. La línea del servidor ahora muestra 3101, y Vite envía las solicitudes de la página allá, porque lee la misma línea.
El puerto de Vite se mueve por sí solo. Si 5173 está ocupado, Vite imprime Port 5173 is in use, trying another one... y una dirección Local como http://localhost:5174/, así que siempre abre la dirección que imprime.
npm start y detenla con Ctrl+C. Para mantener ambas ejecutándose, cambia # PORT=3001 a PORT=3101 en el .env de este proyecto y reinicia.
Si algo no funciona
concurrently: command not found (en Windows, 'concurrently' is not recognized): los paquetes no están instalados en esta carpeta. Ejecuta npm install allá, luego npm start.
Missing environment variables: seguido de nombres: esas líneas en .env aún están vacías, o el archivo no se guardó. Complétalas e inicia de nuevo.
Dice Created .env de nuevo, aunque ya hiciste uno: tu archivo no se llama exactamente .env en la carpeta con package.json. Un archivo guardado como .env.txt no cuenta. Pon tus valores en el nuevo .env y elimina el otro archivo.
La página muestra Unexpected end of JSON input: el servidor Express no está ejecutándose, y la terminal muestra [vite] http proxy error. Desplázate hacia arriba hasta el primer error sobre las líneas de Vite; dice por qué Express se detuvo.
La terminal muestra 401 Incorrect API key provided (OpenAI) o 401 Missing Authentication header (OpenRouter): el proveedor rechazó AI_KEY. Copia la clave de nuevo de tu proveedor, guarda .env e reinicia.
La terminal muestra 429 y exceeded your current quota: la clave funciona, pero la cuenta no tiene crédito para gastar. Agrega crédito con tu proveedor e intenta de nuevo.
La terminal muestra un error de modelo no encontrado: AI_MODEL y AI_URL pertenecen a diferentes proveedores, por ejemplo un ID de modelo de OpenAI con la URL de OpenRouter. Cambia los tres valores juntos cuando cambies proveedores.
"Local environment loading requires Node.js 20.12 or newer." Tu Node es demasiado antiguo para el cargador .env del proyecto. Instala la versión LTS actual desde nodejs.org, luego ejecuta npm start de nuevo.
En lecciones con una barra lateral de chat, una solicitud fallida puede dejar un chat llamado New conversation. Está vacío y no causa daño.
Todo se ve correcto y aún falla. Llévalo al Discord del curso, con lo que ejecutaste y lo que devolvió. Los problemas de configuración casi siempre son específicos de una máquina, y alguien generalmente ha experimentado el tuyo antes.
npm start después de cada cambio a .env. 
