Soy un principiante total. ¿Cómo puedo dar acceso a Discourse a través de la API?
Primero, crea una clave de API navegando a admin > avanzado > claves de API, haciendo clic en nueva clave de API y configurando sus detalles. Luego, usa la clave de API generada y el nombre de usuario del usuario para el que se creó en las cabeceras Api-Key y Api-Username de tus solicitudes de API. @Enit
@Enit Hola, ¿podrías dar más detalles sobre esto? ¿Te refieres a conceder acceso a un foro privado a través de la API o a algo más?
¡Gracias!
Estamos construyendo un sistema de memoria impulsado por IA donde múltiples agentes de IA (DeepSeek, Claude, ChatGPT, etc.) interactúan con nuestro foro de Discourse como una base de conocimiento compartida.
Configuración actual:
- Discourse autoalojado (última versión estable)
- VPS: Ubuntu 22.04, instalación basada en Docker
- Usuario administrador:
adminjozsi - Usuario agente de IA:
grokenit(creado mediante invitación por correo electrónico)
El Problema
Estamos experimentando problemas de invalidez frecuente de claves API:
- Las claves API caducan inesperadamente incluso cuando se configuran con una validez de “1 año”.
- Aparecen errores de “API no válida” aleatoriamente, lo que requiere la generación de nuevas claves.
- Las claves que funcionaron ayer fallan repentinamente hoy sin cambios en la configuración.
- Error:
{"errors":["Invalid API key"]}en solicitudes POST a/posts.json.
Lo que hemos intentado
Claves API a nivel de usuario (en lugar de globales)
- Descripción: “Grok - Clave API de usuario - adminjozsi”
- Nivel de usuario: “Usuario único” →
adminjozsi - Alcance: Global
Ajustes de límites de tasa:
- Establecer “Rate limit new user create post” a
0. - Aumentar todos los límites de tasa para usuarios nuevos.
Múltiples regeneraciones:
- Generamos más de 5 claves API en la última semana.
- Cada una funciona inicialmente, luego falla en 24-48 horas.
Preguntas
1. ¿Por qué caducan las claves API a pesar de la configuración de 1 año?
¿Hay algún mecanismo de expiración oculto que estemos pasando por alto? Los registros del servidor no muestran eventos de revocación.
2. ¿Pueden dos claves API diferentes compartir el mismo encabezado Api-Username?
Nuestra idea de arquitectura:
- Clave API #1 → Usada por el administrador humano (yo) para operaciones manuales.
- Clave API #2 → Usada por el agente de IA (DeepSeek) para publicaciones automatizadas.
- Ambas claves → Mismo encabezado
Api-Username: adminjozsi.
Pregunta: ¿Discourse manejará esto correctamente o espera 1 clave = 1 usuario?
3. ¿Deberíamos crear usuarios separados para cada agente de IA?
Enfoque alternativo:
- Usuario
adminjozsi→ administrador humano (yo). - Usuario
grokenit→ agente de IA #1 (DeepSeek). - Usuario
claude-ai→ agente de IA #2 (Claude). - Cada uno con su propia clave API.
Preocupaciones:
- ¿Las cuentas de agentes de IA necesitan ajustes de Nivel de Confianza?
- ¿Esto causará problemas de limitación de tasa?
- ¿Es este el patrón recomendado para integraciones de bots/agentes?
4. ¿Existen mejores prácticas de estabilidad de API para uso sin cabeza/automatizado?
Necesitamos autenticación API sólida como una roca porque:
- Los agentes de IA se ejecutan 24/7 sin supervisión humana.
- Las publicaciones fallidas = pérdida de datos en nuestro sistema de memoria.
- La regeneración de claves requiere intervención manual.
Detalles Técnicos
Formato de solicitud API:
curl -X POST "https://www.enit.hu/posts.json" \
-H "Api-Key: [KEY]" \
-H "Api-Username: adminjozsi" \
-H "Content-Type: application/json" \
-d '{"title":"Test","raw":"Content","category":6}'
Funciona inicialmente:
Devuelve {"id":123,"topic_id":45,...}
24-48h después:
Devuelve {"errors":["Invalid API key"]}
Entorno del servidor:
- Versión de Discourse: 3.6.0.beta2-latest (f26f894bfc)
- Instalación basada en Docker
- Sin proxy inverso (HTTPS directo a través de Let’s Encrypt)
- Sin CDN ni capa de caché
Lo que necesitamos
Solución ideal:
- Claves API estables que no caduquen inesperadamente.
- Orientación clara sobre la arquitectura multiagente (1 clave vs. múltiples claves).
- Consejos de depuración para errores de “API no válida” cuando las claves deberían ser válidas.
¡Cualquier información sería muy apreciada! Este es un bloqueo crítico para nuestro proyecto de integración de IA.
URL del foro: https://www.enit.hu
¡Estamos felices de proporcionar más registros/detalles si es necesario!
Hice esto. La API funciona durante unas horas y luego deja de funcionar.
Mi nombre es József, soy de Hungría y trabajo en turnos de noche en una fábrica.
No soy desarrollador ni informático, solo intento construir algo útil para mí: un pequeño sistema para organizar mis notas de trabajo y personales.
Instalé Discourse en mi propio VPS porque quería usarlo como un diario privado o una herramienta de memoria.
No es público, nadie más lo usa, es solo para mí.
Lo uso junto con algunos asistentes de IA (como ChatGPT o Claude) para escribir y organizar entradas cortas sobre el trabajo diario, la agricultura o recuerdos familiares.
Me ayuda a recordar las rutinas de la fábrica, hacer un seguimiento de pequeños proyectos y mantener las cosas organizadas en un solo lugar.
Cada vez que creo una clave de API en el panel de administración, solo funciona durante unas pocas horas.
Luego, de repente, deja de funcionar y dice “Clave de API no válida”.
Tengo que crear una nueva, lo que rompe mi configuración.
Esto ya ha sucedido varias veces en una semana.
Claves de API a nivel de usuario (no globales)
Límites de tasa establecidos en 450
Registros revisados
Probé diferentes configuraciones
Nada ayuda: la clave aún se vuelve inválida después de unas pocas horas.
¿Hay alguna forma de crear una clave de API que no expire automáticamente?
¿O tal vez un mejor método de autenticación para una configuración de un solo usuario?
Esta configuración de Discourse realmente podría ayudarme a gestionar mi vida laboral y personal.
Es un sistema privado, en mi propio servidor, sin usuarios públicos, solo yo.
Si este problema de la API se puede solucionar, creo que otros también podrían usar Discourse de esta manera, no solo para foros sino también como un sistema de memoria personal.
Detalles técnicos
-
Dominio: https://www.enit.hu
-
Versión: Discourse 3.6.0.beta2-latest
-
Configuración: Docker en Ubuntu 22.04 LTS
-
VPS: RackForest (2 GB de RAM)
-
Usuario: Un solo administrador (adminjozsi)
-
¿Por qué la clave se vuelve inválida?
-
¿Hay alguna configuración de expiración oculta?
-
¿Cómo puedo hacerla estable?
Realmente aprecio cualquier ayuda que puedan brindarme.
Si encuentro una solución que funcione, con gusto escribiré una breve guía para que otros en una situación similar puedan usarla también.
Gracias de nuevo,
József Tomkó
https://www.enit.hu