Loops de agentes de IA que construyen una app, y la terminan.

Un arquitecto, un programador, un revisor y un evaluador pasan el trabajo alrededor de un ring en el propio computador. Cuando las tareas terminan, se obtiene un informe final, con la aplicación a solo una pulsación de distancia en una vista previa en vivo.

Gratis con modelos gratuitos, claves propias o locales · Windows, macOS, Linux

Un prompt se detiene cuando el modelo se detiene.

Pídele un solo modelo para una app y obtendrás una respuesta. En un loop, esa respuesta es la primera pasada: el siguiente bubble la lee, una verificación fallida la envía al fixer mientras el loop espera, y el ring vuelve a girar.

Un prompt

PromptEl modelo escribió 14 archivos
  • Revisadono
  • Tests ejecutadosno
  • Comienza con un comandodesconocido

Un loop registro de ejemplo

  1. vuelta 1CoderWrote app/src/App.tsx (+142/-0)PASS
  2. vuelta 1RevisorVisual Review: Failed — 2 blockingFAILFixer
  3. vuelta 1FixerEdited app/src/App.tsx (+9/-4)PASS
  4. vuelta 1Testernpm test exited 0PASS
  5. vuelta 2RevisorVisual Review: Passed — 0 blockingPASS
Cómo funciona

De una frase a un tablero que funciona.

  1. 01

    Dile al Manager qué estás creando.

    El Manager es un chat que planifica el tablero de forma conjunta. En el modo Plan lee la carpeta, hace las preguntas necesarias y escribe tarjetas en el Task Book tras alcanzar un acuerdo.

  2. 02

    Cambia a Build.

    Build propone los loops: quién se sienta en cada ring, qué carpeta puede modificar cada uno y adónde va el trabajo cuando una comprobación falla. No se coloca nada hasta que pulses Construirlo.

  3. 03

    Pulsa Play. Los loops se ejecutan a la vez.

    Cada bubble ejecuta una pasada, y su salida es la entrada del siguiente bubble. Por defecto, un Sub-loop se ejecuta cuando el bubble anterior falla, por lo que una revisión fallida va al Fixer mientras el loop espera. Los límites detienen un loop que sigue fallando en lugar de dejarlo pasar toda la noche.

  4. 04

    Recupéralo terminado.

    Cuando un run se queda sin trabajo de manera autónoma, la app redacta un informe final a partir del registro del run, con una vista previa en vivo de la app al lado.

Un medidor de hábitos. Una página, React, guardada en el navegador.

Redactaré las tarjetas una vez que se resuelva un detalle.

Esperando 1 decisión

¿Cuándo deben reiniciarse los hábitos del día?

A la medianoche local recomendadoCuando se abre la app por primera vez cada díaO escribir otra respuesta…

¿Construir este tablero?

Appescribe en app/
ArchitectDesignerCoderRevisorFixTester
Fix · ON_FAILFixer
Docsescribe en docs/
ResearcherDocumenter
AppRevisor · vuelta 4Máx. ejecuciones del loop19 de 100
DocsDocumenter · vuelta 2Máx. ejecuciones del loop4 de 100

Task Book

0Draft
3Approved
2Implementing
1Review
6Done
0Blocked
CoderPASSRevisorFAILFixer

La app ha terminado, su informe y su vista previa están listos

El run se completó y escribió un informe final: qué se construyó, cómo ejecutarlo, qué se probó y qué falta.

Informe final
Vista previa en vivoEn marcha

Las partes que mantienen un loop honesto.

Los runs largos funcionan cuando cada bubble tiene un trabajo claro, un alcance limitado y un lugar al que enviar sus errores.

Varios loops, un tablero

Cada loop ejecuta su propio carril a su propio ritmo. Los loops intercambian trabajo mediante el Task Book y los archivos en disco, nunca a través del contexto de los demás.

Cuatro modos del Manager

Un modo determina lo que el Manager tiene permitido modificar. Solo se puede cambiar manualmente, y Build no escribe código.

