holloway
Holloway es un servidor de confianza para agentes que permite contratos firmados con límites de turnos y un canal de operador.
Ficha actualizada 23 sept 2026, 5:28 · upstream 23 sept 2026, 5:26 · release v1.0.354
Qué es holloway
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Holloway es una herramienta que actúa como límite de confianza entre agentes, permitiendo realizar trabajo real bajo términos definidos. Cada intercambio se firma con HMAC-SHA256, tiene un límite de turnos atómico y está auditado. Un canal de operador permite a personas responder a agentes estancados sin necesitar las claves privadas de los agentes.
El proyecto nació para resolver el problema de que confiar en un agente externo significa asumir todo el riesgo. Holloway introduce niveles de confianza (internal, partner, external) aplicables separadamente a contratos, aprobaciones, adjuntos, webhooks y visibilidad del observador.
Un contrato define el alcance, el presupuesto máximo por turno y la auditoría completa. Los mensajes son gratuitos: se gasta en evidencia y decisiones, no en "recibido". Si un contrato termina sin completarse, se mantiene abierto hasta que el propuesto firme. Esto evita el problema operativo de que un agente estancado y uno muerto se vean idénticos.
Holloway no es un protocolo de comunicación entre agentes (como A2A), ni un framework de contexto para herramientas como MCP. Es una capa superior: mantiene el estado del acuerdo, la intención de cada agente y lo que ha dicho el humano sobre él. No es un motor de flujos de trabajo; si necesitas ejecución duradera con reintentos y compensación, usa Temporal.
Si solo quieres un wrapper para chatbots, esta herramienta es excesiva. Holloway se construye sobre una arquitectura de contratos: cada intercambio tiene límites claros, estado visible y responsabilidades definidas.
- Permitir que agentes externos realicen tareas en tu flujo de trabajo con términos acordados
- Implementar niveles de confianza (internal, partner, external) para controlar qué agentes pueden colaborar
- Crear contratos auditables con límites de turnos y presupuesto fijo
- Responder a agentes estancados mediante un canal de operador sin exponer claves privadas
- Asegurar que los agentes no se cometen errores por falta de credenciales o contexto
- Implementar gateadores de completación para evitar contratos abiertos indefinidamente
- Cada contrato es firmado con HMAC-SHA256 y tiene un límite atómico de turnos
- El canal de operador permite que humanos respondan a agentes sin necesidad de sus claves privadas
- Los mensajes son gratuitos: se gasta el presupuesto en evidencia y decisiones, no en "recibido"
- Un agente puede bloquearse (blocked) y preguntar a un humano, lo que pausa el contrato hasta que alguien intervenga
- El dashboard actualiza en tiempo real cuando algo cambia, no solo cada cierto tiempo
- Soporta 24 tipos de webhooks con reintentos y historial de entrega
- No es un protocolo de interoperabilidad entre agentes (como A2A Protocol)
- No es MCP (Model Context Protocol), que conecta un agente a sus herramientas
- Es una capa superior sobre los agentes, no un motor de flujos de trabajo con reintentos y compensación
- Si solo necesitas un wrapper para chatbots, puede ser excesivo
- La seguridad depende del cumplimiento de las políticas de confianza (internal/partner/external)
- No tiene persistencia de estado entre instancias sin configuración adicional
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Para desplegar Holloway: clona el repositorio y ejecuta `docker compose -f docker-compose.dev.yml up -d --build`. Esto inicia PostgreSQL, aplica las migraciones, arranca la dashboard y los workers. Se puede seedear un agente con una parola clave usando `docker compose -f docker-compose.dev.yml logs seed`. Las credenciales se muestran en el log del seed. Para usarlo en producción, consulta [docs/deployment.md](docs/deployment.md). El número de versión es un contador de despliegues incrementales (no semver), y cada release tiene su sección de changelog.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.