App de escritorio · Windows, macOS y Linux

Dibuja el equipo.
Ejecútalo con tu propio Claude.

Piensa en Dify o n8n, pero para agentes que leen y cambian código — en tu propia máquina, con un verificador que puede decir que no.

Concentus es una aplicación de escritorio para conectar flows multiagente en un lienzo y ejecutarlos sobre tus propios repositorios, tus propias bases de datos y la suscripción de Claude que ya tienes en tu máquina. Sin servidor que desplegar, sin base de datos que aprovisionar, sin API key que pegar.

RuntimeTrae su propio Java y su propio PostgreSQL. Nada que instalar aparte.
FacturaciónTu sesión de Claude. Sin API key; las ejecuciones cuentan contra la bolsa de uso no interactivo de tu plan, y la app te enseña cuánto queda.
ConfiguraciónCrea una cuenta al arrancar por primera vez. Eso es todo.
Funciona con claude gpt gemini deepseek localhost:11434 …o cualquier endpoint que sepas nombrar
01 · El Studio

El flow que dibujas es el flow que se ejecuta.

Suelta agentes, herramientas y fuentes de datos en un lienzo y conéctalos. Un coordinador reparte trabajo a un equipo; el equipo entrega sus resultados a un verificador. No hay YAML escondido detrás del dibujo ni código de orquestación que escribir — el grafo compila directamente en una sesión multiagente.

Concentus FlowsStudioRecursosUso claude · sesión iniciada you@example.com
Nodos
Agente Servidor MCP 🗄Consulta SQL 🐙Repositorio 📚Base de conocimiento 🌐Endpoint HTTP Verificador Condición Para cada Merge 🔗Subflow
Flow
ship-from-ticket
v7 · 5 nodos · 4 conexiones
linearMCP
https://mcp.linear.app/sse
🗄ticketsSQL
select id, title, body from tickets where key = :key
Tech Leadcoordinador
claude-opus-5
Lee el ticket, divídelo en trabajo de backend y de frontend, y reparte cada parte.
En ejecución · 41,2k
Backendagente
claude-sonnet-5
Spring Boot, Java 25. El compilador y sus tests, nada más.
En ejecución · 18,7k
Frontendagente
claude-sonnet-5
React 19 y módulos SASS. Que encaje con el panel donde vive.
Esperando respuesta
+ 🔒
Coordinador · Tech Lead
Esfuerzo
alto
Modelo
claude-opus-5
System prompt
Lee el ticket, divídelo en trabajo de backend y de frontend, y reparte cada parte. No escribas código tú mismo.
Aprobación
Preguntar antes de actuar
Dibujado

Nodos, conexiones y los puertos que dicen qué puede conectarse con qué.

Compilado

Una sesión multiagente, lanzada y transmitida por un socket.

Dirigible

Órdenes enrutadas a una sesión que ya está en marcha.

Versionado

Cada ejecución recuerda la revisión del flow que ejecutó.

02 · El equipo

Dieciséis tipos de nodo. Un solo vocabulario.

Cada uno es una tarjeta real en el lienzo: un icono, un nombre, una etiqueta y un lomo de color que dice qué es desde la otra punta de la sala. Cadenas, no una lista plana — un agente puede alimentar al siguiente, bifurcar según una condición, repartirse sobre una lista o llamar a otro flow entero.

Tech Leadcoordinador
claude-opus-5

Planifica el trabajo y lo reparte.

Backendagente
claude-sonnet-5

Hace una sola tarea, en su propio contexto.

linearMCP
https://mcp.linear.app/sse

Cualquier servidor MCP, por URL.

🗄ticketsSQL
select … from tickets

El resultado de una consulta, entregado como contexto.

🐙concentusgithub
main · apps/backend

Un repositorio que el equipo puede leer.

📚ManualKB
142 documentos indexados

Tus documentos, recuperados cuando son relevantes.

🌐hook de despliegueAPI
POST /deploy/staging

Cualquier endpoint HTTP, con solo escribir su URL.

Revisorverifica
Adversarial. Ante la duda, rechaza.

Comprueba el trabajo antes de darlo por hecho.

¿Necesita migración?SI
sí → el equipo de esquema · si no → saltar

Un if/else de verdad — ninguna entrada puede caer entre las ramas. Cada bloque tiene además una salida «si falla».

Cada archivo cambiadoCADA
en paralelo · límite 8

Reparte el mismo trabajo sobre una lista.

Recogermerge
une 4 ramas

Donde las ramas paralelas vuelven a juntarse.

🔗release-notesdespués
un flow dentro de este flow

