Это просто список того, каким я ожидал, что будет ощущаться сайт; тема в стиле Reddit / Discourse уже включала в себя большинство этих элементов.
Использование Discourse для создания блога или платформы с прокруткой в стиле Reddit, X или Facebook
Topic List Previews была самой первой реализацией этого.
Это не помогает никому. Эта тема о том, чтобы попробовать увидеть, чего я смогу достичь с помощью других участников, и, надеюсь, это поможет и другим, если это возможно ![]()
Я пытался помочь, но ты только отталкивал.
Удачи.
Извините, я не пытаюсь спорить. Я ответил на ваши вопросы, а вы прислали мне ссылку на Starzen, но это не то, чего я пытаюсь достичь. Затем я ответил, что видел их посты, на которые вы сослались, и они говорят о создании чего-то. Я тоже пытаюсь что-то создать. Извините, если вы чувствуете, что я отбиваюсь, но это не так. Честно говоря, я не понимаю, к чему вы клоните.
Я просто хочу поблагодарить автора топика за вдохновение (несколько недель назад он любезно ответил на мой вопрос о плагине, который использовался в его навигационном меню).
Моя цель — не воспроизвести интерфейс социальных сетей, а предложить нашим пользователям что-то более удобное, и я над этим работаю. Как только будет готово, я с удовольствием поделюсь результатами, финальным продуктом и репозиторием ![]()
Кстати, делюсь кое-чем, что всегда полезно помнить и что некоторые пользователи могут забывать при ответе или взаимодействии: Core Rules of Netiquette
Действительно, поэтому я также очень поддерживаю новые попытки автора и всех остальных!
Я об этом подумал, и ситуация немного сложнее. Да, всё сосредоточено вокруг обсуждения, но чтение — очень важный фактор. Мы признаём, что существует огромная аудитория читателей/потребителей контента, и мне нравится идея сделать этот опыт максимально плавным. Я давно выступаю за легко настраиваемую ленту.
Первоначальный дизайн для «создай свою ленту» завершён
Далее нужно добавить новые таблицы в БД, примерно такие:
| Поле | Назначение |
|---|---|
user_id |
Пользователь |
category_id |
Измеряемая категория |
impressions |
Осмысленные показы |
opens |
Открытые темы |
likes |
Понравившиеся темы |
replies |
Написанные ответы |
dwell_seconds |
Накопленное время чтения |
affinity_score |
Рассчитанная степень предпочтения |
updated_at |
Дата последнего пересчёта |
Для первой версии потребуется только таблица интересов. Таблица поведения будет добавлена позже, когда я определюсь с подходом.
Сегодня я увидел кое-что связанное с этим на форуме Nodeloc: NodeLoc
Мне не знаком этот подход, но мне интересно посмотреть, куда он приведёт!
Это действительно впечатляет. Я много думал о маршруте /r, но в итоге отказался от этой идеи из-за ограничений категорий. Интересно, как это было реализовано.
Первоначальный выбор ленты добавлен и работает, стилизация пока не выполнена, как описано выше, до финальной фазы.
Выбор появляется при первом посещении ленты пользователем и не может быть закрыт, пока пользователь не выберет 3 категории по интересам. Также добавлена опция «Выбрать все».
Добавлена также вкладка «Редактировать интересы».
Персонализированная лента в начальной версии готова и работает, скачков загрузки CPU пока не наблюдается, всё быстро и функционирует как задумано.
Теперь она:
- Оценивает темы по формуле: 55% интересы, 25% новизна, 10% популярность и 10% случайность.
- При наличии подходящих тем размещает тему для открытия на каждом шестом месте.
- Избегает трёх последовательных тем из одной категории, если есть альтернативы.
- Обеспечивает независимость пагинации от удалённых или просмотренных элементов.
- Перезагружает и пересортировывает ленту после изменения интересов.
- Включает рабочий всплывающий элемент и кнопку Выбрать все.
а вот что происходит, когда вы меняете свою ленту:
Я решил сначала закончить со стилями, а потом продолжить.
Дальше нужно сделать следующее:
Оптимизировать то, что уже построено, прежде чем добавлять отслеживание поведения:
-
Ограничить количество кэшированных сессий ленты для каждого пользователя, чтобы повторные обновления не приводили к накоплению шести часов кэшированных списков.
-
Улучшить смешивание категорий, чтобы снизить нагрузку на ЦП при работе с большими очередями.
-
Измерять время загрузки ленты и использование кэша.
После этого придёт очередь отслеживания поведения: фиксация реальных показов, открытий тем и времени чтения. Предварительная загрузка не должна учитываться как чтение.
Сначала мы будем собирать эти сигналы, не изменяя порядок отображения. Как только отслеживание станет надёжным, мы сможем постепенно внедрить взвешивание поведения на 15%, когда пользователи увидят 30–50 сообщений.
Отличная инициатива!
Можно даже сказать, что «чтение — это фундамент», что было основополагающим постом в блоге, когда я только начинал работать менеджером сообщества:
@Damian_Boon как будет работать эта система, если к теме не прикреплены изображения?
В демо используются заголовочные изображения, сгенерированные ИИ, и я надеюсь, что это не станет стандартной практикой? Одно-два изображения — это нормально, но бесконечная череда фейковых картинок довольно быстро начинает раздражать ![]()
Кроме того, в Safari для настольных компьютеров есть небольшой баг: ссылки на связанные темы не открываются:
Абсолютно так же, это просто вид темы, который он использует. Так что вы увидите то же самое, что видите сейчас, только без изображения.
Это демо-сайт, где весь контент сгенерирован ИИ для этого тестового случая.
Спасибо за информацию, я разберусь с этим позже, так как там используется кэш с главной страницы.
С учётом того, что я уже создал, мне нужно протестировать нагрузку на сервер. У меня есть аккаунт OpenRouter, и я хочу протестировать ситуацию, когда 10 ботов публикуют сообщения одновременно. Какой лучший путь для проведения такого теста, например:
боты:
-
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
а затем 10 авторизованных ботов обновляют страницу /feed каждые 30 секунд.
Или создать небольшой автономный Python-сервис, который взаимодействует с Discourse и OpenRouter, вместо того чтобы отправлять запросы к ИИ напрямую внутри процесса Rails Discourse.
Какой лучший способ провести тестирование?
Выглядит очень здорово! В итоге получится оформить это как новую тему?
Компонент темы с фидом селектора категорий был бы здорово!


