Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

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

Ver códigoProblemas y ayudaRepositorio ↗
00

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.

CASOS DE USO
  • 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
PUNTOS DESTACADOS
  • 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
PRECAUCIONES
  • 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)
VISUAL

Capturas del proyecto

Imágenes reales detectadas en la documentación del repositorio.

YAD
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU2 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Despliegue manual

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.

—Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsNode.jsGo
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
7878
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

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.