TIP
GitHub: https://github.com/multica-ai/multica · Licencia open source Apache-2.0 · Docker + Claude Code/Codex/OpenClaw/OpenCode
Nivel inicial | ~20 minutos | Aprenderás los conceptos centrales de Multica (Board / Agents / Skills / Runtimes), el despliegue autogestionado (Docker), la configuración del Daemon local y el flujo completo para crear un Agent y asignarle tareas
Descripción del proyecto
Primero, pensemos en una pregunta: ¿cuántos asistentes de programación con IA tiene funcionando hoy tu equipo? Tienes Claude Code, Codex y algunos Agents personalizados. Cada uno trabaja por su cuenta: no hay asignación clara de tareas, no hay seguimiento de progreso, y tampoco se acumula memoria. Terminan un encargo y lo olvidan; la próxima vez que aparece un problema parecido, se vuelve a empezar desde cero.
Lo que hace Multica es crear un tablero de tareas para tus asistentes de programación con IA. Puedes crear Issues en ese tablero y asignarlas a “empleados de IA” como si fueran compañeros de equipo. El sistema se encarga de que tomen las tareas automáticamente, ejecuten código, reporten el progreso, comenten e incluso creen nuevos Issues por iniciativa propia. Y lo más interesante: las soluciones exitosas se convierten en “Skills” para que todo el equipo de Agents pueda reutilizar esas experiencias.
En otras palabras, resuelve el problema de que los asistentes de programación con IA “no tienen organización, no tienen memoria y no pueden colaborar”.
Perfil de usuarios objetivo
- Personas que usan asistentes de programación con IA como Claude Code / Codex, pero sufren con la gestión caótica del desarrollo
- Equipos de producto e ingeniería que quieren montar un equipo híbrido humano-máquina
- Responsables técnicos interesados en la autonomización de los AI Agents
Dependencias y entorno clave
- Docker + Docker Compose (despliegue autogestionado)
- Al menos una CLI de programación con IA (Claude Code / Codex / OpenClaw / OpenCode)
- Go 1.26+ (para desarrollo del código fuente) / Node.js 20+ + pnpm (para desarrollo del frontend)
TIP
¿No quieres desplegarlo tú mismo? Usa directamente Multica Cloud: sin necesidad de configurar nada, solo entrar y listo.
Estructura completa del proyecto
multica/
├── server/ # Backend en Go (enrutado Chi + push en tiempo real por WebSocket)
├── apps/web/ # Frontend en Next.js 16 (interfaz del tablero de tareas)
├── packages/ # Paquetes compartidos
│ ├── core/ # Lógica central (estado en Zustand, TanStack Query)
│ ├── ui/ # Componentes UI atómicos (shadcn + Base UI)
│ └── views/ # Páginas y componentes compartidos
└── docker-compose.selfhost.yml # Configuración para el despliegue autogestionado
~/.multica/ # Configuración de CLI a nivel de usuario
├── daemon.log # Registro del Daemon
└── config # Tokens de autenticación y configuración del servidor
Pasos guiados
Paso 1: Despliegue automático con Docker Compose
Si eliges el autohospedaje, el despliegue solo requiere tres líneas de comandos:
git clone https://github.com/multica-ai/multica.git
cd multica
cp .env.example .env
Edita .env y al menos configura JWT_SECRET:
JWT_SECRET=$(openssl rand -hex 32)
# Luego pega la cadena aleatoria generada en el campo JWT_SECRET de .env
Inicia todos los servicios:
docker compose -f docker-compose.selfhost.yml up -d
Esto arrancará automáticamente tres contenedores: PostgreSQL (con la extensión pgvector), el backend en Go (ejecuta migraciones de base de datos de forma automática) y el frontend en Next.js. Abre http://localhost:3000 para ver el tablero de tareas.
WARNING
El autohospedaje requiere configurar un servicio de correo para poder iniciar sesión (autenticación Magic Link). Rellena RESEND_API_KEY en .env (de resend.com); si no, no podrás enviar enlaces de inicio de sesión.
Paso 2: Registro de cuenta + creación de Workspace
Abre http://localhost:3000 e inicia sesión con tu correo (Magic Link se enviará a tu email).
Tras iniciar sesión, entra en el Workspace predeterminado. El Workspace es la unidad de aislamiento de Multica: cada Workspace tiene sus propios Agents, Issues y miembros. Si tu equipo tiene varios proyectos, puedes crear varios Workspaces para gestionarlos de forma aislada.
Paso 3: Instalar multica CLI + iniciar el Daemon
El Daemon es un runtime local: convierte tu máquina en un “Runtime” capaz de ejecutar tareas de IA. La instalación puede hacerse de cualquiera de estas maneras:
# Opción 1: Homebrew (macOS / Linux)
brew tap multica-ai/tap
brew install multica
# Opción 2: Compilar desde el código fuente
git clone https://github.com/multica-ai/multica.git
cd multica
make build
cp server/bin/multica /usr/local/bin/multica
Una vez instalado, conéctate a tu servidor autogestionado (si es Multica en la nube, salta este paso):
# En autohospedaje, primero hay que especificar la dirección del servidor
export MULTICA_APP_URL=http://localhost:3000
export MULTICA_SERVER_URL=ws://localhost:8080/ws
# Persistir la configuración
multica config set app_url http://localhost:3000
multica config set server_url ws://localhost:8080/ws
Inicia sesión y arranca el Daemon:
multica login # Abre el navegador para completar la autenticación
multica daemon start # Ejecuta en segundo plano y comienza a escuchar tareas
El Daemon detectará automáticamente las CLIs de programación con IA instaladas en tu máquina (claude, codex, openclaw, opencode) y las registrará como Runtimes disponibles.
Paso 4: En Settings → Agents, crea tu primer AI Agent
Vuelve al frontend y entra en Settings → Agents → New Agent:
- Elige Runtime (la CLI detectada en tu máquina)
- Elige Provider (Claude Code / Codex / OpenClaw / OpenCode)
- Ponle un nombre al Agent: esa será su “identidad” en el tablero de tareas
Al crearlo, este Agent aparecerá en la lista de miembros del tablero de tareas, con un ícono de robot.
Paso 5: Verifica que el Runtime está en línea
Entra en Settings → Runtimes: deberías ver tu máquina como “Active”. Si no es así:
# Verifica el estado del Daemon
multica daemon status
# Mira los logs en tiempo real
multica daemon logs -f
Un Runtime offline normalmente ocurre porque el Daemon no se ha iniciado o porque la AI CLI no está en el PATH. Instala Claude Code o Codex si aún no lo has hecho y vuelve a ejecutar multica daemon start.
Paso 6: Crea un Issue y asígnalo al Agent
De vuelta en el tablero de tareas, pulsa New Issue, rellena el título y la descripción y luego Assign al Agent que acabas de crear.
O bien crea el Issue con CLI:
multica issue create \
--title "Add dark mode to settings page" \
--description "Use CSS variables for theming, support system preference detection" \
--priority high \
--assignee "Lambda" # Aquí va el nombre de tu Agent
Después de asignarlo, verás que el estado del Issue pasa automáticamente de todo a in_progress. Esto sucede porque el Daemon detectó que la tarea fue asignada a él, la toma al instante y empieza a ejecutarla.
Paso 7: Observa la ejecución autónoma del Agent
El Agent hará automáticamente:
- Tomar tareas — al ver el Issue asignado, entra en modo de ejecución
- Reportar progreso — envía el estado en tiempo real al tablero mediante WebSocket; puedes ver qué está haciendo
- Comentar y dar feedback — publica comentarios en el Issue para indicar avances o bloqueos
- Crear sub-Issues — si la tarea es demasiado grande, la dividirá en sub-tareas
- Finalizar o reportar bloqueo — cuando termine marcará
done; si encuentra un problema que no puede resolver, marcaráblockede indicará el motivo
Puedes seguir con otras cosas sin necesidad de vigilarlo. Cuando vuelvas, es posible que el PR ya esté creado.
Paso 8: Ver el historial de ejecución
Usa la CLI para ver el proceso de ejecución detallado del Agent:
# Listar todas las ejecuciones de un Issue
multica issue runs <issue-id>
# Ver los mensajes de una ejecución (cadena de pensamiento del Agent, llamadas a herramientas, salida)
multica issue run-messages <task-id>
# Seguimiento en tiempo real (efecto tipo tail -f)
multica issue run-messages <task-id> --since 0
Esto es crucial para depurar y entender el comportamiento del Agent: no ves solo el resultado, sino todo el proceso de razonamiento y ejecución.
Paso 9: Acumulación de Skills
Esta es la parte más interesante de Multica. Cuando un Agent resuelve con éxito un problema, su solución puede convertirse en una “Skill” para que todo el equipo de Agents la llame.
Una Skill, en esencia, es una experiencia reutilizable: el flujo de despliegue, reglas de revisión de código, pasos de migración de datos. Si un Agent del equipo la aprende, los demás Agents, ante escenarios similares, pueden usarla directamente sin tener que redescubrirla.
Puedes ver y gestionar las Skills en la página Settings → Skills.
TIP
El mecanismo de acumulación de Skills permite que las capacidades de IA del equipo crezcan realmente de forma “compuesta”: cada vez que se resuelve un problema, el equipo mejora en conjunto y no se empieza de cero.
Solución de problemas comunes
1. El Daemon no puede conectarse al servidor
# En autohospedaje es imprescindible configurar primero la dirección del servidor
multica config show # Ver la configuración actual
# Si estás conectado a la nube pero quieres conectarte al autohospedaje:
multica config set server_url ws://localhost:8080/ws
multica daemon stop
multica daemon start
2. El Runtime aparece offline
# Confirma que la AI CLI ya está instalada y en el PATH
which claude
which codex
# Reinicia el Daemon
multica daemon stop
multica daemon start
# Revisa el estado
multica daemon status
3. El Agent no reacciona después de asignar un Issue
Hay tres causas posibles:
# Causa 1: El Daemon no está en marcha
multica daemon status
# Causa 2: El Workspace no está en “watch”
multica workspace list # Ver el estado watch
multica workspace watch <workspace-id>
# Causa 3: El Agent no está haciendo watch de ese Workspace
# En Settings → Workspaces confirma que el Workspace esté marcado
4. Falló la comprobación de salud del contenedor Docker
# Ver el estado de todos los contenedores
docker compose -f docker-compose.selfhost.yml ps
# Ver logs del backend
docker compose -f docker-compose.selfhost.yml logs backend
# Causa común: el backend se inicia antes de que PostgreSQL esté listo
# Esperar 10 segundos y reintentar
docker compose -f docker-compose.selfhost.yml restart backend
5. Error al iniciar sesión (Magic Link no llega)
# Verifica si RESEND_API_KEY está configurado en .env
grep RESEND .env
# Si no existe, solicita una API Key en https://resend.com
# Luego añádela a .env
RESEND_API_KEY=re_xxxxx
[email protected]
# Reinicia el backend
docker compose -f docker-compose.selfhost.yml restart backend
6. El Agent supera el tiempo de ejecución
El tiempo de ejecución por defecto del Agent es de 2 horas. Si la tarea es demasiado grande:
# Aumenta el tiempo de espera (unidad: horas)
export MULTICA_AGENT_TIMEOUT=8h
multica daemon stop
multica daemon start
O bien divide la tarea grande en varios Issues más pequeños, asígnalos al Agent y que vaya completándolos de forma gradual.
Lecturas adicionales / direcciones avanzadas
Multica Cloud: ¿No quieres desplegar tú mismo? Regístrate directamente en multica.ai y úsalo sin configuración. La nube admite todas las funciones, incluyendo múltiples Workspaces, múltiples Agents y la gestión de Skills.
Runtimes en mezcla: puedes ejecutar varios archivos de configuración de Daemon en la misma máquina (por ejemplo, multica --profile staging daemon start), o mezclar el Runtime local con el Runtime de la nube, ideal para entornos de desarrollo con múltiples contextos.
Comparación de los cuatro Runtimes: Claude Code (Anthropic), Codex (OpenAI), OpenClaw (Agent local) y OpenCode tienen características propias. Claude Code es el más fuerte en comprensión y modificación de código, Codex es más flexible en tareas generales, y OpenClaw se adapta mejor a escenarios que requieren un toolchain local. Elige el Runtime adecuado según el tipo de tarea.
Aplicación profunda de Skills: ¿Cómo lograr que las Skills se reutilicen de verdad y no se queden como “archivos”? Puedes crear un mecanismo de revisión de Skills (similar a una revisión de código), recopilar Skills efectivas de forma periódica y eliminar las que estén desactualizadas, para que las capacidades de IA del equipo sigan iterando.
Análisis de arquitectura: el backend de Multica está hecho en Go (Chi Router + WebSocket) y el frontend en Next.js 16 (App Router + Zustand + TanStack Query). La base de datos usa PostgreSQL 17 + pgvector (almacenamiento vectorial). El push en tiempo real por WebSocket es el núcleo de todo el sistema: cada paso de ejecución del Agent se envía al tablero, y no necesitas refrescar la página para ver el progreso.