Nostr
Estado: Plugin empaquetado opcional (desactivado de forma predeterminada hasta que se configure). Nostr es un protocolo descentralizado para redes sociales. Este canal permite que OpenClaw reciba y responda a mensajes directos (DM) cifrados mediante NIP-04.Plugin empaquetado
Las versiones actuales de OpenClaw incluyen Nostr como plugin empaquetado, por lo que las compilaciones empaquetadas normales no necesitan una instalación independiente.Instalaciones antiguas/personalizadas
- El onboarding (
openclaw onboard) yopenclaw channels addsiguen mostrando Nostr desde el catálogo compartido de canales. - Si tu compilación excluye el plugin empaquetado de Nostr, instálalo manualmente.
Configuración no interactiva
--use-env para mantener NOSTR_PRIVATE_KEY en el entorno en lugar de almacenar la clave en la configuración.
Configuración rápida
- Genera un par de claves de Nostr (si es necesario):
- Añádelo a la configuración:
- Exporta la clave:
- Reinicia el Gateway.
Referencia de configuración
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
privateKey | string | obligatorio | Clave privada en formato nsec o hex |
relays | string[] | ['wss://relay.damus.io', 'wss://nos.lol'] | URL de relays (WebSocket) |
dmPolicy | string | pairing | Política de acceso a mensajes directos |
allowFrom | string[] | [] | Claves públicas de remitentes permitidos |
enabled | boolean | true | Habilita/deshabilita el canal |
name | string | - | Nombre para mostrar |
profile | object | - | Metadatos de perfil NIP-01 |
Metadatos del perfil
Los datos del perfil se publican como un evento NIP-01kind:0. Puedes gestionarlos desde la interfaz de Control (Channels -> Nostr -> Profile) o configurarlos directamente en la configuración.
Ejemplo:
- Las URL del perfil deben usar
https://. - La importación desde relays fusiona campos y conserva las anulaciones locales.
Control de acceso
Políticas de mensajes directos
- pairing (predeterminada): los remitentes desconocidos reciben un código de emparejamiento.
- allowlist: solo las claves públicas de
allowFrompueden enviar mensajes directos. - open: mensajes directos públicos entrantes (requiere
allowFrom: ["*"]). - disabled: ignora los mensajes directos entrantes.
- Las firmas de eventos entrantes se verifican antes de la política de remitente y del descifrado NIP-04, por lo que los eventos falsificados se rechazan de forma temprana.
- Las respuestas de emparejamiento se envían sin procesar el cuerpo original del mensaje directo.
- Los mensajes directos entrantes tienen limitación de tasa y las cargas útiles sobredimensionadas se descartan antes del descifrado.
Ejemplo de lista de permitidos
Formatos de clave
Formatos aceptados:- Clave privada:
nsec...o hex de 64 caracteres - Claves públicas (
allowFrom):npub...o hex
Relays
Predeterminados:relay.damus.io y nos.lol.
- Usa 2-3 relays para redundancia.
- Evita demasiados relays (latencia, duplicación).
- Los relays de pago pueden mejorar la fiabilidad.
- Los relays locales sirven para pruebas (
ws://localhost:7777).
Compatibilidad de protocolo
| NIP | Estado | Descripción |
|---|---|---|
| NIP-01 | Compatible | Formato básico de eventos + metadatos de perfil |
| NIP-04 | Compatible | Mensajes directos cifrados (kind:4) |
| NIP-17 | Planificado | Mensajes directos envueltos como regalo |
| NIP-44 | Planificado | Cifrado versionado |
Pruebas
Relay local
Prueba manual
- Anota la clave pública del bot (npub) desde los registros.
- Abre un cliente Nostr (Damus, Amethyst, etc.).
- Envía un mensaje directo a la clave pública del bot.
- Verifica la respuesta.
Resolución de problemas
No se reciben mensajes
- Verifica que la clave privada sea válida.
- Asegúrate de que las URL de los relays sean accesibles y usen
wss://(ows://para local). - Confirma que
enabledno seafalse. - Revisa los registros del Gateway para ver errores de conexión de relay.
No se envían respuestas
- Comprueba que el relay acepte escrituras.
- Verifica la conectividad saliente.
- Observa posibles límites de tasa del relay.
Respuestas duplicadas
- Es esperable cuando se usan varios relays.
- Los mensajes se deduplican por ID de evento; solo la primera entrega activa una respuesta.
Seguridad
- Nunca confirmes claves privadas en el repositorio.
- Usa variables de entorno para las claves.
- Considera
allowlistpara bots de producción. - Las firmas se verifican antes de la política de remitente, y la política de remitente se aplica antes del descifrado, por lo que los eventos falsificados se rechazan pronto y los remitentes desconocidos no pueden forzar trabajo criptográfico completo.
Limitaciones (MVP)
- Solo mensajes directos (sin chats grupales).
- Sin archivos multimedia adjuntos.
- Solo NIP-04 (NIP-17 gift-wrap está planificado).
Relacionado
- Resumen de canales: todos los canales compatibles
- Pairing: autenticación de mensajes directos y flujo de emparejamiento
- Grupos: comportamiento de chats grupales y control por menciones
- Enrutamiento de canales: enrutamiento de sesiones para mensajes
- Seguridad: modelo de acceso y endurecimiento