yad
yad es una herramienta minimalista en Go que ejecuta agentes de codificación (Claude Code, Codex) conectándose a hubs externos sin abrir puertos entrantes. Gestiona sesiones persistentes con SQLite y permite múltiples hubs compartiendo capacidad de máquina mediante polling outbound.
Ficha actualizada 27 sept 2026, 17:40 · upstream 27 sept 2026, 17:34 · release sin release detectada
Qué es yad
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
yad es un binario pequeño diseñado para ejecutar harnesses de agentes de codificación en máquinas propias, conectándose a uno o más hubs que deciden qué trabajo existe. Funciona como runner headless que detecta herramientas instaladas (Claude Code, Codex) y las ejecuta en sesiones con directorios de trabajo persistentes entre runs.
La arquitectura se basa en un modelo cliente-servidor donde el runner conecta outbound a los hubs mediante HTTPS sin exponer puertos entrantes. Utiliza SQLite para persistir estado de sesiones, eventos no entregados y resultados pendientes, sobreviviendo a reinicios. Soporta múltiples cuentas por harness, gestionando límites de uso automáticamente al moverse entre ellas cuando una se agota.
El sistema incluye mecanismos de seguridad como secretos efímeros que solo viven durante el run actual, y permite configurar permisos del harness mediante config.toml sin intervención del hub. Incluye comandos para diagnóstico (yad doctor), conformance de hubs y gestión de servicios en macOS/Linux.
- Orquestar múltiples agentes de codificación en un mismo hardware compartiendo capacidad entre diferentes hubs
- Ejecutar flujos de trabajo continuos donde el hub decide qué tareas ejecutar basándose en políticas externas
- Gestionar límites de uso de API rotando automáticamente entre cuentas cuando una se agota
- Mantener sesiones persistentes que sobreviven a reinicios del sistema operativo o del servicio
- Arquitectura outbound-only sin puertos entrantes, reduciendo superficie de ataque
- Persistencia de estado en SQLite con recuperación automática tras reinicios
- Soporte nativo para múltiples hubs simultáneos con reparto justo de capacidad
- Gestión automática de límites de uso entre cuentas del mismo harness
- Secretos efímeros que se eliminan al finalizar cada run individual
- No incluye sandboxing nativo; requiere configuración manual en config.toml para limitar permisos del harness
- Ausencia de interfaz gráfica o panel de control integrado, requiriendo CLI para monitoreo
- Dependencia crítica de hubs externos confiables que definen el contrato de protocolo
- Adaptadores no implementados para Gemini CLI, GitHub Copilot CLI, OpenCode y Cursor Agent según yad doctor
- Falta de mecanismo nativo para desconectar hubs (yad disconnect no está disponible aún)
Capturas del proyecto
Imágenes reales detectadas en la documentación del repositorio.
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.
Desplegar en máquinas virtuales o contenedores aislados con usuarios separados para personal y trabajo. Nunca usar en equipos con credenciales sensibles sin configuración estricta de permisos. Activar hooks de setup (.worktree/setup) para preparar repositorios antes de ejecutar runs. Configurar límites de uso en config.toml según políticas de seguridad del equipo. Usar yad service install para gestión automática como daemon en macOS (launchd) o Linux (systemd user unit). Verificar SHA-256 de binarios antes de instalar.
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.