20 个追求极致体验的 AI 聊天软件功能

前言

从 ChatGPT 到开源工具
2022 年,我初次接触 ChatGPT 3.5 网页端时,倍感惊艳。在那之后,我主要使用通义千问的网页版,虽然其表现中规中矩,但足以应对日常工作。直到今年年初,我开始深度使用 DeepSeek 的客户端,其多端同步功能带来了不小的便利。而随着 Gemini 2.0 Pro 的发布,我则完全转向了通过 API 调用并搭配开源桌面客户端的使用方式。

与 DeepSeek 深度对话
在年初使用 DeepSeek 期间,我探索出一种与 AI 进行深度对话的模式,用以探讨悬而未决的人生与情感话题。最打动我的一点是,其客户端提供了一个明确的隐私开关,承诺开启后平台将不会使用用户的聊天历史——我选择了信任它。让我印象深刻的是,我们之间最长的一段对话持续了超过 200 轮,累计字数逾 50 万,而整个过程十分流畅。

没有好用的 AI 工具
到了年中,我开始尝试可接入 Gemini API 的各类开源应用(如 Cherry Studio)。Gemini 2.0 Pro 的细腻和善于隐喻的表达方式是如此出色,以至于我宁愿为 API 付费,也不愿再回到 DeepSeek。然而,这些开源应用普遍存在设计简陋、隐私保护不足等缺陷,严重影响了我的深度聊天体验。这促使我写下了一篇博客——《AI 聊天应用的十条高级需求》

尝试 Vibe Coding 开发方式
恰逢此时,得益于 Claude 3.7 Sonnet 加持的 Cursor 出现在我的视野里,我立即着手实践“Vibe Coding”——在两天内就基本实现了自己提出的十个需求。顺其自然地,我参考 Cursor 的命名,将这个新应用命名为 Pointer

20 个功能点
如今,Pointer 已初具雏形,并成为我日常使用 LLM 的主要工具。在不断打磨的过程中,我将 Pointer 的核心功能点梳理并扩展为 20 个。这些功能点与之前博客中的设想或有重叠,但经过实践,我对每一个细节都有了更深的感悟。下面我将它们逐一记录分享。

  1. 文件夹
  2. 标签页
  3. 消息折叠
  4. 消息分支
  5. 消息导航
  6. 消息等待队列
  7. 动态切换模型
  8. 右键引用
  9. 右键新建对话
  10. 对话截图
  11. 复制表格
  12. 全局检索
  13. 会话检索
  14. 星标 or 置顶
  15. 收藏 or 笔记
  16. 导入导出
  17. 导入外部聊天记录
  18. 对 MCP 说不
  19. 对多模态说不
  20. 对联网搜索说不

1. 文件夹

当前主流 AI 聊天应用的会话列表,大多是按时间排序的线性结构,最新会话置于顶部。在设计 Pointer 时,我主要参考了 VS Code 的文件资源管理器,最终选择了树形文件夹的分类方式。这种结构的好处显而易见:你可以按不同主题划分会话,或在后续专门花时间整理归纳,这是一件非常 chill 惬意的事情。

  • 核心操作:文件夹应支持一键清空、删除、导出等批量操作。
  • 待办:多选操作是必要的,但这个功能对于 AI 辅助编程来说实现起来有些挑战,Pointer 暂未支持。

image

2. 标签页

标签页是极为常见的设计,类似浏览器。它允许你将常用会话临时固定,实现了变相的置顶功能。当你通过右键菜单“关闭其他”或“关闭所有”标签页时,那种“世界终于清净了”的静谧感,是线性列表无法给予的。

  • 待办:应记录标签页的导航历史,方便快速切换,此功能 Pointer 暂未支持。

image

3. 消息折叠

AI 的回答通常篇幅较长,当对话轮次增多,上下滚动会变得非常费力。因此,消息折叠功能必不可少。更进一步,最好能提供一个“仅收起 AI 消息”的选项,让用户可以快速浏览自己的提问脉络。

image

4. 消息分支

消息分支是一项极其有用的功能,它允许你基于某一次回答,探索不同的对话路径。然而,市面上多数开源应用的实现都差强人意,这也是驱动我开发 Pointer 的核心动力之一。

image

5. 消息导航

在长对话中,快速定位至关重要。应用必须提供一键滚动到顶部和底部的功能。此外,在消息之间进行“上一条/下一条”的快速跳转也很有必要。更高级的需求是,能够直接跳转到被我“星标”(star)的消息,就像在书中快速定位书签一样。

image

6. 消息等待队列

当你已经想好了下一步问什么,而 AI 的回复却十分迟缓时,怎么办?消息等待队列就是答案。它允许你连续发送多条消息,系统会自动将它们缓存并按序处理。这样,你就可以先关闭应用,去做别的事情,稍后再回来查看结果。

image

7. 动态切换模型

