Foreman: un gateway LLM autohospedado para enrutar entre modelos y controlar el gasto

Fuentes: Foreman: a self-hosted LLM gateway for cost-aware model routing

Foreman es un gateway de código abierto, escrito en Go, que se sitúa entre un agente de programación y múltiples proveedores de modelos de lenguaje. Su propósito es ofrecer a equipos y desarrolladores una capa local de control para decidir qué modelo responde a cada petición, optimizar costes y mantener las claves y el tráfico dentro de la propia red.

La herramienta funciona como un único binario que expone una API compatible con los formatos de OpenAI y Anthropic. A partir de dos archivos de configuración (política y catálogo de modelos) y variables de entorno, el usuario define qué modelos son baratos, medios o frontier, qué tareas puede atender cada uno y los precios por millón de tokens. En cada solicitud, Foreman evalúa la prioridad: primero las plantas de la política, luego cabeceras explícitas como X-Foreman-Task-Type o X-Foreman-Risk, y por último el modelo que el cliente ha solicitado. Dentro de cada nivel, el enrutador elige el modelo sano más económico, con failover automático entre proveedores mediante un circuit breaker.

Una de sus características centrales es la gestión de la caché de prompt: las conversaciones identificadas con X-Foreman-Session-ID permanecen en el mismo modelo mientras la caché esté caliente, evitando que un cambio de ruta barato anule el caché del proveedor. Foreman registra cada decisión en un ledger consultable, con tokens medidos, coste real y un registro de las alternativas rechazadas, accesible tanto por la CLI como por APIs JSON.

En la práctica, el usuario instala Foreman con Homebrew, go install o desde los binarios publicados, ejecuta foreman init para configurar proveedores y generar una clave, y apunta su agente (Claude Code, Codex, OpenCode, Pi) al endpoint. La licencia es Apache-2.0 y el proyecto está mantenido por Northwood-Systems.