Isso é apenas uma lista do que eu esperava que fosse a sensação do site, o tema estilo Reddit/Discourse já tinha a maior parte disso embutida
O Topic List Previews foi a primeira implementação disso.
Isso não ajuda ninguém. Este tópico é sobre tentar ver o que eu consigo alcançar com a ajuda de outros membros e, com sorte, também poderá ajudar outros, se possível ![]()
Tentei ajudar, mas você só reagiu com resistência.
Boa sorte.
Desculpe, não estou tentando me opor. Eu já respondi às suas perguntas, e você me enviou um link para o Starzen, que não é o que eu estou tentando alcançar. Então, eu respondi que já vi as publicações que você linkou e que elas falam sobre construir algo. Eu estou tentando construir algo. Sinto muito que você sinta que estou me opor, mas não é esse o caso. Sinceramente, não sei para onde você está tentando levar isso.
Só quero agradecer ao OP pela inspiração (que, gentilmente, respondeu à minha pergunta sobre o plugin usado na barra de navegação dele há algumas semanas).
Minha intenção não é replicar a interface de redes sociais, mas sim oferecer algo mais confortável para nossos usuários, e estou trabalhando nisso. Com prazer, compartilharei as descobertas, o resultado final e o repositório quando for a hora ![]()
A propósito, estou compartilhando algo que é sempre bom lembrar e que alguns usuários podem esquecer ao responder ou interagir: Core Rules of Netiquette
Com certeza, por isso também apoio muito as novas tentativas do autor e de todos vocês!
Venho pensando sobre isso e a questão é um pouco mais complexa do que parece. Sim, tudo é centrado na discussão, mas a leitura é um fator muito importante. Reconhecemos que há um enorme público de leitores/consumidores e adoro a ideia de tornar essa experiência sem atritos. Sou defensor de um feed facilmente personalizável há muito tempo.
O design inicial para o “build your feed” está concluído
O próximo passo é inserir novas tabelas no banco de dados, algo como:
| Campo | Propósito |
|---|---|
user_id |
O membro |
category_id |
Categoria medida |
impressions |
Aparições significativas |
opens |
Tópicos abertos |
likes |
Tópicos curtidos |
replies |
Respostas feitas |
dwell_seconds |
Tempo de leitura acumulado |
affinity_score |
Preferência calculada |
updated_at |
Última recálculo |
Para a primeira versão, apenas a tabela de interesses é necessária. A tabela de comportamento será adicionada mais tarde, assim que eu decidir qual rota seguir.
Hoje vi algo relacionado no fórum do Nodeloc: NodeLoc
Não estou familiarizado com essa abordagem, mas estou ansioso para ver para onde ela vai!
Isso é realmente impressionante. Eu pensei bastante na rota /r, mas acabei descartando por causa das limitações de categoria. Me pergunto como isso foi implementado.
A seleção inicial de feed foi adicionada e está funcionando, sem estilização até a fase final, conforme descrito acima.
A seleção é exibida na primeira visita do usuário ao feed e não pode ser fechada até que o usuário tenha selecionado 3 categorias de interesse; também foi adicionada a opção de selecionar todas.
Uma aba de edição de interesses também foi adicionada.
O feed de personalização inicial está pronto e funcionando, sem picos de CPU até agora, parece rápido e funciona como pretendido.
Agora ele:
- Pontua os tópicos usando 55% de interesses, 25% de frescor, 10% de popularidade e 10% de aleatoriedade.
- Prefere um tópico de descoberta a cada sexta posição, quando disponível.
- Evita três tópicos consecutivos de uma mesma categoria quando há alternativas.
- Mantém a paginação independente de itens excluídos ou consumidos.
- Recarrega e reordena o feed após a alteração dos interesses.
- Inclui o pop-up funcional e Selecionar tudo.
e, em seguida, quando você altera seu feed
Achei que terminaria o estilo antes de continuar.
O próximo passo é
Otimizar o que já construímos antes de adicionar o rastreamento de comportamento:
-
Limitar as sessões de feed em cache por usuário para que atualizações repetidas não acumulem seis horas de listas em cache.
-
Melhorar a mistura de categorias para reduzir o trabalho da CPU em filas grandes.
-
Medir o tempo de carregamento do feed e o uso do cache.
Depois disso, vem o rastreamento de comportamento: registrar impressões genuínas, aberturas de tópicos e tempo de leitura. O pré-carregamento não deve ser contado como leitura.
Inicialmente, coletaremos esses sinais sem alterar a ordem. Assim que o rastreamento estiver confiável, podemos introduzir gradualmente um peso de comportamento de 15% conforme os usuários visualizam de 30 a 50 publicações.
Adoro a iniciativa!
Você poderia até dizer que “a leitura é fundamental”, o que foi um post de blog fundamental quando comecei como gerente de comunidade:
@Damian_Boon como esse sistema funcionaria se não houvesse nenhuma imagem anexada a um tópico?
A Demo usa imagens de cabeçalho geradas por IA, o que espero que não se torne o padrão. Uma de vez em quando é bom, mas imagem falsa após imagem começa a irritar bastante ![]()
Também há um pequeno bug no Safari Desktop, onde os links de tópicos relacionados não abrem:
Exatamente da mesma forma, pois ele apenas utiliza a área de visualização dos tópicos. Portanto, você veria o que vê agora, apenas sem a imagem.
Este é um site de demonstração onde todo o conteúdo é gerado por IA para este caso de teste.
Obrigado pela informação. Vou investigar isso mais tarde, pois ele está usando um cache da página inicial.
Com o que eu criei até agora, preciso testar a carga do servidor. Tenho uma conta no OpenRouter e quero testar 10 bots postando ao mesmo tempo. Qual seria a melhor abordagem para testar, por exemplo:
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
e depois ter 10 bots logados atualizando a página /feed a cada 30 segundos, por exemplo.
Ou criar um pequeno serviço Python independente que se comunique com o Discourse + OpenRouter, em vez de colocar as requisições de IA diretamente no processo Rails do Discourse.
Qual seria a melhor maneira de testar?
Parece ótimo! No final, será possível implementá-lo como um novo tema?
Um Componente de Tema com o feed do seletor de categorias seria ótimo!


