# 私人主题插件

**URL:** https://meta.discourse.org/t/private-topics-plugin/268646
**Category:** Plugin
**Created:** [2023年六月16日 16:17 UTC](https://meta.discourse.org/t/private-topics-plugin/268646 "2023-06-16T16:17:53Z")
**Posts on this page:** 20
**Page:** 5

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [2025年七月15日 08:50 UTC](https://meta.discourse.org/t/private-topics-plugin/268646/84 "2025-07-15T08:50:45Z")

</div>

2 篇帖子已合并到一个现有主题：[将“私人主题”重命名为“个人消息主题”](https://meta.discourse.org/t/rename-private-topics-to-personal-message-topics/374264/2)

---

<div class="post-metadata">

### Author: ![SubStrider](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/substrider/32/512604_2.png) [@SubStrider](https://meta.discourse.org/u/SubStrider)
#### Post date: [2025年七月23日 06:54 UTC](https://meta.discourse.org/t/private-topics-plugin/268646/85 "2025-07-23T06:54:32Z")

</div>

短期记忆丧失。我之前见过这个。

不过我想知道，这种从所有主题列表中过滤主题的方式是否会导致任何性能问题？

@RGJ

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [2025年七月26日 20:13 UTC](https://meta.discourse.org/t/private-topics-plugin/268646/86 "2025-07-26T20:13:55Z")

</div>

> [@SubStrider](#):
>
> 将所有主题列表中的主题以此方式过滤是否会引起任何性能问题？

我到目前为止还没有听到任何抱怨。该插件在编写时已考虑了性能。

---

<div class="post-metadata">

### Author: ![SubStrider](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/substrider/32/512604_2.png) [@SubStrider](https://meta.discourse.org/u/SubStrider)
#### Post date: [2025年七月31日 13:57 UTC](https://meta.discourse.org/t/private-topics-plugin/268646/87 "2025-07-31T13:57:16Z")

</div>

如果私有主题中的帖子被标记为已解决，则该帖子会出现在帖子所有者的个人资料的“已解决”选项卡中，并且所有人都可以看到。

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [2025年七月31日 14:39 UTC](https://meta.discourse.org/t/private-topics-plugin/268646/88 "2025-07-31T14:39:00Z")

</div>

感谢您报告此问题。我们将尽快处理。

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [2025年八月10日 10:42 UTC](https://meta.discourse.org/t/private-topics-plugin/268646/90 "2025-08-10T10:42:11Z")

</div>

@SubStrider 报告的问题已得到解决。请将插件更新至 1.5.12 版本。

再次感谢您的报告 @SubStrider 🚀

---

<div class="post-metadata">

### Author: ![sjjh](https://avatars.discourse-cdn.com/v4/letter/s/d2c977/32.png) [@sjjh](https://meta.discourse.org/u/sjjh)
#### Post date: [2025年九月5日 17:40 UTC](https://meta.discourse.org/t/private-topics-plugin/268646/91 "2025-09-05T17:40:48Z")

</div>

我遇到了一个我称之为“bug”的问题。它可能不是代码中的传统问题，也许更像是设计上的可用性 bug。但它确实造成了一些我希望在未来避免的问题。背景如下：

一个拥有三位数用户数的 Discourse 实例，用作邮件列表的替代品。大约有 40 个分类（= 邮件列表），并配有相应的群组进行成员管理。其中一些分类使用“私有主题”插件来模拟邮件列表，非成员（但属于其他列表的成员）可以向其发送邮件。到目前为止一切都很好。

问题：

今天，管理员用户在一些列表中写了一个主题，与列表成员核对一些设置。对于“正常”/封闭的分类，一切正常，只有相应群组的成员收到了消息。但对于使用“私有主题”插件的分类，情况并非如此。_\<编辑\>_ ~~在那里，所有数百名用户，无论他们是否是该特定分类/群组的成员，都收到了包含该消息的电子邮件。☹~~ 在那里，所有数百名用户，他们都是该分类的成员，因为分类权限已授予 `everyone`\[1\]，但无论他们是否是该分类插件设置中定义的具有可见权限的特定群组的成员，都收到了包含该消息的电子邮件。☹ 如稍后所认识到的，网站插件设置 `Private topics permitted groups` 仍在使用默认的 _Admin_ 群组。_\</编辑\>_

（顺便说一句，我们以前也遇到过这个问题，当时一个用户，既是管理员又是“正常”账户，（错误地通过与管理员用户关联的电子邮件地址发送，而不是普通用户）将一份内部文件发送到了一个使用“私有主题”插件的分类，导致了信息泄露。那时我没有将此事与该插件联系起来，直到今天我才清楚当时发生了什么。）

预期行为：

我能理解设计选择的理由，即管理员的帖子/电子邮件总是可见/通过邮件发送。但在这种情况下，意图是只通知分类/群组的成员。发送给 Discourse 实例中所有人的数百封电子邮件对我来说非常不透明（而且令人不快）。

可能的修复：

我想改善这种情况。由于邮件发送是可用的，简单的确认对话框将不起作用。也许这可以成为插件中的全局设置，或者针对使用该插件的每个分类，来处理管理员帖子对所有人可见，还是只对分类/群组成员可见？这至少可以在设置新分类时提高意识。

* * *

1. 不应使用，而应使用 `trust_level_0`，参见 OP

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [2025年九月5日 20:10 UTC](https://meta.discourse.org/t/private-topics-plugin/268646/92 "2025-09-05T20:10:09Z")

</div>

请给我发一封私人消息，其中包含你能想到的所有相关信息，包括：

- Discourse 和插件的版本

- 插件设置

- 您安装的其他插件

- 受影响类别的类别安全设置和特定于类别的插件设置

- 通知设置

- 是否启用了邮件列表模式？

- 那些无意中收到电子邮件通知的用户，在访问该类别时是否也能看到该主题

- 任何可能有助于我们重现问题的其他信息

---

<div class="post-metadata">

### Author: ![sjjh](https://avatars.discourse-cdn.com/v4/letter/s/d2c977/32.png) [@sjjh](https://meta.discourse.org/u/sjjh)
#### Post date: [2025年九月6日 12:25 UTC](https://meta.discourse.org/t/private-topics-plugin/268646/93 "2025-09-06T12:25:13Z")

</div>

感谢您的快速回复！

> [@RGJ](#):
>
> 给我发个私信

已发送。而且这些问题帮助我找到了根本原因（网站设置：插件设置：_允许私信的主题组_）。所以代码按设计工作，恕我直言，这是一个用户体验问题，有待改进。 🙂

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [2025年九月7日 08:20 UTC](https://meta.discourse.org/t/private-topics-plugin/268646/94 "2025-09-07T08:20:09Z")

</div>

反直觉的一点是，当对“所有人”授予访问权限时，私有主题无法正常工作。OP 中提到了这一点，但说实话，我自己也曾不止一次地掉进过这个陷阱。我在设置中添加了一个警告，当某个类别对“所有人”开放且启用了私有主题时，该警告就会显示出来。

 ![image](https://global.discourse-cdn.com/meta/original/4X/8/6/b/86bf917a413264017756e3f80622086c63ab0317.png)

---

<div class="post-metadata">

### Author: ![sjjh](https://avatars.discourse-cdn.com/v4/letter/s/d2c977/32.png) [@sjjh](https://meta.discourse.org/u/sjjh)
#### Post date: [2025年九月7日 08:49 UTC](https://meta.discourse.org/t/private-topics-plugin/268646/95 "2025-09-07T08:49:12Z")

</div>

再次感谢 @RGJ 花时间与我一起调试和思考这个问题，帮助我发现了在使用 `everyone` 组时的配置错误。由于我的安装中只有登录用户才能访问 discourse 内容，我最初未能理解 `everyone` 和 `trust_level_0` 之间的区别——但现在我了解到，Discourse 对它们的处理方式大不相同。所以插件没有问题，甚至更感谢添加的警告，因为我担心我迟早会再次掉进那个陷阱…… 😃

---

<div class="post-metadata">

### Author: ![HamishWHC](https://avatars.discourse-cdn.com/v4/letter/h/e79b87/32.png) [@HamishWHC](https://meta.discourse.org/u/HamishWHC)
#### Post date: [2026年二月27日 00:18 UTC](https://meta.discourse.org/t/private-topics-plugin/268646/96 "2026-02-27T00:18:59Z")

</div>

用户是否可以拥有一个创建私有主题的按钮？我们在大学课程中使用此功能，希望学生默认情况下可以看到帖子，但允许学生在发布时将其标记为私有。

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [2026年二月27日 10:36 UTC](https://meta.discourse.org/t/private-topics-plugin/268646/97 "2026-02-27T10:36:08Z")

</div>

> [@HamishWHC](#):
>
> 有一个按钮可以创建单独的私有主题

我恐怕性能影响会非常大，并且超出了此插件的范围。

编辑

> [@HamishWHC](#):
>
> 但允许学生在发布时将它们标记为私有。

请使用此插件 [Topic OP moderation Plugin](https://meta.discourse.org/t/topic-op-moderation-plugin/256222/)

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [2026年二月27日 17:03 UTC](https://meta.discourse.org/t/private-topics-plugin/268646/98 "2026-02-27T17:03:05Z")

</div>

5 个帖子已合并到现有主题：[在用户“喜欢”主题之前限制他们在某个类别中发帖](https://meta.discourse.org/t/restrict-posting-in-a-category-until-they-like-a-topic/397191/10)

---

<div class="post-metadata">

### Author: ![TempAccount](https://avatars.discourse-cdn.com/v4/letter/t/a9a28c/32.png) [@TempAccount](https://meta.discourse.org/u/TempAccount)
#### Post date: [2026年二月27日 16:27 UTC](https://meta.discourse.org/t/private-topics-plugin/268646/99 "2026-02-27T16:27:01Z")

</div>

如果您能提供有关该流程的更多信息：

- 当学生发帖时，您希望他们可以选择公开/私密吗？
- 他们是否应该在 `x` 时间后重新调整主题的公开性？

一个低成本的变通方法是将主题切换为私信（DM），反之亦然。向一个群组发布。

这需要版主介入，将主题从私信/私密列表设为公开。

---

<div class="post-metadata">

### Author: ![TempAccount](https://avatars.discourse-cdn.com/v4/letter/t/a9a28c/32.png) [@TempAccount](https://meta.discourse.org/u/TempAccount)
#### Post date: [2026年二月27日 17:25 UTC](https://meta.discourse.org/t/private-topics-plugin/268646/100 "2026-02-27T17:25:59Z")

</div>

@RGJ 请将此帖子移回原处。它不应该在这里。

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [2026年二月27日 18:53 UTC](https://meta.discourse.org/t/private-topics-plugin/268646/101 "2026-02-27T18:53:01Z")

</div>

> [@TempAccount](#):
>
> 请把这个帖子移回去

已完成，是我的错误，它确实不应该和那些帖子一起移动。  
然而，我不认为关于这个特定用例的进一步讨论也应该在这里进行。请将讨论集中在 Private Topics 插件上。

---

<div class="post-metadata">

### Author: ![Luna\_Mora](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/luna_mora/32/527917_2.png) [@Luna\_Mora](https://meta.discourse.org/u/Luna_Mora)
#### Post date: [2026年二月28日 02:47 UTC](https://meta.discourse.org/t/private-topics-plugin/268646/102 "2026-02-28T02:47:37Z")

</div>

我在控制台中收到了此插件的弃用警告：

```plaintext
deprecation-identify-source.js:15 弃用警告：[插件 discourse-private-topics] 从 `@ember/service` 导入 `inject` 已弃用。请改用导入 `service`。[弃用 ID: importing-inject-from-ember-service] 这将在 ember-source 7.0.0 中移除。更多详情请参阅 https://deprecations.emberjs.com/id/importing-inject-from-ember-service。

```

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [2026年二月28日 07:46 UTC](https://meta.discourse.org/t/private-topics-plugin/268646/103 "2026-02-28T07:46:43Z")

</div>

我已经推送了一个修复程序（尽管该警告是无害的）。感谢您的报告。

---

<div class="post-metadata">

### Author: ![SubStrider](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/substrider/32/512604_2.png) [@SubStrider](https://meta.discourse.org/u/SubStrider)
#### Post date: [2026年三月5日 15:01 UTC](https://meta.discourse.org/t/private-topics-plugin/268646/104 "2026-03-05T15:01:16Z")

</div>

如果您使用全局搜索关键字，将可以看到来自私有支持帖子的预览，尽管这些帖子仍然无法访问。

[上一頁](https://meta.discourse.org/t/private-topics-plugin/268646.md?page=4)

[下一頁](https://meta.discourse.org/t/private-topics-plugin/268646.md?page=6)