Un flow llamando a otro.

Ticketdisparador
cron · cada día a las 09:00

Donde empieza una ejecución: escrito, programado, un webhook o un correo entrante.

Avisarcorreo
para: equipo@ · el resultado

Envía el resultado por SMTP cuando la ejecución llega aquí.

Por qué esta formanota
Escrita para el siguiente

Una nota en el lienzo. Agrupa bloques para moverlos juntos.

03 · Ejecutar y dirigir

Míralo trabajar. Coge el volante.

Una ejecución se transmite mientras ocurre: la salida de cada agente, filtrable agente a agente, cada uno con su color a lo largo de toda la transcripción. Pide a un agente que apruebe su plan antes de actuar, y nada toca tu disco hasta que tú lo digas.

Ejecuciones
ship-from-ticket2m41s nightly-digesten espera audit-main7m02s docs-sweep1m18s spike-pgvectorparada
⑂ versión del flow v7
Σ tokens de ejecución · entrada 184.220 · salida 39.410 · ≈$0.00
⑃ 4 workers (1 fallido) · ⟳ 1 reintento · ⚖ descartado 1/4 · ⧗ 2m 41s vs 7m 18s en secuencia (2,7×)
Todos los agentes Tech Lead 23% Backend 61% Frontend 44% Revisor 9%
salidacronología
09:41:07Tech LeadLeído PROJ-418. Dividiendo en trabajo de backend y de frontend.
09:41:12BackendLeyendo apps/backend/src/main/java/…/FlowCompiler.java
09:41:12FrontendLeyendo apps/frontend/src/flow/FlowCanvas.tsx
09:42:04BackendEl compilador maneja el nuevo tipo de conexión. 3 tests añadidos, todos en verde.
09:42:30RevisorRechazado el worker 3 — la migración no es reversible.
09:43:11BackendReintentando con una migración inversa.
09:43:48Tech LeadPlan listo. Esperando aprobación antes de tocar el árbol de trabajo.
Tech Lead está esperando la aprobación de su plan. Aprobar Rechazar
⚖ Verificado

Lo que el verificador adversarial descartó, de todo lo que juzgó. La salida rechazada nunca llega al merge.

⟳ Reintentado

Una ejecución que solo pasa tras reintentarlo todo no está sana — tiene suerte. La consola dice cuál de las dos.

⧗ Paralelo

Tiempo real frente al mismo trabajo hecho de principio a fin. Ese ×factor es lo que realmente ganó el reparto en paralelo.

⟲ Replay

Pasa las salidas grabadas de una ejecución terminada por el flow tal como está dibujado hoy — el lienzo rodea cada bloque cuyo destino cambiaría. Decisiones, no salidas; no se ejecuta nada.

📱 Aprueba desde el móvil

Una ejecución que se detiene por un humano se publica en Telegram con botones ✅ / ❌, y hace sus preguntas como mensajes que respondes contestando. La app consulta al bot, así que la decisión y la respuesta vuelven sin URL pública, sin puerto entrante y sin app que instalar — Slack funciona igual con reacciones e hilos.

04 · Casos de uso

Conecta el equipo según el trabajo.

Los mismos dieciséis bloques, dispuestos para el trabajo que tienes delante. Ninguno de estos necesita una línea de código de pegamento — solo un dibujo distinto.

linear lead befe

Entregar desde un ticket

Coge una historia de Linear, reparte el trabajo de backend y de frontend entre subagentes, y sube los cambios.

repo revisor

Auditar un diff

Un agente revisor rastrea los archivos cambiados en busca de errores de corrección y problemas de seguridad, ordenados por gravedad.

postgres agente

Respuestas con datos reales

Un agente consulta tu base de datos y responde con los números reales — no con una suposición sacada de los datos de entrenamiento.

El trato

Los flows se ejecutan mientras la app está abierta — no a las 3 de la mañana en un servidor.

Ese trato es justamente la gracia. Manejar la CLI claude en tu máquina es lo que llega a tu sesión de Claude, a tus repositorios y a las carpetas de tu propio disco — nada de lo cual puede ver un contenedor alojado. Un flow programado o disparado por correo salta cuando tu máquina está encendida y Concentus abierto.

05 · Instalar

Instálalo. Ábrelo. Esa es toda la configuración.

La app lleva su propio runtime de Java y su propio PostgreSQL, así que no hay requisitos previos ni nada que configurar — y no toca ninguno de los dos si ya los tienes instalados. El primer arranque te pide crear una cuenta, y eso es toda la configuración.

Windows

Instalador

