# 引入嵌套回复功能

**URL:** https://meta.discourse.org/t/introducing-nested-replies/402812
**Category:** Announcements
**Tags:** nested-replies
**Created:** [2026年五月12日 23:21 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812 "2026-05-12T23:21:22Z")
**Posts on this page:** 20
**Page:** 3

<div class="post-metadata">

### Author: ![curi](https://avatars.discourse-cdn.com/v4/letter/c/e68b1a/32.png) [@curi](https://meta.discourse.org/u/curi)
#### Post date: [2026年六月2日 16:20 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/46 "2026-06-02T16:20:35Z")

</div>

在我的论坛上，我没有看到像示例截图中那样的“以平铺方式查看”选项。

对我来说，我需要将平铺视图设为全局默认，嵌套视图则作为用户可按需使用的可选视图，且平铺视图应始终立即可用。

只要有一个“以嵌套方式查看”的按钮，用户可以随时切换关闭，那就太好了。此外，如果允许用户将嵌套视图设为默认的个人设置，同时又能随时将单个主题或所有主题切换回平铺视图，那也非常理想。

如果没有足够的控制选项来切换视图模式，我只能坚持使用平铺视图。

---

<div class="post-metadata">

### Author: ![markvanlan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/markvanlan/32/160087_2.png) [@markvanlan](https://meta.discourse.org/u/markvanlan)
#### Post date: [2026年六月2日 16:36 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/48 "2026-06-02T16:36:32Z")

</div>

我实际上已经完全移除了“平铺视图”选项。该选项最初是为了内部测试而保留的，以便我们轻松对比平铺视图与嵌套视图。由于我们发现保留它并无实际价值，因此现已将其移除。

---

<div class="post-metadata">

### Author: ![Andrew\_Bond](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/andrew_bond/32/271376_2.png) [@Andrew\_Bond](https://meta.discourse.org/u/Andrew_Bond)
#### Post date: [2026年六月2日 19:56 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/49 "2026-06-02T19:56:25Z")

</div>

