Agrégale funciones a MADRE.
Un módulo le suma algo a MADRE, como un comando nuevo, una herramienta para tus agentes o una integración. Todo cabe en un solo archivo. Se lo puedes pedir a un agente con /module o escribirlo tú. No compilas nada, no instala paquetes y no te pide registro.
En corto
- Un módulo le suma algo a MADRE: un comando, una herramienta para tus agentes o una integración. Es un solo archivo.
- No tienes que escribirlo tú: escribe
/moduley lo que quieres, y un agente lo escribe. - Nada se instala solo. MADRE te muestra qué hace y qué toca, y tú decides.
- Si el módulo trae un error, MADRE te lo dice en vez de instalarlo a medias.
Que lo escriba un agente
Pídeselo a un agente con /module.
Escribe /module y lo que quieres que haga. MADRE le pasa al agente la guía y el ejemplo, y él escribe el módulo. A ti te toca revisarlo e instalarlo.
#2 es el permiso Crear, /module es la petición y @opencode, quién la hace.Lo pides
Escribe
/moduley lo que necesitas, por ejemplo «un comando /pendientes que liste los TODO del proyecto».Das permiso
Le hace falta el permiso
#2Crear. Si no está prendido, MADRE te lo pide y guarda tu petición. Escribir el comando nunca lo prende por ti.El agente lo escribe
Hace un solo archivo,
<id>.module.mjs, en su carpeta de borrador. Nunca lo instala por su cuenta.Tú lo instalas
MADRE pone una tarjeta en la conversación con INSTALAR PARA TODOS LOS PROYECTOS o INSTALAR PARA ESTE PROYECTO. Lo revisas, escoges con un clic y lo prendes en Módulos.
Lo que puede hacer
Lo que puede hacer tu módulo.
Cada cosa la declaras en el archivo del módulo, y MADRE la conecta a tus proyectos.
Comandos en el proyecto. Haz tus propios comandos con
/. Contestan con una tarjeta que leen tú y tus agentes.Herramientas para los agentes. Le das a un agente herramientas de más (servidores MCP) solo durante su turno, y MADRE le cuenta qué recibió.
Ajustes sin diseñar nada. Declara selectores, interruptores y campos. MADRE los dibuja en la ficha y guarda lo que escojas.
Direcciones propias. Tu módulo puede contestar en sus propias direcciones web, siempre bajo
/api/x/tu-módulo/.Escuchar el proyecto. Le llega cada mensaje y cada turno del proyecto, y puede reaccionar a ellos.
Versiones al día. Si tu módulo usa un programa de fuera, MADRE vigila su versión y te enseña el comando para actualizarlo antes de correrlo.
Diagnóstico. Enséñale al Diagnóstico a reconocer problemas nuevos y cómo se arreglan en cada sistema.
Compartirlo en el Mercado. Mándalo al Mercado de la comunidad. Lo leo, lo firmo y aparece en el Mercado de todos. Quien lo instale ve antes qué declara: a dónde se conecta, qué llaves pide y qué agrega.
Errores comunes
MADRE te avisa antes de que algo truene.
Si tú o un agente se equivocan al escribir un módulo, MADRE te lo dice en lugar de instalarlo a medias.
Un campo mal escrito. Si pones
sumaryen vez desummary, MADRE te dice qué campo no conoce. No lo instala con la ficha vacía.Un import que no jala. Un módulo no lleva imports. MADRE le pasa lo que necesita. Si copias el
importde un módulo integrado, el error te dice qué hacer en su lugar.Quitarlo es un clic. Cada módulo tuyo trae DESINSTALAR en su propia tarjeta. Borra su archivo y lo saca del proyecto sin reiniciarlo.
Si prefieres escribirlo tú
Escribe tu primer módulo.
Copia el archivo
Ponlo en
~/.pulse/modules/para tenerlo en todos tus proyectos, o en.madre/modules/dentro de un proyecto para que solo funcione ahí.Recarga
En Módulos, abre «Crea tu módulo» y dale a Recargar módulos. Si algo falla, ahí te dice el archivo y la línea exacta.
Úsalo
Préndelo con su interruptor y escribe
/tu-comando. Si cambias el archivo, recargas y listo. No tienes que reiniciar el proyecto.
export default {
id: 'hello', // kebab-case
name: 'HELLO',
summary: 'Qué hace, en una frase.',
settings: { enabled: false, greeting: 'hola' },
async status(ctx) {
return { status: { installed: Boolean(ctx.settings.enabled), detail: ctx.settings.enabled ? 'on' : 'off' } };
},
slash: [{
name: 'hello',
usage: '/hello [name]',
summary: 'Saluda.',
async execute(ctx, args) {
return { ok: true, title: 'HELLO', text: `${ctx.settings.greeting}, ${args[0] ?? 'crew'}` };
},
}],
};
/hello. No tiene import porque MADRE le pasa todo lo que necesita. Ver hello-module.mjsLa ficha
MADRE arma la ficha de tu módulo.
Todas las fichas de Módulos tienen las mismas cinco partes, siempre en el mismo orden. Así la de tu módulo se lee igual que las de los módulos que ya trae MADRE.
Quién es
El nombre, si está prendido o apagado, quién lo hizo, la versión y el botón para buscar una más nueva.
Qué hace
Una sola frase.
Qué toca
Lo que escribe y lo que necesita para funcionar.
Ajustes
Tus selectores, interruptores y campos.
El interruptor
Instalar, prender o apagar. Siempre va abajo. Los módulos tuyos también traen DESINSTALAR.
Desde 1.1
Un archivo, el contrato sdk: 2 y el Mercado.
Un módulo dice para qué contrato del SDK está escrito. Con sdk: 2 es un solo archivo que no importa nada de MADRE, y lo puedes compartir con todos en el Mercado.
Lo que te da MADRE.
ctx.tte da tus palabras en el idioma del proyecto,ctx.services.ollama.generatela IA local, y tus rutas reciben sus propios ajustes.Se lee antes de instalarse. En el Mercado, la gente ve lo que declara tu módulo antes de instalarlo, y se instala el mismo archivo que leyó.
Firmado para todos. Lo mandas al Mercado de la comunidad; después de revisarlo, lo firmo y llega a cada copia de MADRE que lo pida.
Reglas de la casa
Cómo se porta un buen módulo.
No se conecta sin avisar. Si tu módulo habla con un servicio, lo dice en su ficha, y solo lo hace cuando la persona se lo pide.
Sin credenciales. Usa las sesiones que ya están en la compu. No guarda claves.
No escribe en el proyecto. Para eso están los permisos de los agentes. Si instala algo, te enseña el comando antes de correrlo.
Si falla, no rompe el turno. El error sale en la tarjeta del módulo y el proyecto sigue jalando.
Habla como MADRE. Textos cortos y claros, en el idioma de la persona: con
sdk: 2,ctx.tte da tus palabras en el idioma del proyecto.Se desinstala desde su tarjeta. Los módulos tuyos se desinstalan. Los que vienen con MADRE solo se apagan.
Tu opinión
¿Qué te falta para hacer tu módulo?
Si el SDK no te deja hacer algo que necesitas, como un campo, un evento o una herramienta para los agentes, cuéntame. No te pide cuenta y te da un enlace privado donde ves la respuesta.
Ojo
Un módulo corre con tus permisos.
MADRE revisa que cargue bien y que no se salga de su espacio. Lo que hace su código solo lo puedes revisar tú. Instala solo los módulos que hayas leído o que vengan de alguien de confianza.
- Sus direcciones viven bajo /api/x/<id>/.
- Si uno intenta usar otra, no carga. Ninguno se puede hacer pasar por MADRE.
- No usa el nombre de otro.
- Ni el de un módulo integrado ni el de uno que ya está instalado.
- No inventa mensajes.
- No puede fabricar turnos ni mensajes de los agentes.
- No recibe credenciales.
- Igual que MADRE, usa las sesiones de la compu.