← Todas las entradas
08 sept 2026Matias Aguirre

Kernl 0.3.0: todo lo que es un agente, en un solo cajón

El agent drawer unifica mandato, herramientas, runtime y disparadores en un panel. Más skills recomendadas por agente, conexiones MCP desde el dashboard y builds de macOS firmados y notarizados en el orden correcto.

kernlreleaseai-agentsmcpself-hostedopen-source
La oficina 3D de Kernl con varios agentes reunidos y el panel LIVE de la conversación
La oficina 3D de Kernl con varios agentes reunidos y el panel LIVE de la conversación

Todo lo que define a un agente en Kernl —su mandato, su runtime, sus herramientas, sus skills, qué lo despierta— vivía repartido entre un panel soldado al mundo 3D y un segundo panel medio duplicado en la página de agentes. Esta versión lo junta en un solo cajón que montan las dos páginas, y después dedica la mayoría de los commits a llenarlo.

Un solo panel, montado en dos lugares

El agent drawer se extrajo del mundo 3D a su propio shell, con su propio store, y ahora también se monta en la página de agentes. Su árbol carga el mandato, el objetivo por defecto, las herramientas permitidas, las variables, la apariencia y el runtime. Lo del runtime importa: se edita desde el panel mismo, no desde una página de configuración a tres clics de distancia.

Las conexiones, el schedule y los triggers de eventos se unificaron en una sola sección de triggering. Eran tres lugares distintos para contestar una única pregunta: qué arranca este agente.

Skills que se recomiendan solas

Cada agente tiene ahora su pestaña de skills, donde se recomienda, se instala y se asocia en el mismo lugar. Las sugerencias se sirven por HTTP desde un core de scoring que se sacó del cron sugeridor, y las skills del catálogo se puntúan junto a las que el agente ya tiene instaladas. La diferencia no es cosmética: el ranking pasa a contestar qué le conviene aprender a este agente, en vez de qué tiene ya.

También se pueden agregar skills desde una URL de repo sin salir de la pestaña. Para los agentes de tipo script, que no pueden usar skills, la pestaña directamente no aparece.

Conexiones MCP desde el dashboard

Agregás un servidor MCP, iniciás sesión y queda funcionando. Antes era editar un archivo de configuración y reiniciar.

Suma además update in-app en Linux y Windows —macOS ya lo tenía— y el instalador de Windows ahora empaqueta los SDK de agentes y de MCP, así una instalación limpia puede correr un agente sin un toolchain aparte.

Firmado y notarizado, en el orden correcto

Los builds de macOS se firman y notarizan, y el orden es lo que estaba mal. Ahora cada Mach-O anidado se firma antes del bundle que lo sella, el .app se notariza y se staplea antes de entrar al disk image —así abre sin red— y el tarball portable se reempaqueta desde el bundle firmado en vez del sin firmar que se había escrito minutos antes.

El job además falla cuando los seis secrets de Apple están cargados a medias. Antes publicaba una app firmada pero sin notarizar, que Gatekeeper rechaza exactamente igual que una sin firmar. Un release construido sin los secrets sigue saliendo sin firma, pero lo dice.

Lo que estaba roto y no se veía

  • El botón de actualizar de la tienda no actualizaba. Reportaba éxito igual.
  • Todas las herramientas mcp__kernel__* faltaban en las corridas del ejecutor claude_code. La API HTTP del kernel es fail-closed y el servidor MCP la alcanzaba sin header Authorization, así que /mcp respondía 401 y el servidor nunca terminaba de inicializar, en silencio. El agente arrancaba lo mismo, encontraba sólo sus built-ins e improvisaba. Ahora presenta el token que el proceso ya tiene.
  • Una corrida fallida dejaba el hilo de chat mudo. El panel caía a la fila del run sólo cuando el hilo no tenía ningún mensaje del agente, así que de la segunda falla en adelante el error desaparecía por completo: el operador veía su propio mensaje, ninguna respuesta y ningún error. Ahora el motivo se persiste y se muestra como una línea que nombra el control que lo arregla. Un presupuesto de pasos agotado dice qué setting moverle, en lugar de “Reached maximum number of turns (15)”.
  • Todos los tags animados de eventos estaban muertos. El ícono nunca llevaba la clase de la que cuelgan sus keyframes, y los keyframes se referenciaban con un nombre que Svelte ya había reescrito. Pulse, spin, shake, wobble, bounce, sparkle y pop no se habían reproducido jamás.
  • Los argumentos de tipo array u objeto que un ejecutor había serializado a string se recuperan, en vez de llegar a la herramienta como "[object Object]".

El indicador de “pensando” también cambió. Era un ⚙️ girando sobre la cabeza del agente, y a distancia de cámara de oficina un glifo rotando se lee como una mota vibrando. Ahora son tres puntos respirando en secuencia dentro de la placa con el nombre, en el color de flujo del agente.

Cómo actualizar

curl -fsSL https://lifekernl.com/install.sh | sh

El mismo comando instala y actualiza. En macOS y Windows el update se hace desde la app. El detalle completo está en el CHANGELOG, y los binarios firmados para rpm, deb, dmg y msi salen en la página del release.

Compartir
Siguiente paso

¿Listo para Iniciar su Proyecto?

Hablemos sobre cómo la tecnología puede transformar su organización. Ofrecemos consultas técnicas y soluciones a medida adaptadas a requisitos institucionales. Agende una sesión estratégica sin compromiso.

Hablemos
Consulta gratuitaSin compromisoRespuesta rápida