Un guardián en cada comando

Los comandos se analizan antes de ejecutarse. Los commits y las eliminaciones piden confirmación primero; las terminales, el acceso remoto y las rutas fuera del proyecto se rechazan.

  • Anthropic
  • OpenAI
  • Google
  • OpenRouter
  • NVIDIA
  • Ollama
  • LM Studio

Siete proveedores, claves propias

Elige un modelo por bubble, o un pool de hasta ocho que pasa al siguiente cuando uno supera el límite de peticiones o no responde. Las tarifas gratuitas y los modelos locales cuentan.

Lecciones que retiene

Cuando se rechaza una llamada, el loop extrae una lección de ella y se la entrega en la siguiente pasada. Puedes aceptar, rechazar u olvidar cada una, y configurar su grado de certeza.

Terminado significa algo que puedes comprobar.

Un run que se completa por sí solo entrega tres cosas. Lees lo que pasó en lugar de preguntar a un modelo cómo fue.

InformeTerminado
  • Se ejecuta con un comando, desde un README
  • Los tests pasan
  • Presentable, la revisión visual pasó

Qué se construyó

  • app/src/App.tsx+142
  • app/src/habits.ts+61
  • app/src/App.test.tsx+48
  • app/README.md+22

Tarjetas del Task Book hechas: 9

Cómo ejecutarla

Primero, instalar:

npm install

Desde README.md:

npm run dev

Qué se probó

npm test

Pasó, 29/9/26, 14:14:07.

Qué falta

Nada que el registro del run pueda ver.

Revisión visual: pasó

1280 × 800 y 390 × 844 · 0 bloqueantes

En marchalocalhost:5173
HoyRacha de 6 días
  • Leer 20 páginas
  • Caminar 30 minutos
  • Sin teléfono después de las 22:00
+ Añadir un hábito
Entrega de ejemplo de un run pequeño de un contador de hábitos.
  1. Revisión visual

    El revisor abre la app en un navegador real a anchuras de escritorio y teléfono. Las páginas en blanco, el desbordamiento, las imágenes rotas y el texto de relleno provocan un fallo directo. Si se ha configurado un modelo de visión, también evalúa las capturas de pantalla frente al archivo DESIGN.md. La línea Presentable del informe muestra su veredicto.

  2. Informe final

    Generado a partir del propio registro del run, sin pedirle a ningún modelo que se autoevalúe: qué se construyó, el comando que lo ejecuta, el último test ejecutado con su código de salida y cualquier elemento que aún falte.

  3. Vista previa en vivo

    El servidor de desarrollo de la app, uno por tablero y separado del run. Un nuevo run no lo detiene, por lo que una app de Vite sigue las ediciones del loop. Se inicia, reinicia y detiene desde la pestaña Report.

Se ejecuta donde está el código.

Perfica es una app de escritorio. El código solo se envía al modelo seleccionado, y con un modelo local nunca sale del computador.

Se ejecuta en el computador
Cada run y cada turno del Manager se procesan mediante un proceso en este computador. No hay ningún servidor de Perfica entre la persona y el código.
Las claves se quedan en este dispositivo
Se almacenan cifradas (AES-256-GCM) en este equipo y nunca se guardan en la página. La app no almacena ninguna clave propia.
No se necesita cuenta
Todo funciona sin una cuenta. Una cuenta solo añade la sincronización, que es para lo que sirve Cloud.
El proyecto sigue siendo una carpeta
El tablero, el Task Book y el historial de runs se guardan en una carpeta dentro del proyecto que se excluye de git automáticamente. Si la carpeta aún no es un repositorio de git, Perfica la convierte en uno para que cada pasada pueda recibir commits, previa notificación. Jamás se realiza esta acción en la carpeta personal o en la raíz de una unidad.
Los secretos están prohibidos
Los agents no pueden leer archivos .env, claves ni certificados, y sus comandos se ejecutan sin variables que tengan nombres como KEY, SECRET o TOKEN.
Nada pesado se descarga sin preguntar
La imagen de Docker del sandbox, el navegador de los agents y el modelo de dictado se descargan solo cuando los activas. Las actualizaciones y la lista de precios de los modelos provienen de GitHub.
Precios

