openloops
Open source, Apache 2.0

Crea agentes enterprise listos para producción en minutos, no en días, semanas o meses.

openloops se encarga de la persistencia, la ejecución de tools, la integración con MCP y la gestión de usuarios, para que te enfoques en lo único que hace único a tu agente: cómo piensa.

npm install openloops

Una sola línea decide qué hace tu agente

import { Agent } from 'openloops/core'
import { Logger } from 'openloops/common'
import { PlanExecuteLoop } from 'openloops/loops'
 
const logger = new Logger()
const agent = new Agent({ loop: new PlanExecuteLoop() })
 
const result = await agent.run({
input: { message: 'what is the current price of Bitcoin?' },
currentUser,
})
 
logger.info(result.data.lastAnswer, '[Demo] Result')

Todo incluido, sin configurar nada extra

Todo lo que un agente necesita para sobrevivir en producción, ya construido

Multiusuario desde el diseño

El historial de chats, el estado de las tareas y la configuración de MCP están delimitados por usuario desde el inicio.

Persistencia sin boilerplate

Mensajes, tareas y cada llamada a una tool se guardan automáticamente en MongoDB.

Ejecución lista para producción

Reintentos, confirmaciones y recuperación ante fallos están integrados en el runtime.

Soporte nativo para MCP

Conecta cualquier servidor MCP y sus tools se vuelven tools normales al instante.

Orquestación de subagentes

Un agente puede lanzar y coordinar a otros agentes para dividir un problema.

Cualquier proveedor de LLM

OpenAI, Anthropic y modelos locales funcionan de la misma forma.

Compatible con

OpenAIOpenAIAnthropicAnthropicMongoDBMongoDBSentrySentryLangfuseLangfuseOllamaOllama

Mira qué poco código toma realmente

Correr un agente, agregar hooks, definir una identidad y escribir una tool personalizada

import { Agent } from 'openloops/core'
import { Logger } from 'openloops/common'
import { CurrentUser } from 'openloops/base'
import { PlanExecuteLoop } from 'openloops/loops'
 
const logger = new Logger()
const currentUser = await CurrentUser.asyncFromDB(userId)
const agent = new Agent({ loop: new PlanExecuteLoop() })
 
const result = await agent.run({
input: { message: 'hi, how are you?' },
currentUser,
})
 
logger.info(result, '[Demo] Result')

Un solo paquete, organizado por lo que necesites

openloops se distribuye como un único paquete con exports por subpath, así solo importas lo que usas.

openloops/core

Agent, AgentLoop, RunContext: el runtime

openloops/loops

Loops incluidos, empezando por PlanExecuteLoop

openloops/tools

Tool, BaseParams y las tools incluidas

openloops/skills

Skill, para pasos de razonamiento con LLM dentro de un loop

openloops/mcps

CRUD de servidores MCP y manejo de conexión

openloops/users

Gestión de usuarios

openloops/llmcalls

Seguimiento de uso y costo de LLM

openloops/base

CurrentUser, CurrentSession

openloops/common

Logger y utilidades compartidas

openloops/clients

Clientes HTTP usados por las tools incluidas

openloops/authentication

Utilidades de autenticación

openloops/chats

Internos de persistencia de chats y conversaciones

Cómo se compara con otros frameworks

Una comparación honesta frente a las versiones open source y autoalojadas de LangGraph y CrewAI

 openloopsLangGraph (OSS)CrewAI (OSS)
PersistenciaIncluida, sin configuración (MongoDB)Requiere configurar un checkpointer (p. ej. Postgres) tú mismoMemoria local (ChromaDB + SQLite) por defecto, atada a la máquina y a una sola ejecución
Delimitación por usuarioIncluida: chats, contexto y servidores MCP son por usuario desde el inicioNo es un concepto del framework, lo construyes túNo soportada de forma nativa por defecto
Ejecución de tools y reintentosIntegrada en el runtimeEscribes tú la lógica de reintentos y manejo de erroresSe configura por tarea, no es automática
Soporte MCPNativo: las tools de MCP se vuelven instancias de Tool automáticamenteRequiere un paquete adaptador aparte y configuración manualDisponible mediante una integración de tools aparte, sin carga automática por usuario
Gestión de usuariosIncluida (openloops/users)No incluida, la construyes túNo incluida
Seguimiento de uso y costo de LLMIncluido (openloops/llmcalls)No incluido en la versión OSS, disponible vía LangSmith de pagoNo incluido como módulo de primera clase
ObservabilidadSentry y Langfuse, activados con variables de entornoRequiere tu propia configuración de tracing, o LangSmith de pagoRequiere una integración de tracing de terceros
Agentes preconstruidosMarketplace creciente de loops listos para usarConstruyes cada agente desde ceroSin marketplace de agentes integrado
Lo que tú escribesFunciones de nodo (funciones async normales)Nodos y las conexiones del grafo, de forma explícitaAgentes, tareas y orquestación del equipo, declarados por rol
Modelo mentalUna máquina de estados que tu loop controlaUn grafo que declaras y compilas de antemanoUn equipo de agentes por rol coordinado por el framework

¿Listo para crear tu primer agente?

Instala openloops y ten un agente funcionando, persistido y multiusuario en minutos.

npm install openloops
Apache 2.0, libre para uso comercial
TypeScript, funciona con cualquier proveedor de LLM