那只是我列出的一些对网站整体感觉的期望,Reddit 风格的主题/Discourse 本身就已经内置了其中大部分功能。
“主题列表预览”(Topic List Previews)正是这一功能的最初实现。
这对谁都没帮助。这个帖子是关于我想看看在其他成员的帮助下能实现什么,如果可能的话,希望也能帮助其他人 ![]()
我本想帮忙,但你却一味抗拒。
祝你好运。
抱歉,我并不是在反驳你。我已经回答了你的问题,而你发给我的是 Starzen 的链接,这并不符合我想实现的目标。然后我解释说,我看过你链接的那些帖子,他们讨论的是如何构建某个东西,而我正打算构建一个东西。抱歉让你觉得我在反驳,但事实并非如此。说实话,我不确定你到底想往哪个方向引导。
我只是想感谢楼主(OP)提供的灵感(几周前,在我询问导航栏中使用的插件时,他们很乐意地分享给了我)。
我的初衷并不是要复刻社交媒体界面,而是希望为我们的用户提供一个更舒适的体验,目前我正在为此努力。到时候我很乐意分享我的发现、最终成果以及代码仓库 ![]()
顺便提一下,我分享一个总是值得记住、但有些用户在回复或互动时可能会忘记的链接:Core Rules of Netiquette
确实是,所以我也很支持楼主和大家的新的尝试!
我对此进行了一些思考,情况其实比这更微妙一些。没错,一切确实都围绕着讨论展开,但阅读也是一个非常重要的因素。我们承认存在庞大的读者/内容消费群体,我也很喜欢让这一体验变得无缝流畅的想法。长期以来,我一直主张提供一个易于个性化定制的动态信息流。
“自定义信息流”的初始设计已完成
接下来是将新表插入数据库,大致如下:
| 字段 | 用途 |
|---|---|
user_id |
成员 |
category_id |
被测量的类别 |
impressions |
有效展示次数 |
opens |
打开的主题数 |
likes |
点赞的主题数 |
replies |
发布的回复数 |
dwell_seconds |
累计阅读时长 |
affinity_score |
计算得出的偏好度 |
updated_at |
上次重新计算时间 |
对于第一个版本,只需要兴趣表。行为表将在我确定采用哪种方案后稍后添加。
今天我在 Nodeloc 论坛上看到了相关内容:NodeLoc
我不太熟悉这种方法,但我很期待看看它的发展走向!
这真的太令人印象深刻了。我之前仔细考虑过 /r 路由,但因为分类限制而放弃了。真好奇这具体是怎么实现的。
初始的 Feed 选择功能已添加并正常运行,如上所述,在最终阶段之前尚未进行任何样式设计。
该选择界面会在用户首次访问 Feed 时弹出,在用户选择 3 个感兴趣的类别之前无法关闭,同时还添加了“全选”选项。
此外,还添加了一个“编辑兴趣”选项卡。
初始个性化信息流已完成并正常运行,目前尚未出现 CPU 峰值,运行速度快,符合预期。
它现在可以:
- 使用 55% 的兴趣、25% 的新鲜度、10% 的热度和 10% 的随机性 对主题进行评分。
- 在有可用主题时,每第六个位置优先推荐一个发现类主题。
- 在存在替代项时,避免连续三个主题来自同一类别。
- 保持分页功能独立于已删除或已消费的项目。
- 在兴趣变更后重新加载并重新排序信息流。
- 包含可用的弹出窗口和 全选 功能。
然后当你更改你的信息流时
我想先把样式搞定,然后再继续。
接下来要做的是
在添加行为追踪之前,先优化我们已经构建的内容:
-
限制每个用户的缓存信息流会话数量,以防止重复刷新导致累积六小时的缓存列表。
-
改进类别混合机制,以减少大型队列的 CPU 负载。
-
测量信息流加载时间和缓存使用情况。
之后是行为追踪:记录真实的曝光、话题打开和阅读时长。预取操作不应被计入阅读。
最初,我们将收集这些信号而不改变排序。一旦追踪变得可靠,我们就可以在用户看到 30–50 条帖子时,逐步引入15% 的行为权重。
很喜欢这个倡议!
你甚至可以说“阅读是根本”,这其实是我刚开始担任社区经理时的一篇基础性博客文章:
@Damian_Boon 如果一个主题没有附带任何图片,这个系统该如何运作?
演示中使用了 AI 生成的头图,我希望这不会成为默认设置?偶尔出现一张没问题,但一张接一张的假图片很快就会让人厌烦 ![]()
在 Safari 桌面版上还有一个小 bug,相关主题链接无法打开:
完全一样,它只使用主题的视口。所以你会看到和现在一样的内容,只是缺少图片而已。
这是一个演示站点,所有内容都是为这个测试用例由 AI 生成的。
谢谢指出,我稍后会去查看一下,因为它使用的是主页的缓存。
基于我目前创建的内容,我需要测试服务器负载。我有一个 OpenRouter 账户,想要测试 10 个机器人同时发帖的情况。测试的最佳路径是什么?
机器人配置:
-
用户名: wtf_gaming
分类: 游戏
人格: 游戏新闻
每小时发帖数: 30
每小时回复数: 15 -
用户名: wtf_tech
分类: 科技
人格: 科技新闻
每小时发帖数: 30
每小时回复数: 15
然后让 10 个已登录的机器人每隔 30 秒刷新一次 /feed 页面。
或者,创建一个小型独立的 Python 服务来与 Discourse 和 OpenRouter 交互,而不是将 AI 请求直接放在 Discourse Rails 进程中。
测试的最佳方式是什么?
看起来非常棒,最终能落地为一个新主题么?
带分类选择器信息流的组件主题会非常棒!


