收藏
1
0
分享
举报
·5 小时前发布·48次阅读

一个人做了个 AI 对话工具,聊聊都干了什么

独立开发商业增长付费用户

大家好,介绍下我最近在做的项目——YeeroAI,一个 AI 对话和应用创作平台。先说说背景,再聊聊具体做了什么。

为什么要做这个东西

市面上的 AI 对话工具不少,ChatGPT、Claude、Gemini 各自都不错。但我自己的使用场景比较碎:有时候同一个问题想看看不同模型怎么回答,有时候对话聊到一半想分叉试另一条路,有时候 AI 回复里有段代码挺好用的但埋在 50 条消息下面找不着。

试了几个现有的工具,要么只能单模型,要么对话管理做得很粗糙,要么压根没有分支概念。于是开始自己造。

最初只是想做一个"能同时问多个模型、对话像 Git 一样能分支"的工具。做着做着发现停不下来了,一直在加东西。一个人前后端都写,前端 Next.js,后端 Spring Boot + Kotlin,数据库 PostgreSQL。

核心做了什么

对话系统:分支 + 多选捡出

对话系统是整个产品的基础。每条对话不是一条线,而是一棵树。

你可以从任意一个消息节点 fork 出新分支,给分支起名字,在不同分支上继续对话。每个分支可以独立配置模型列表、参数、工具。右侧有个分支树面板,可视化看整棵对话树的走向,点击就能切换。

最近加了"捡出到分支"——勾选散落在长对话各处的多条消息,一键归到指定分支或新建分支,捡出后自动跳转。适合整理那些"有用的回复散落各处"的长对话。

还有消息大纲导航,长对话右侧会出现一个可折叠的导航条,按 AI 回复自动提取的标题列出大纲,点击跳转到对应位置。类似 IDE 里的 Outline 面板。

多模型并行

同一个问题可以同时发给多个模型,回复并排展示。300+ 模型可选(通过 OpenRouter 接入),支持按供应商、模态(文本/图像/音频/视频/文件)、价格筛选。

自己用下来最明显的感受是:同一道编程题 GPT-4o 和 Claude 3.5 Sonnet 经常给出完全不同的思路,并排看挺有意思的。

AI 应用创作:网页应用 + Python 脚本

这个功能我比较喜欢。用自然语言描述你想要的应用,AI 直接生成一个可运行的 HTML 单页应用。然后在对话里继续迭代——"把按钮改成圆角""加个深色模式""表格支持排序"——AI 一步步改,你一步步看效果。

之前只有全量重建模式,每次让 AI 改点东西它会把整个文件重写。你自己手动改过的代码全没了。后来加了补丁模式:只改你描述的那部分,其余代码原封不动。全量重建保留为可选项,想彻底重构的时候用。

还加了 Python 脚本应用类型。直接在平台里创建和运行 Python 脚本,不用本地装环境。数据处理、自动化脚本这类场景比较合适。

应用支持后台生成——关掉页面或切走网络,AI 在后端继续跑,回来打开就是完整结果。应用列表里哪些任务还在后台跑,卡片右上角有角标提示。

知识库 + 记忆

知识库:AI 每次回复后自动从回答中提炼知识条目,生成摘要、标题和关键词标签。有独立的知识库页面,按标签分类浏览,按关键词搜索。点击卡片可以跳回原始对话。知识库只做提炼和检索,不会自动注入对话上下文。

记忆:和知识库不同,记忆功能开启后,系统会从对话中提取关键信息存为记忆条目,下次对话时自动检索相关记忆注入上下文。记忆有稳定性特征标记(固定/稳定/习惯/偏好/易变/虚弱),可以手动管理。两层东西配合用:知识库管"存下来找得到",记忆管"下次聊天自动带上"。

全局搜索

Cmd+K 打开全局搜索,支持跨类型搜索:对话、消息、文件、应用、文件夹、模型、设置。消息搜索用向量语义检索,显示相似度百分比。

最近加了"全部"分类——不确定内容在哪个分类时,选"全部"一次搜出来,结果按分类分组展示。

搜索面板里还内置了快捷操作网格:新建对话、新建应用、上传文件、切换主题、切换语言……高频操作一步到位。快捷操作会按使用频率自动排序,用得多的功能自动置顶。

拖拽框选批量操作

参考文件管理器的交互,列表场景里按住鼠标左键拖拽画框就能选中。覆盖对话消息、应用、文件、知识库、提示词、记忆等所有列表。松手后浮层显示已选数量,支持批量删除和移动。按 Esc 退出。

桌面端 + CLI

桌面端基于 Tauri,支持 Windows / macOS / Linux。体积小启动快,不过还有些粗糙的地方:macOS 没证书需要手动 xattr -cr,自动更新签名有坑,先用着慢慢修。

CLI 发了 v0.2.0,有个 yeero do 子命令——用自然语言说你要干啥,它帮你生成 Python 脚本。跟 Agent 不一样,只在首次创建时调一次 LLM,之后每次执行跑本地脚本,零 Token 开销。

一些做得比较细的地方

  • 对话标签页支持固定,重要对话不怕误关,固定状态持久化
  • AI 响应时对应标签页有流式动效,多标签并行一眼知道哪个还在跑
  • 文件夹支持多级嵌套,对话/应用/文件分类管理,文件夹级参数配置
  • 积分中心:余额看板 + 收支记录 + 24 小时退款
  • 微信 / 支付宝扫码支付 + Paddle 国际支付
  • 完整的分享功能:生成分享链接,设置过期时间,访问权限控制
  • 中英文双语全覆盖,URL 路径区分 /zh/ 和 /en/
  • 消息支持排除上下文——有些消息不想让 AI 看到,标记一下就行
  • 模型列表按受欢迎程度默认排序,6 种排序维度

技术栈

前端 Next.js App Router + TypeScript + shadcn/ui + Tailwind CSS。后端 Spring Boot 3 + Kotlin + PostgreSQL(pg_vector 向量扩展)+ Redis + Caffeine 二级缓存。AI 通过 OpenRouter 接入多家供应商,Embedding 用 baai/bge-m3(1024 维),内部任务用轻量模型。SSE 流式通信,支持断线重连和后台续跑。

一个人全栈写,最大的感受是前后端联调的时候自己就是自己的瓶颈。好处是改一处不用等别人,坏处是改一处只有自己知道。

目前的状态

用户量不大,但一直在迭代。有些功能还粗糙,有些交互还待打磨。先把核心体验跑通,后面慢慢修。

如果你也在做 AI 相关的独立项目,或者对"对话分支""多模型并行"这类设计有兴趣,欢迎交流。

yeero.ai

讨论 (0)

    目录

    关于作者

    心得体会

    这家伙很懒,什么都没留下

    Solo 独立开发者社区support@solo.xin
    关于社区隐私政策用户协议商务合作友情链接订阅更新(RSS)投稿赞助

    © 2023 SOLO · 为独立开发者而生