Una instalación por usuario — sin permisos de administrador.

Que SmartScreen muestre un aviso es normal: el instalador de Windows aún no está firmado. Pulsa Más información → Ejecutar de todas formas — o instala con scoop, winget o npx concentus, que se saltan el aviso por completo.

macOS

Imagen de disco

Firmada y notarizada — se abre sin el baile de Gatekeeper. Arrastra Concentus a Aplicaciones.

Linux

AppImage o .deb

El AppImage se ejecuta tal cual; el .deb se instala como cualquier otro paquete.

chmod +x Concentus-*.AppImage
./Concentus-*.AppImage

# or
sudo apt install ./concentus_*_amd64.deb

Primer arranque

Inicia sesión en Claude una vez

Para ejecutar flows con tu suscripción, inicia sesión en Claude Code una vez desde un terminal. Concentus encuentra la CLI por sí solo.

claude          # then /login

¿Prefieres la API en la nube? Define ANTHROPIC_API_KEY en su lugar.

La interfaz habla inglés, español y catalán — sigue el idioma del sistema en el primer arranque.

Código fuente

Constrúyelo tú mismo

Código abierto. Construye el instalador para tu plataforma, o ejecuta la app directamente desde el repositorio.

pnpm install
pnpm desktop            # build + launch

# or produce an installer:
cd apps/desktop && pnpm package
Cualquier sistema

Gestores de paquetes

Sin el aviso de SmartScreen, y las actualizaciones llegan como las del resto de tus herramientas.

scoop bucket add concentus https://github.com/Gergilcan/concentus && scoop install concentus
winget install concentus
brew tap gergilcan/concentus && brew install --cask concentus
npx concentus
Una sola vez

Inicia sesión en Claude una vez, en tu máquina. Concentus ejecuta tus flows a través de la CLI claude a la que ya pertenece esa sesión — por eso no hay ninguna API key que pegar. Anthropic mide el uso no interactivo de Claude Code en su propia bolsa, separada de tus sesiones interactivas; la página de Uso mide lo que ha consumido esta máquina, y un flow puede recurrir a una API key o a un modelo local cuando se agota.

Todo lo demás, incluida la configuración del webhook, está en el README y en la documentación.

06 · Precios

Gratis para uno. Por asiento a partir de ahí.

Una persona, un titular, gratis para siempre — la app también funciona sin licencia, con el mismo límite de un asiento. Team (hasta diez asientos, comprado aquí) y Enterprise desbloquean la base de datos compartida, más de un miembro y SSO.

Individual

Gratis

Una licencia con tu nombre — la app también funciona sin ella, con el mismo límite de un asiento. Escribe tu nombre y tu email y te llega al buzón.

Te enviaremos la licencia por email y, de vez en cuando, novedades del producto — date de baja cuando quieras.

Team

Hasta diez asientos, comprado aquí

Lo que un equipo necesita para trabajar junto, sin el email: elige asientos y plazo, paga con tarjeta y la licencia llega a tu buzón minutos después del pago. 25 € por asiento al mes; 20 € si pagas el año de una vez.

  • Inicio de sesión con Google y Microsoft
  • Miembros y roles, hasta tus asientos
  • La base de datos compartida
Plazo

Cargando precios…

Enterprise

Por asiento, mensual o anual

Todo lo de Team, a cualquier tamaño, más escala y gobernanza. Factura en vez de tarjeta, o un contrato; la facturación anual sale un 10% más barata. Aquí aún no hay precios impresos — escríbenos y acordamos asientos y plazo contigo.

  • Proveedores de identidad propios (cualquier emisor OpenID Connect)
  • Cuentas automáticas para un dominio de correo
  • Exportación de métricas OpenTelemetry a tu colector
  • Políticas de organización
  • Exportación del registro de auditoría
  • Retención ilimitada de ejecuciones y versiones
  • Varias organizaciones en un mismo despliegue
  • Cuentas de servicio ilimitadas
  • Endpoints publicados sin límite de peticiones
  • Grupos dentro de una organización
Pruébalo antes

Catorce días de las funciones de equipo, sin tarjeta

Una licencia de prueba para hasta diez asientos, en tu buzón en un minuto: la base de datos compartida, miembros, SSO — todo lo que desbloquea una licencia de equipo o enterprise. Cuando termina, la instalación vuelve a un asiento; no se borra nada.

Construye tu primer flow en minutos.

Instala la app, inicia sesión en Claude una vez y ejecuta un flow multiagente con tu propia suscripción — sin API key, sin peaje de configuración, y con una página de uso que te dice dónde estás.