Gratis para ejecutar. Cloud cuando quieras sincronización.

Gratis

$0

Toda la app. Cada loop, bubble, modo y herramienta.

  • Claves propias para Anthropic, OpenAI, Google, OpenRouter o NVIDIA
  • Modelos gratuitos desde una clave gratuita de OpenRouter o Gemini, o locales a través de Ollama y LM Studio
  • Sandbox de comandos, búsqueda web, revisión visual, informe final y vista previa
  • Sin cuenta
Descargar

Cloud

Próximamente

$36/ año

Todo lo incluido en Free, en todos los computadores.

  • Tableros sincronizados entre dispositivos
  • Una bóveda cifrada para las claves de proveedor, entregada únicamente a la app en un dispositivo con sesión iniciada
  • Facturado anualmente

Cloud aún no se puede comprar. Nada en la app lo necesita.

Preguntas, respondidas con claridad.

Más en la documentación.

¿Cuánto cuesta Perfica?

La app es gratuita. Se pagan los consumos al proveedor de modelos según el uso de las bubbles, o nada si se ejecutan modelos gratuitos o locales. Cloud, al lanzarse, tendrá un costo de US$36 al año.

¿Puedo empezar sin pagar por una clave?

Sí. Empezar gratis, la primera pantalla de configuración, guía a través de una clave de OpenRouter gratuita y una clave de Gemini gratuita en unos dos minutos, y el primer loop se ejecuta con modelos gratuitos. Cuando una capa gratuita se agota por el día, el loop se pausa y se reanuda por sí solo. Ollama y LM Studio ejecutan modelos en el propio computador sin requerir ninguna clave.

¿Sale mi código de mi computador?

Únicamente como parte de los prompts que las bubbles envían al proveedor de modelos elegido, y como consultas de búsqueda cuando un agente busca en la web. Al usar un modelo local mediante Ollama o LM Studio, los prompts nunca salen del computador.

¿Qué significa "finalizado"?

Un run se entrega cuando se queda sin trabajo por sí solo. El informe lo llama finalizado cuando el README da un comando para iniciar la app, la última ejecución de pruebas pasó, ningún bubble terminó en FAIL o ERROR, y la vista previa no falló. Cualquier cosa por debajo de eso aparece bajo "Qué falta". También indica si la app es presentable, a partir de la revisión visual del Reviewer, sin que ello sea una condición para considerarla finalizada.

¿Pueden los agentes ejecutar lo que quieran?

No. Cada bubble dispone exclusivamente de las herramientas que otorga su rol, y sus herramientas de archivos escriben únicamente dentro de la carpeta de su loop. Con el sandbox activado, sus comandos también quedan confinados allí. Los comandos pasan por un filtro que permite, pregunta o deniega; los commits, pushes y eliminaciones requieren confirmación previa a menos que se active Full Auto.

¿Qué modelos puedo usar?

Anthropic, OpenAI, Google, OpenRouter y NVIDIA con una clave, y cualquier modelo que ejecutes en Ollama o LM Studio. Un bubble puede usar un modelo o un pool de hasta ocho que cambia cuando uno está ocupado o sin cuota.

¿Por qué me advierte Windows cuando lo instalo?

Las compilaciones aún no tienen firma de código, por lo que Windows SmartScreen avisa la primera vez. Por la misma razón, la app de macOS no puede actualizarse sola; descarga las versiones nuevas desde la página de releases.

¿Qué es Cloud?

Un plan anual opcional, por US$36, para sincronizar tableros entre dispositivos y almacenar las claves en una bóveda cifrada. Todavía no está disponible para la venta.

Dale un proyecto. Obtén a cambio una app que funciona.

Windows · macOS · Linux