Eso es solo una lista de lo que esperaba que fuera la sensación del sitio; el tema estilo Reddit/Discourse ya tenía la mayor parte de eso integrado
Topic List Previews fue la primera implementación de esto.
Eso no le sirve a nadie. Este mensaje va sobre intentar ver lo que puedo lograr con la ayuda de otros miembros y, con suerte, también servirá a otros si es posible ![]()
He intentado ayudar, pero solo has reaccionado con resistencia.
Mucha suerte.
Lo siento, no estoy intentando oponerme. Ya he respondido a tus preguntas, y me enviaste un enlace a Starzen, que no es lo que estoy intentando lograr. Luego respondí que había visto las publicaciones que enlazaste y que hablan sobre construir algo; yo también estoy intentando construir algo. Lo siento si sientes que estoy oponiéndome, pero no es el caso. La verdad, no estoy seguro hacia dónde quieres llegar con esto.
Solo quiero agradecer al OP por su inspiración (quien amablemente respondió a mi pregunta sobre el plugin que usa en su barra de navegación hace unas semanas).
Mi intención no es replicar la interfaz de las redes sociales, sino ofrecer algo más cómodo para nuestros usuarios, y estoy trabajando en ello. Con gusto compartiré mis hallazgos, el resultado final y el repositorio cuando llegue el momento ![]()
Por cierto, comparto algo que siempre es bueno recordar y que algunos usuarios pueden olvidar al responder o interactuar: Core Rules of Netiquette
Es cierto, por lo que también apoyo mucho los nuevos intentos del autor y de todos los demás.
He estado pensando en esto y es un poco más matizado que eso. Sí, todo se centra en la discusión, pero la lectura es un factor muy importante. Reconocemos que hay una enorme audiencia de lectores/consumidores y me encanta la idea de hacer que esa experiencia sea sin fricciones. Llevo mucho tiempo siendo defensor de un feed fácilmente personalizable.
El diseño inicial para la función «construye tu feed» está completo
Lo siguiente es insertar nuevas tablas en la BD, algo como:
| Campo | Propósito |
|---|---|
user_id |
El miembro |
category_id |
Categoría que se está midiendo |
impressions |
Apariciones significativas |
opens |
Temas abiertos |
likes |
Temas que han gustado |
replies |
Respuestas realizadas |
dwell_seconds |
Tiempo de lectura acumulado |
affinity_score |
Preferencia calculada |
updated_at |
Última recalculación |
Para la primera versión, solo se requiere la tabla de intereses. La tabla de comportamiento se añadirá más adelante, una vez que decida qué ruta seguir.
Hoy he visto algo relacionado en el foro de Nodeloc: NodeLoc
No estoy familiarizado con este enfoque, pero ¡tengo ganas de ver hacia dónde va!
Eso es realmente impresionante. Pensé mucho en la ruta /r, pero me decidí en contra de ella debido a las limitaciones de las categorías. Me pregunto cómo se habrá implementado.
La selección inicial de feeds se ha añadido y funciona correctamente. Aún no se ha aplicado ningún estilo, tal como se mencionó anteriormente, hasta la fase final.
La selección aparece en la primera visita de un usuario al feed y no se puede cerrar hasta que el usuario haya seleccionado 3 categorías de interés. También se ha añadido la opción de seleccionar todas.
También se ha añadido una pestaña para editar intereses.
La fuente de personalización inicial está lista y funcionando; por ahora no hay picos de CPU, se siente rápida y funciona como se esperaba.
Ahora:
- Puntuación de temas usando 55 % intereses, 25 % frescura, 10 % popularidad y 10 % aleatoriedad.
- Prefiere un tema de descubrimiento cada sexta posición cuando está disponible.
- Evita tres temas consecutivos de una misma categoría cuando existen alternativas.
- Mantiene la paginación independiente de los elementos eliminados o consumidos.
- Recarga y reordena la fuente cuando cambian los intereses.
- Incluye la ventana emergente funcional y Seleccionar todo.
y luego, cuando cambias tu fuente
Pensé que terminaría de estilizar antes de continuar.
Lo siguiente que hay que hacer es
Optimizar lo que hemos construido antes de añadir el seguimiento de comportamiento:
-
Limitar las sesiones de feed en caché por usuario para que las actualizaciones repetidas no acumulen seis horas de listas en caché.
-
Mejorar la mezcla de categorías para reducir el trabajo de la CPU en colas grandes.
-
Medir el tiempo de carga del feed y el uso de la caché.
Después de eso vendrá el seguimiento de comportamiento: registrar impresiones genuinas, aperturas de temas y tiempo de lectura. La preobtención no debe contar como lectura.
Inicialmente, recopilaríamos esas señales sin cambiar el orden. Una vez que el seguimiento sea fiable, podemos introducir gradualmente un peso de comportamiento del 15 % a medida que los usuarios vean de 30 a 50 publicaciones.
¡Me encanta la iniciativa!
Incluso podrías decir que “la lectura es fundamental”, lo cual fue un artículo de blog fundamental cuando empecé como community manager:
@Damian_Boon ¿cómo funcionaría este sistema si no hay imágenes adjuntas a un tema?
La Demo usa imágenes de cabecera generadas por IA, lo que espero que no sea el comportamiento predeterminado. Una de vez en cuando está bien, pero una imagen falsa tras otra se vuelve bastante irritante bastante rápido ![]()
También hay un pequeño error en Safari para escritorio, donde los enlaces a temas relacionados no se abren:
Exactamente igual, solo utiliza la vista de los temas. Así que verías lo que ves ahora, pero sin la imagen.
Este es un sitio de demostración donde todo el contenido está generado por IA para este caso de prueba.
Gracias por avisar, lo revisaré más adelante ya que está utilizando una caché de la página de inicio.
Con lo que he creado hasta ahora, necesito probar la carga del servidor. Tengo una cuenta de OpenRouter y quiero probar 10 bots publicando al mismo tiempo. ¿Cuál es la mejor ruta a seguir para probar, por ejemplo:
bots:
-
username: wtf_gaming
category: Gaming
personality: gaming-news
posts_per_hour: 30
replies_per_hour: 15 -
username: wtf_tech
category: Tech
personality: tech-news
posts_per_hour: 30
replies_per_hour: 15
y luego tener 10 bots iniciados sesión actualizando la página /feed cada 30 segundos, por ejemplo.
¿O crear un pequeño servicio independiente en Python que se comunique con Discourse + OpenRouter, en lugar de colocar las solicitudes de IA directamente dentro del proceso Rails de Discourse?
¿Cuál sería la mejor manera de probarlo?
¡Parece muy bueno! ¿Al final se convertirá en un nuevo tema?
¡Un componente de Tema con el feed del selector de categorías sería genial!


