跳到内容
Tauri

Tauri 社区增长与反馈

Community growth and feedback hero image

Tauri 在过去一年取得了惊人的成就。我们发布了 Tauri 1.0宣布了 Tauri Mobile 的 Alpha 版本,并在 2022 年 Tauri 社区调查中收集了来自社区和用户的许多宝贵反馈。

今年,我们收到了超过 600 份 Tauri 社区调查问卷回复(是上次调查回复数量的 3 倍以上)。我们要特别感谢吴雨蔚廖迪凯将调查问卷从英文翻译成简体中文和繁体中文,以便我们能够将更多社区成员及其反馈纳入调查中。您可以在此处下载调查的公开数据。

我们听取了您的反馈,并启动了几个项目来直接解决这些问题。我们想谈的第一个是搜索。

没有搜索,你还能找到东西吗?如果你的望远镜坏了,你能看到行星或恒星吗?我们知道我们的搜索镜头布满灰尘和划痕;有时感觉像是在掷骰子,甚至有人求助于使用 ChatGPT 来寻找答案。

搜索是我们多年来尝试过几次的项目,但我们也了解到它不像最初看起来那么容易。Tauri 工作组的Ken 在之前的 tauri-search 项目中做出了鼓舞人心的工作。他在之前的项目中为我们理解搜索的构成奠定了许多基础和研究。


在下一次搜索迭代中,我们有三个目标:

  1. 保持可维护性
  2. 保持正常运行
  3. 保持开源

首先,我们需要选择一个后端搜索引擎来存储和提供搜索索引。在评估搜索引擎时,我们希望确保我们使用的东西符合我们对开源软件和低占用空间价值的共同理念。在比较和研究了搜索市场中的参与者(并从我们之前使用 Meilisearch 的方法中吸取了教训)之后,我们决定选择 Meilisearch,因为我们知道它符合这两个目标。

Meilisearch 对开源软件充满热情,甚至他们的搜索引擎也是用 Rust 构建的,它占用空间小,性能出色。他们最近宣布了 Meilisearch 1.0,现在还为那些希望托管实例的用户提供了云服务。

我们决定与 Meilisearch 合作,使用他们的引擎和 Meilisearch Cloud 服务来托管我们的搜索引擎。他们慷慨地赞助了一个由他们为我们管理的托管计划。这使我们能够专注于构建 Tauri,因为我们知道搜索引擎的维护和保养都掌握在值得信赖的人手中。

拼图的下一块是将内容实际索引并摄取到搜索引擎中。Tauri 工作组的Fabian 使用 Meilisearch 的docs-scraper 项目设置了该项目。

以前,我们的设置是获取 Markdown 文档和 JavaScript AST,并利用它们来构建搜索索引。尽管这导致了更快的索引时间,但这意味着搜索索引与我们网站上内容渲染方式之间存在紧密的耦合依赖关系。这有时会导致搜索结果与实时网站上的内容不同步。为了更新网站或优化索引器,需要同时了解两者,从而增加了维护难度。

使用当前版本的抓取工具,我们可以通过单个 JSON 文件处理所有配置和结果调整,并让抓取工具处理其余部分。我们设置了一个 GitHub Actions,它将在我们的 CI/CD 管道中执行抓取操作,然后将这些结果发送到我们的 Meilisearch Cloud 实例。

最后一步是创建访问tauri.app的人们将与之交互的前端 UI。Tauri 工作组的Amr 创建了meilisearch-docsearch 项目来帮助实现此目标。此仓库与 Meilisearch 1.0 兼容(我们现在正在tauri.app上使用它)。

它的灵感来自 algolia/docsearchmeilisearch/docs-searchbar.js 项目,这些项目提供了非常坚实的基础。开源的美妙之处在于我们可以互相学习,并利用这些知识回馈生态系统。

为了详细讲解一些细节,我将把话题交给 Amr


meilisearch/docs-searchbar.js 项目不错,但我一直觉得它需要一些改进才能与 algolia/docsearch 实现功能对等。我还觉得我们可以帮助更新以改进 UI/UX。

meilisearch/docs-searchbar.js 的主要痛点是

  1. 在移动设备屏幕上,它需要 UI/UX 改进,以避免搜索结果超出屏幕。
  2. 在桌面端,搜索结果通常出现在搜索输入框下方,而在tauri.app中,搜索输入框位于右上角。这导致了糟糕的用户体验,因为你必须不断地在页面中间的内容和右上角的搜索结果之间移动视线。
  3. 缺少一个常用的快捷键。Ctrl/Command + K 用于启动搜索,Ctrl/Command + K 在 JS 生态系统的文档网站中非常常见。它也无法在页面上选择文本,然后直接从该文本触发搜索。

我一直非常喜欢algolia/docsearch的 UI/UX。它满足了我列表中的所有功能,我一直希望在tauri.app中也能拥有它。事实上,几个月前,我尝试在我们这边修改meilisearch/docs-searchbar.js的 CSS,以改进上述第 1 点和第 2 点,但我中途放弃了,因为在现有 CSS 之上构建并争取最高优先级非常困难(而且 CSS 很难 😜)。其他项目也无法轻松地受益于我们的修改。

后来,我们讨论了如何改进搜索 UI 和用户体验,并决定我们可以改进 Meilisearch 的基础 UI。该项目演变为meilisearch-docsearch

好消息是所有这些更改都已上线!您可以在tauri.app上看到新的搜索功能。我们非常希望您能就哪些方面有效以及哪些方面需要改进,在此博客文章的 GitHub 讨论中提供反馈。我们不仅邀请您报告错误,还邀请您报告搜索结果不符合预期或应该在结果列表中排名更高的情况。

Search Preview

最后,我们要特别感谢Ken 启动了最初的 Tauri 搜索项目,感谢Amr 贡献了meilisearch-docsearch 项目,感谢Fabian 编写了修订后的索引爬虫并持续测试,感谢 Meilisearch 提供的合作和 Meilisearch Cloud 实例,最后感谢 Tauri 社区持续的反馈,帮助我们推动 Tauri 和社区向前发展。

在接下来的一年里,Tauri 工作组很高兴能继续致力于 Tauri 2.0。我们还在开发一个网站重写项目,将于今年春天推出测试版。如果您想参与,可以通过Tauri Discord与我们联系,并在MastodonTwitter上关注我们。


© 2025 Tauri 贡献者。CC-BY / MIT