Sobre el proyecto
BareAgent es una biblioteca ligera de orquestación de agentes sin dependencias para Node.js que proporciona un bucle pensar→actuar→observar para agentes de IA. A diferencia de marcos más pesados como LangChain, CrewAI o AutoGen, BareAgent se centra en bloques de construcción componibles en lugar de un marco monolítico, y el núcleo no importa nada.
Las capacidades principales incluyen:
- **Loop**: El bucle central pensar→actuar→observar que se ejecuta hasta que un objetivo está completo, con puntos de integración opcionales para políticas de gobernanza, ingeniería de contexto y recorte de transcripción.
- **Planner & runPlan**: Divide los objetivos en un DAG de pasos y ejecuta los pasos en oleadas paralelas con conocimiento de dependencias y reintentos por paso.
- **recurse (RLM)**: Primitiva de descomposición recursiva que descompone tareas difíciles, distribuye subtareas, verifica resultados y sintetiza una respuesta final. Admite generación de subtareas impulsada por el modelo, expansión forzada y partición basada en datos. Incluye conteo honesto sobre corpus mediante recuperación basada en escaneo que cuenta con código en lugar de depender de números declarados por el modelo.
- **Memory**: Almacenamiento persistente y recuperación entre sesiones mediante una interfaz de Store intercambiable (JSON, SQLite o litextx).
- **Governance**: La integración opcional de bareguard proporciona una única puerta de políticas sobre todas las llamadas de LLM y herramientas, con registro de auditoría, límites de presupuesto y puntos de aprobación humana.
- **Resilience**: Reintentos con retroceso y jitter, interruptor de circuito y conmutación por error de proveedor.
- **Providers**: Admite API compatibles con OpenAI, Anthropic, Gemini, Ollama, CLIPipe y proveedores personalizados. Todos devuelven una forma normalizada con métricas honestas de tokens/costos, incluido el informe de niveles de caché de prompt.
- **Tools**: Cualquier función puede ser una herramienta. Navegación web integrada (barebrowse), control móvil (baremobile) y ejecución de shell. MCP Bridge descubre automáticamente servidores MCP desde configuraciones de IDE.
- **Cross-language**: Puede ejecutarse como subproceso desde Python, Go, Rust, Ruby o Java mediante JSONL sobre stdin/stdout.
- **Streaming**: Eventos JSONL estructurados para progreso en tiempo real.
- **Evaluator & refine**: Evalúa salidas mediante predicado, rúbrica o crítico agéntico, con un bucle acotado de generar→evaluar→regenerar.
- **Scheduler**: Disparadores cron o relativos con persistencia de trabajos entre reinicios.
- **Checkpoint**: Puerta de aprobación humana con transporte traído por el usuario.
- **Spawn**: Crea agentes hijos con registro de auditoría y presupuesto compartidos.
- **Defer**: Coloca acciones en cola para ejecutarlas posteriormente mediante un despertador.
- **SkillRegistry**: Muestra habilidades bajo demanda mediante un catálogo de meta-herramientas.
- **stash**: Compacta el trabajo terminado fuera de la ventana de contexto activa o lo pliega automáticamente bajo presión de tokens.
La biblioteca está diseñada para ser lo suficientemente ligera como para comprenderse por completo y lo suficientemente completa como para evitar reinventar la rueda. Se distribuye con cero dependencias requeridas; los pares opcionales incluyen bareguard para gobernanza, better-sqlite3 para almacenamiento SQLite y cron-parser para programación. Licenciada bajo Apache 2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.