我可能是在臆想，但当选中嵌套回复时，全屏浏览器下的宽度似乎变窄了：

 ![image](https://global.discourse-cdn.com/meta/original/4X/c/6/e/c6ef869234722face962bd0a86fede71ec2d9825.png)

这似乎与 **Modernize 基础主题** 无关，因为我已经禁用了该主题并重新启用过。

---

<div class="post-metadata">

### Author: ![jordan.vidrine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jordan.vidrine/32/515563_2.png) [@jordan.vidrine](https://meta.discourse.org/u/jordan.vidrine)
#### Post date: [2026年六月2日 19:58 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/50 "2026-06-02T19:58:11Z")

</div>

你并没有产生错觉。

宽度变大了，是因为时间线已被移除，占用了更多空间。

---

<div class="post-metadata">

### Author: ![Andrew\_Bond](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/andrew_bond/32/271376_2.png) [@Andrew\_Bond](https://meta.discourse.org/u/Andrew_Bond)
#### Post date: [2026年六月2日 20:05 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/51 "2026-06-02T20:05:01Z")

</div>

当然！这太有道理了！我只是说不出到底哪里变了！

---

<div class="post-metadata">

### Author: ![typed-sigterm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/typed-sigterm/32/504463_2.png) [@typed-sigterm](https://meta.discourse.org/u/typed-sigterm)
#### Post date: [2026年六月9日 02:21 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/52 "2026-06-09T02:21:14Z")

</div>

终于支持了👏

Reddit 风格的界面不错，但我见过另一种设计，比如：

```plaintext
- A：...
    - B：...
    - C → B：...
    - D → C：...

```

在中国，几乎所有论坛和社交平台都采用这种模式。它还会折叠除第一条之外的所有嵌套回复。我认为这样可以避免分散注意力，或许可以作为一个选项。

---

<div class="post-metadata">

### Author: ![markvanlan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/markvanlan/32/160087_2.png) [@markvanlan](https://meta.discourse.org/u/markvanlan)
#### Post date: [2026年六月9日 02:50 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/53 "2026-06-09T02:50:48Z")

</div>

可以通过将“嵌套回复最大深度”设置得更低（默认为 10）并启用“嵌套回复限制嵌套深度”来实现。请尝试一下。

---

<div class="post-metadata">

### Author: ![CedricS](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cedrics/32/493163_2.png) [@CedricS](https://meta.discourse.org/u/CedricS)
#### Post date: [2026年六月9日 06:56 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/54 "2026-06-09T06:56:06Z")

</div>

你好，  
我觉得这个功能非常棒，极大地提升了对话的可读性。  
不过，也许是我漏掉了某个设置，我有两点反馈：

- 当一条回复被审核时，高级别用户（如版主、管理员等）不再看到被审核（自动或手动）的消息呈灰色显示。它们以正常样式出现。将这些消息设为灰色显示，确实有助于快速识别。

- 当我回复对话时，一个过滤器会隐藏回复的格式工具栏，同时也隐藏了例如附加图片的功能：

---

<div class="post-metadata">

### Author: ![markvanlan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/markvanlan/32/160087_2.png) [@markvanlan](https://meta.discourse.org/u/markvanlan)
#### Post date: [2026年六月9日 19:56 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/55 "2026-06-09T19:56:07Z")

</div>

感谢提交报告。已提交一个 [PR](https://github.com/discourse/discourse/pull/40713) 来修复第一个问题。我相信第二个问题在您重新构建后应该已经解决了。

---

<div class="post-metadata">

### Author: ![roke\_julian\_lockhart](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/roke_julian_lockhart/32/540179_2.png) [@roke\_julian\_lockhart](https://meta.discourse.org/u/roke_julian_lockhart)
#### Post date: [2026年六月10日 14:57 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/56 "2026-06-10T14:57:00Z")

</div>

此主题应嵌套。

---

<div class="post-metadata">

### Author: ![Larry\_Baker](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/larry_baker/32/567360_2.png) [@Larry\_Baker](https://meta.discourse.org/u/Larry_Baker)
#### Post date: [2026年六月14日 16:44 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/57 "2026-06-14T16:44:23Z")

</div>

嘿，Lilly——完全随机的问题——你上面嵌套回复截图中使用的是哪个主题（主要是我喜欢它的美学风格，所以想做一些类似的事情）。

---

<div class="post-metadata">

### Author: ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)
#### Post date: [2026年六月14日 16:49 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/58 "2026-06-14T16:49:59Z")

</div>

我认为它是基于 WCAG 调色板的原始设计。

---

<div class="post-metadata">

### Author: ![hellekin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hellekin/32/51636_2.png) [@hellekin](https://meta.discourse.org/u/hellekin)
#### Post date: [2026年六月26日 10:47 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/59 "2026-06-26T10:47:38Z")

</div>

请务必始终将其设为可选！

---

<div class="post-metadata">

### Author: ![markvanlan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/markvanlan/32/160087_2.png) [@markvanlan](https://meta.discourse.org/u/markvanlan)
#### Post date: [2026年六月26日 15:46 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/60 "2026-06-26T15:46:34Z")

</div>

我刚刚合并了一个提交（[链接](https://github.com/discourse/discourse/commit/6c9a8bd4b6213e96db0b36b631a3bfa121885b4c)），该提交更改了嵌套回复的默认值。具体变更如下（旧值在左，新值在右）：

嵌套回复最大深度：10 → 3  
嵌套回复限制嵌套深度：false → true

如果你喜欢之前的默认设置，只需部署并改回 10 和 false 即可 🙂

---

<div class="post-metadata">

### Author: ![mcwumbly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mcwumbly/32/103861_2.png) [@mcwumbly](https://meta.discourse.org/u/mcwumbly)
#### Post date: [2026年六月26日 17:58 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/61 "2026-06-26T17:58:15Z")

</div>

@markvanlan 你觉得把那些设置改为按分类配置怎么样？

我的想法是，大家可能希望针对不同用例以不同方式进行配置（例如，在偏向“帖子投票”的用例中，设置为 max: 1、cap: true；而在偏向自由形式的高流量评论场景中，设置为 max: 10、cap: false）。

你觉得这种情况你也可能会需要吗？还是说你更倾向于认为这里只需要站点级别的设置就够了？

---

<div class="post-metadata">

### Author: ![markvanlan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/markvanlan/32/160087_2.png) [@markvanlan](https://meta.discourse.org/u/markvanlan)
#### Post date: [2026年六月26日 18:48 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/62 "2026-06-26T18:48:39Z")

</div>

我认为你的直觉完全正确，这最终会成为现实。用例非常多：投票、AMA（问我任何问题）、“ ~~乳制品~~ 日记风格”等等，只是举几个例子。这些用例中的每一个可能都需要为这些设置提供自己的值，此外还需要一些目前还不存在的新设置。

从技术上来说，为这些设置实现每类别配置是很容易的。我希望确保管理员能够以不令人不知所措的方式轻松配置这些设置。

在此之前，一个明显的问题是，目前没有办法将特定类别中的所有主题回填为嵌套形式（在UI中，当然可以通过直接访问服务器来实现）。当你为某个类别启用嵌套功能时，它只影响新主题，而不影响现有主题。

---

<div class="post-metadata">

### Author: ![mcwumbly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mcwumbly/32/103861_2.png) [@mcwumbly](https://meta.discourse.org/u/mcwumbly)
#### Post date: [2026年六月26日 18:50 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/63 "2026-06-26T18:50:45Z")

</div>

> [@markvanlan](#):
>
> “乳品风格”

![戴假发的哞哞叫的牛](https://static.klipy.com/ii/a15b48460c436e1e92c85ffc680932cc/36/f9/bw1uOHHc.webp)

---

<div class="post-metadata">

### Author: ![NiceOldGuy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/niceoldguy/32/326207_2.png) [@NiceOldGuy](https://meta.discourse.org/u/NiceOldGuy)
#### Post date: [2026年六月28日 21:20 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/64 "2026-06-28T21:20:52Z")

</div>

起初，我觉得这个公告没有采用嵌套回复格式挺有趣的；后来才意识到你还没准备好重新格式化整个 #News and Events > Announcements 分类。🙂

以下是我刚开始使用 Discourse 并了解扁平化模型时收集的一些资源：  
**Jeff 的经典观点：**

> **[Discussions: Flat or Threaded?](https://blog.codinghorror.com/discussions-flat-or-threaded/)**
>
> Clay Shirky’s classic articles on social software should be required reading for all software developers working on web applications. As near as I can tell, that’s pretty much every developer these days.
> 
> But I somehow missed Joel Spolsky’s related...

**一篇写得很好的外部说明：**

> **[Understanding and Using Discourse's Flat Threading](https://community.lsst.org/t/understanding-and-using-discourses-flat-threading/150)**
>
> There has been some consternation about the threading model used by Discourse, community.lsst.org’s platform, from those expecting the types of hierarchically nested reply chains that are standard on many forums. This post explains Discourse’s...

为什么 Discourse 使用\*\*“主题（Topics）”而不是“线程（Threads）” **（2017 年的文章，早于 `nested-replies` 功能出现之前）：**

> [@Terminology: topics vs threads](https://meta.discourse.org/t/terminology-topics-vs-threads/63390):
>
> I was curious to see a discussion about why topics are called topics and not threads (the more common term in online forums, according to my experience) but so far I have not been able to find any. Has this really not been discussed previously? Personally, I have gotten used to the discourse terminology but I find it somewhat of a pain when trying to explain things to new users, as “topic” is not intuitively understood while thread is well known from email and other online forums. Yet, I am rel…

   
**以及关于** 线程（threads）\*\*更深入的介绍：

> [@为什么“thread”一词在 Meta 上不被允许？](https://meta.discourse.org/t/why-is-the-word-thread-not-allowed-on-meta/82156):
>
> Why is the word, “threa.d” not allowed? I’m curious. Just tried to use it in a private message. And, lol the F bomb just auto corrected into a PM I was writing. Oops.

我非常赞同 Kris @awesomerobot [对扁平化模型的辩护，认为它更符合 CDCK 社区建设和互动模式。](https://meta.discourse.org/t/threaded-discussion-is-ultimately-too-complex-to-survive-on-the-public-internet/63172/75?u=niceoldguy) 虽然我们可能会为某些管理分类启用嵌套回复——这在问题跟踪中很有用——但我会在普通讨论分类中谨慎采用这一功能。

最后，即使我最终启用了嵌套回复，我也会非常怀念无限滚动功能。我有一支带自由滚动滚轮的不错鼠标，但没有什么能比得上直接拖动无限滚动条滑块来快速浏览主题了。

> [@理解无限滚动](https://meta.discourse.org/t/understanding-infinite-scrolling/30804?u=niceoldguy):
>
> bookmark This is an explanation of what “infinite scrolling” is and how it is implemented in Discourse. person_raising_hand Required user level: All users Infinite scrolling is a feature designed to improve the user experience by automatically loading more content as you scroll down a page, instead of requiring manual page navigation. Summary In this documentation, we’ll cover: The concept of infinite scrolling. How Discourse implements infinite scrolling. Key advantages of infinite …

---

<div class="post-metadata">

### Author: ![JonahAragon1](https://avatars.discourse-cdn.com/v4/letter/j/f19dbf/32.png) [@JonahAragon1](https://meta.discourse.org/u/JonahAragon1)
#### Post date: [2026年七月23日 04:39 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/65 "2026-07-23T04:39:51Z")

</div>

> [@markvanlan](#):
>
> 我们认为保留它没有价值，所以现在已经删除了。

从_审核_角度来看，这里的一个挑战是我们的版主喜欢阅读主题中的每一篇帖子。在嵌套回复格式下，这似乎很难做到，因此提供一个可选的按时间顺序排列的扁平视图（可能仅限特定用户组？）仍然会很有用。

其他一些反馈：

- 如果我折叠了一个回复链，希望下次重新打开该主题时它保持折叠状态
- 如果自上次打开该主题以来的新回复能高亮显示，那就更好了
- 我希望“X 条新回复”按钮始终可见，并像“排序方式”选择器那样固定在页面顶部，而不是只有当我滚动到页面最顶端时才显示。

---

<div class="post-metadata">

### Author: ![JonahAragon1](https://avatars.discourse-cdn.com/v4/letter/j/f19dbf/32.png) [@JonahAragon1](https://meta.discourse.org/u/JonahAragon1)
#### Post date: [2026年七月23日 22:17 UTC](https://meta.discourse.org/t/introducing-nested-replies/402812/66 "2026-07-23T22:17:41Z")

</div>

目前我遇到的主要问题就是，这个功能仍然有太多 Bug，无法正常使用。当我滚动页面时，它会毫无理由地随机跳转到页面的不同位置。而且我也看到不少人反映，出于某种原因，启用此视图后，滚动（甚至打字）会出现严重的卡顿现象。[（详见此处）](https://discuss.privacyguides.net/t/defaulting-new-posts-to-use-nested-replies/39302/51) 我在我的 M4 Pro MacBook Pro 上并没有注意到这个问题，我想我大概是太“精英主义”了吧。

> [@JonahAragon1](#):
>
> - 如果自从我上次打开该主题以来的新回复能够被高亮显示，那就更好了

我现在正在浏览我论坛上的一个测试主题，我最终确实注意到了这个功能的存在（以时间戳旁边的一个点为形式），但我认为这种提示太过隐蔽，而且更重要的是，在滚动时它消失得太快了。我希望能看到这个点一直保留，直到我完全离开该主题，稍后再返回时它才消失。

我在想，大家会对在返回主题时，底部悬浮一个“跳转到下一条未读评论”的按钮持什么看法？不过也许这样会让人困惑。

* * *

值得肯定的是，我非常喜欢它处理已删除评论的方式，我希望普通帖子也能采用类似的处理方式。我们收到过一些投诉，认为当前的系统在审核方面不够透明。

 ![CleanShot 2026-07-23 at 16.57.58@2x](https://global.discourse-cdn.com/meta/original/4X/6/f/5/6f5d166581bda59de800f9ea7b50846b7c511ff4.png)

* * *

> [@NiceOldGuy](#):
>
> 我非常赞同 Kris @awesomerobot [对扁平模型的支持，认为它符合 CDCK 的社区建设和互动模式。](https://meta.discourse.org/t/threaded-discussion-is-ultimately-too-complex-to-survive-on-the-public-internet/63172/75)

老实说，我最喜欢这个嵌套回复系统的一点是，它迫使人们正确地回复帖子。嵌套回复让这种做法……

> [@awesomerobot](#):
>
> 在扁平系统中，这些内容应该被移动到一个新主题中，标题定为：“我在哪里可以买到澳大利亚的益生元纤维？”（或许还可以加上标签），因为它与原始主题的关联度很低。

……在我看来容易多了。目前至少在我的论坛上，我觉得人们有 70% 的时间会点击他们想要回复的那条帖子的回复按钮，否则即使他们是在回复特定的评论，也只会点击主题顶部的回复按钮。而在嵌套线程中，你基本上不会犯这种错误。我 **非常** 希望作为审核工具，我能有一个选项可以将某条帖子标记为对另一条帖子的回复。

此外，至少在我的论坛上，人们经常使用引用功能一次性回复多条帖子，这使得将帖子拆分到新主题中变得极其麻烦。

比如我这里的这条回复，如果我们想将这条回复拆分到关于 1) 主题中的新未读帖子、2) 已删除帖子与审核，以及 3) 嵌套线程相对于当前格式的优势 的新主题中，这将是一项挑战。如果在我们决定拆分之前，有一大堆人回复了这条帖子，情况会更糟。

有了嵌套回复，如果一条消息链变得足够长，我们可以毫无问题地将其拆分到拥有自己标题等属性的新主题中，并且“选择帖子及回复”按钮将始终按预期工作。

* * *

> [@JonahAragon1](#):
>
> 也许可以有一个选项，让“新”排序依据主题中最新的_回复_，而不是最新的主线程

确实，我在我的论坛上看到的最常见的反馈是，嵌套回复使得实时跟进帖子变得几乎不可能：

> **[Defaulting new posts to use nested replies?](https://discuss.privacyguides.net/t/defaulting-new-posts-to-use-nested-replies/39302/28)**
>
> Not a big fan, much harder to follow a post as it’s being discussed. I guess it would be easier to follow specific replies but that’s about it. I think people will be less likely to read the whole discussion too since they will probably just read...

[上一頁](https://meta.discourse.org/t/introducing-nested-replies/402812.md?page=2)

[下一頁](https://meta.discourse.org/t/introducing-nested-replies/402812.md?page=4)
