Repolode
thruwire

thruwire/foreman

Un supervisor en Python que monitoriza agentes de programación como Codex y OpenCode con modelos de decisión para evaluar si completaron el trabajo, si las pruebas son suficientes y si hay agentes bloqueados.

Estrellas
814
Forks
69
Issues abiertos
10
Último commit
hace 23 días

¿Qué es?

Foreman supervisa agentes de programación con IA. Se le proporciona un ticket, una especificación o un informe de errores, y ejecuta un agente de trabajo como Codex, OpenCode, Hermes o Deep Agents CLI de LangChain. Mientras el agente trabaja, Foreman envía periódicamente evidencias acotadas (el texto de la tarea, el estado y el diff de Git, fragmentos finales de la salida, resultados de las pruebas e instrucciones AGENTS.md del repositorio) a un modelo de decisión. El modelo devuelve probabilidades para comprobaciones como la integridad de la implementación, el cumplimiento de los requisitos, la necesidad de verificar y si el agente está bloqueado o se desvía del objetivo.

Una política determinista de Python convierte esas puntuaciones en acciones: continuar, redirigir al agente durante un turno (solo con Codex App Server), detenerlo, reintentarlo, iniciar un verificador, finalizar o escalar el caso a una persona. Las responsabilidades se definen en archivos TOML con umbrales configurables, y se pueden añadir comprobaciones personalizadas. Los modelos de decisión pueden ser de Jev de TypeSafe (opción predeterminada) o de la API Decisions de OpenAI.

Foreman también permite añadir supervisión a sesiones interactivas mediante hooks para Codex, Deep Agents y Pi. Hay una demostración determinista que se ejecuta sin claves de API, y el estado de las ejecuciones se guarda localmente en el directorio .foreman de cada repositorio.

Funciones clave

  • 01Ejecuta Codex, OpenCode, Hermes o Deep Agents como agentes de programación.
  • 02Evalúa de forma independiente del agente si el trabajo está completo, si cumple los requisitos, si las pruebas son suficientes y cuál es el estado del agente.
  • 03Puede redirigir un turno activo de Codex o detener y reintentar un agente bloqueado.
  • 04Admite adaptadores para los modelos de decisión Jev y OpenAI.
  • 05Permite configurar responsabilidades, umbrales y comandos externos para recopilar evidencias en TOML.

Casos de uso

  • Evitar que un agente de programación sin supervisión entre en bucles o se desvíe del ticket.
  • Añadir una comprobación independiente de la finalización y la cobertura de pruebas antes de aceptar el resultado del agente.
  • Supervisar una sesión interactiva de Codex o Pi iniciada por un desarrollador.
  • Experimentar con la supervisión semántica de agentes de programación mediante comprobaciones personalizadas.

Inicio rápido

  1. 1

    Configura la variable de entorno TYPESAFE_API_KEY para el modelo de decisión Jev predeterminado

  2. 2

    Ejecuta Foreman con el backend de workers de OpenCode en un proyecto que tenga una descripción del trabajo

    FOREMAN_WORKER_BACKEND=opencode foreman run --repo ./my-project --job "Add request retries"

Antes de usarlo

  • Foreman solo ejecuta un worker de programación a la vez.
  • La dirección en tiempo real de un turno activo solo funciona con el backend Codex App Server; los demás backends recurren a detener y reintentar.
  • La configuración del modelo de decisión predeterminado requiere una TYPESAFE_API_KEY.

En colecciones

Temas

Preguntas frecuentes

¿Qué es foreman?
Un supervisor en Python que monitoriza agentes de programación como Codex y OpenCode con modelos de decisión para evaluar si completaron el trabajo, si las pruebas son suficientes y si hay agentes bloqueados. Foreman supervisa agentes de programación con IA. Se le proporciona un ticket, una especificación o un informe de errores, y ejecuta un agente de trabajo como Codex, OpenCode, Hermes o Deep Agents CLI de LangChain. Mientras el agente trabaja, Foreman envía periódicamente evidencias acotadas (el texto de la tarea, el estado y el diff de Git, fragmentos finales de la salida, resultados de las pruebas e instrucciones AGENTS.md del repositorio) a un modelo de decisión. El modelo devuelve probabilidades para comprobaciones como la integridad de la implementación, el cumplimiento de los requisitos, la necesidad de verificar y si el agente está bloqueado o se desvía del objetivo.
¿foreman es gratuito? ¿Qué licencia tiene?
foreman es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿foreman sigue mantenido?
Mantenimiento activo. El último commit de foreman fue el 15 oct 2026.
¿Para qué puedo usar foreman?
Evitar que un agente de programación sin supervisión entre en bucles o se desvíe del ticket. Añadir una comprobación independiente de la finalización y la cobertura de pruebas antes de aceptar el resultado del agente. Supervisar una sesión interactiva de Codex o Pi iniciada por un desarrollador. Experimentar con la supervisión semántica de agentes de programación mediante comprobaciones personalizadas.
¿Cómo se instala foreman?
Configura la variable de entorno TYPESAFE_API_KEY para el modelo de decisión Jev predeterminado Ejecuta Foreman con el backend de workers de OpenCode en un proyecto que tenga una descripción del trabajo: FOREMAN_WORKER_BACKEND=opencode foreman run --repo ./my-project --job "Add request retries"
¿Dónde consigo foreman?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/thruwire/foreman

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados