Usando o Discourse para criar um blog, Reddit, X ou plataforma de rolagem estilo Facebook

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 :wink:

2 Curtiram

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.

3 Curtiram

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 :slight_smile:

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

2 Curtiram

Com certeza, por isso também apoio muito as novas tentativas do autor e de todos vocês!

2 Curtiram

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.

5 Curtiram

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.

2 Curtiram

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!

1 Curtiu

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.

1 Curtiu

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.

1 Curtiu

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

4 Curtiram

Achei que terminaria o estilo antes de continuar.

2 Curtiram

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.

1 Curtiu

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 :slight_smile:


Também há um pequeno bug no Safari Desktop, onde os links de tópicos relacionados não abrem:

3 Curtiram

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.

2 Curtiram

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?

1 Curtiu

Parece ótimo! No final, será possível implementá-lo como um novo tema?

2 Curtiram

Um Componente de Tema com o feed do seletor de categorias seria ótimo!

1 Curtiu