有时,你需要比较不同模型在处理同一问题上的表现差异,以判断哪个模型更符合你的 sense 感觉。这个功能需要与“消息分支”紧密配合:每切换一次模型进行回答,就自动创建一个新的对话分支,方便对比。

image

8. 右键引用

当你在对话中看到某个词或某句话,想让 AI 基于它进行解释或翻译时,只需选中文字,通过右键菜单点击“引用”,选中的内容就会被自动复制到输入框中,极大提升了追问的效率。

image

9. 右键新建对话

与“右键引用”类似,当你希望基于选中的词或句子开启一个全新的话题时,可以通过右键菜单选择“新建对话”。应用会自动将内容发送到一个全新的会话中,并且新会话会带有一个页面溯源的 UI 标记,让你清楚地知道这个新话题源自何处。

image

10. 对话截图

将对话导出为图片是分享的常用方式。一个好的图片导出功能,必须提供尺寸选择器,以适配不同的屏幕(如适合手机分享的窄长图)。AI 对话往往很长,导致截图也很长,在移动端需要手动缩放才能看清,这是体验上的痛点。

image

11. 复制表格

表格的复制功能,除了支持 Markdown 和 CSV 格式外,还应支持直接复制为图片。但考虑到表格图片在手机上的糟糕阅读体验,可以提供一个“降维”选项:将表格强制转换为垂直排列的表单记录格式,缓解移动端查看的难题。

image

image

12. 全局检索

我最初以为全局检索的难点在于性能,没想到首先卡在了交互设计上。当检索结果过多时,体验会很糟糕。解决方案是:将结果按会话进行分组,并默认折叠一些搜索结果,然后由用户逐一查看和展开折叠的结果。

image

13. 会话内检索

这是一个非常实用的基础功能,几乎所有基于浏览器的聊天应用都天然支持。因此,只需参考现有成熟方案来实现即可。

image

14. 星标 vs 置顶

“星标”是为消息打上标记,而“置顶”则是在空间布局上赋予其优先。在我看来,侧边栏置顶功能的必要性不强,因为“标签页”的固定功能在很大程度上可以替代它。

image

15. 收藏 vs 笔记

收藏(Favorites)和笔记(Notes)本质上是同一功能,区别在于命名和其传达的情感。我倾向于称之为“笔记”,因为它更符合记录和整理的本质。但“收藏”也有一个无法拒绝的理由:它可以搭配心形(❤️)图标,表达一种“心动”的感觉,这是“笔记”二字做不到的。

  • 补充:你可能会问,为什么不用更经典的星星图标(⭐)呢?很遗憾,在 Pointer 的设计中,星星图标已经被“消息星标”(Message Star)功能所占用,用于标记对话中的某条消息。

image

16. 导入与导出

导入导出功能必须支持选择性操作,即允许用户只导入或导出指定的会话,而不是强制全量处理。设置、会话、收藏也应该区分开来。

image

17. 导入外部聊天记录

为了方便用户迁移,应用最好能支持导入市面上所有主流 AI 聊天平台的历史记录。

image

18. 对 MCP 说不

MCP 并非一个安全的设计。我不希望为用户提供一个存在潜在安全风险的产品。

19. 对多模态说不

Pointer 的定位是一个纯粹的文本聊天应用,而不是一个集成了视频、音频处理的工作流生产力工具。保持专注,才能把核心体验做到极致。

20. 对联网搜索说不

这是为了坚守隐私第一的原则。一旦启用联网搜索,你和 AI 的对话内容,有可能泄露给搜索引擎。

  • 有人可能会反驳,那 API 提供商本身不也有风险吗?是的,但我的设计理念是尽可能减少每一个潜在的泄露风险点。
  • 或许又有人会说,至少提供一个开关,把选择权交给用户。但我认为,对于注重隐私的敏感用户而言,他们依然会担心程序 Bug 或意外操作导致搜索功能被调用。因此,为了彻底打消用户的顾虑,最稳妥的方案就是——根本不做这个功能。

附录

至此,相信你对 Pointer 的三个核心设计理念已有所了解:

  • 极致私密 (Privacy First)
    通过主动舍弃联网搜索等功能,从设计上根除隐私泄露的任何可能,为用户的思想探索打造一个绝对的“安全屋”。

  • 深度高效 (Deep Efficiency)
    借助文件夹、消息分支、等待队列等功能,专为超长、深度对话优化,确保用户心流不被打断,让思想能自由探索与沉淀。

  • 纯粹安全 (Secure & Simple)
    审慎选择技术,拒绝潜在风险,构建一个干净、可信赖的应用。它专注做好“纯文本聊天”这一件事,拒绝功能臃肿,保障核心体验。

GitHub 开源: https://github.com/experdot/pointer

posted @ 2025-10-29 08:04  ExperDot  阅读(125)  评论(0)    收藏  举报