查找和合并重复反馈
用户可能用不同的方式描述同一个需求。一个人希望增加深色模式,另一个人提出夜间主题,还有人希望应用跟随系统的外观设置。如果无法识别重复内容,这些需求会保留为多条反馈,票数也会分开统计。
FeedLog 可以根据语义而不是关键词匹配这些反馈。管理员或所有者可以将它们合并到同一条反馈中,同时保留已有票数。
相似检测的工作方式
提交或编辑反馈后,FeedLog 会将标题和正文发送给向量模型(embedding model),并将返回的 768 维向量与反馈一起存储。FeedLog 通过比较向量对语义相似度进行排序,即使两条反馈没有相同的词,也可能相互匹配。
例如,"Night theme please"(希望增加夜间主题)和 "Dark mode for the dashboard"(控制台深色模式)没有相同的词。用其中一句进行关键词搜索无法找到另一句,但向量距离可以让它们排在一起。
相似推荐只是排序,不代表两条反馈一定重复。 FeedLog 返回距离最近的反馈,不设置相似度阈值。即使没有接近的结果,列表仍会显示距离最近的三条反馈。管理员或所有者需要自行判断它们是否描述同一个需求。
语义推荐不会包含没有向量的反馈。 FeedLog 在反馈保存后通过后台任务生成向量,因此新反馈可能需要短暂等待才会出现在语义推荐中。未配置 AI key 时创建的反馈,以及向量生成失败的反馈,之后不会自动补充向量。文本搜索仍能找到这些反馈,但需要补充向量后,语义匹配才能包含它们。具体操作见配置外部服务。
已经被合并的反馈不会出现在任何相似推荐中。
相似推荐出现在哪
提交表单
提交表单会在用户输入时搜索。标题达到三个字符后,编辑器下方会出现找到 3 条相似反馈面板,并在用户停止输入后很快刷新。如果正文中已经有内容,面板默认收起,不会遮挡编辑器。
选择一条推荐结果会打开已有反馈。用户可以直接为该反馈投票,不必再次提交相同的需求。

反馈详情页
未被合并的反馈会在侧边栏显示相似反馈卡片,其中列出距离最近的三条反馈。点击展开全部相似反馈最多可以显示十条。无论是否登录,用户都能看到这张卡片。
管理员和所有者还能在每一行看到合并图标,可以直接从侧边栏发起合并。
合并反馈
只有管理员和所有者可以合并反馈。合并操作有两个入口:
- 相似反馈卡片某一行上的合并图标,给出合并到当前反馈和将当前反馈合并到此两个方向。
- 反馈本身的合并菜单,其中包含合并到这条反馈和将这条反馈合并到……。对话框最初会列出距离最近的十条反馈。在搜索框中输入内容后,列表会改为显示与搜索内容匹配的三条反馈。
合并方向决定哪条反馈会保留下来。用户可以继续在保留的反馈上投票和评论。另一条反馈会显示指向保留反馈的链接。
选择要保留的反馈
建议保留标题更清楚的反馈,不必优先保留提交时间更早的反馈。
合并后,被合并反馈的网址不变,仍然可以访问。页面顶部会显示这条反馈已被合并到提示,并提供指向保留反馈的链接。被合并反馈不再出现在反馈列表、搜索结果、路线图和相似推荐中。用户不能再为其投票或发表评论,并且在取消合并前不能删除该反馈。
保留的反馈会在评论区增加一张被合并反馈的卡片。你可以从这张卡片加载被合并反馈的评论。评论不会复制到保留的反馈中,仍与原来的反馈关联。
被合并反馈的关注者会继续收到保留反馈的状态更新。这样,提交重复反馈的用户仍能了解该需求的处理进度。
如果一条反馈已经包含其他被合并的反馈,仍可以将整个反馈组继续合并到另一条反馈中。但不能合并到一条本身已被合并的反馈,FeedLog 会拒绝该操作,以免形成多级跳转。
票数的合并方式
保留反馈的票数会重新计算为在整个反馈组中投过票的不同用户人数,而不是两个票数的简单相加。
例如,一条有 17 票的反馈合并一条有 4 票的反馈,其中两个人为两条反馈都投过票,合并后的票数是 19。这里与 FeedLog 其他位置一样,每个人对同一个需求只能投一票。为被合并反馈投过票的用户,在保留反馈上也会被视为已经投票,不能再次增加票数。
被合并反馈的原有票数不会清零。票仍与该反馈关联,取消合并后会重新单独统计。
取消合并
打开保留的反馈,在评论区找到合并卡片,然后从卡片菜单中选择取消合并。
取消合并后,被合并的反馈会恢复为普通反馈,重新出现在反馈列表、搜索结果和路线图中,用户也可以再次投票和评论。两条反馈的票数会立即重新计算。保留反馈不再计入只为原重复反馈投过票的用户,但仍会计入为两条反馈都投过票的用户。
合并期间,票和评论始终与原反馈关联。因此,取消合并时不需要恢复或复制这些数据。
取消合并后,合并卡片会从评论区移除,评论区不会保留此次合并的记录。合并期间投给保留反馈的票仍会保留在该反馈上。

未配置 AI key 时
功能降级,而非停用
自部署实例未配置 OPENAI_API_KEY 时,本页介绍的面板、对话框和合并操作仍然可用。只有相似度计算方式会发生变化:FeedLog 会改用 trigram 比较标题和正文的文本距离,即比较字符序列,而不是语义。
这种方式仍能匹配错别字和写法接近的内容,但可能无法匹配表达方式不同的相同需求。例如,"Night theme please" 和 "Dark mode for the dashboard" 将无法相互匹配。文本匹配漏掉语义相近的反馈时,界面不会显示提示。
后续配置 key 只会为新反馈或再次编辑的反馈生成向量。旧反馈需要单独执行向量补充操作。