前言
昨天,我分享了基于 DeepSeek + Supabase 构建 RAG 系统的架构思路。今天又做了一些附加优化与收尾,不仅把项目彻底跑通上线了,还增加了引用溯源、智能标题、移动端适配 和亮暗主题切换。今天,我想聊聊从"跑通 Demo"到"真正好用的个人助理",中间这 20% 的细节我是怎么磨出来的。
GitHub: [github.com/FelixBitSou...]
在线体验: [swift-mind-flame.vercel.app]
🌟 颜值即正义:亮暗主题与移动端适配
作为一个"私人助理",它必须能出现在任何场景:深夜调代码时的暗色模式,或者地铁通勤时的手机屏幕。
- 亮暗主题切换 :基于
next-themes和 Shadcn UI,我实现了一套极简的视觉切换。暗色模式下,代码块和 Markdown 引用看起来非常护眼。 - 响应式布局:为了让 SwiftMind 在手机上好用,我重新设计了侧边栏,采用了移动端优先的抽屉式导航。现在,随手在手机上上传一张 PDF,AI 就能立刻帮我总结。




🔍 深度实战:拒绝"幻觉",每一句都有据可查
个人助理最怕的就是 AI "一本正经地胡说八道"。在这次更新中,我上线了 Source Citation(引用溯源) 功能。
它是如何工作的?
- 检索阶段:LlamaIndex 检索出最相关的 Top-K 个文本切片。
- 注入阶段 :在 Prompt 中要求 LLM 在回答时使用
[1], [2]标注出处。 - 前端展示:用户点击回答中的数字标签,右侧或下方会弹出对应的原文片段。
这不仅解决了信任问题,还让我能直接跳转回原文档查看细节,这才是"个人助理"该有的样子。


🧠 细节控:智能标题与 uv 管理
1. 自动生成对话标题
我不希望侧边栏全是"New Chat"。
通过一个简单的 Hook,在对话进行到第二轮时,后台会异步调用一次 DeepSeek,根据对话内容生成一个 10 字以内的精准标题并更新数据库。这种"不打扰"的自动化逻辑极大提升了整理效率。
2. uv 带来的极致开发体验
这次上线,后端依赖管理完全交给了 uv。
- 同步极速 :
uv sync几乎是秒级完成。 - 容器化友好:在 Docker 构建时,uv 显著缩短了镜像打包时间。
- 零推理开销 :由于我们坚持纯 HTTP API (SiliconFlow + DeepSeek),服务器无需安装
torch等庞然大物,2G 内存跑起来依然丝滑。
🏗️ 架构回顾:为什么选这套组合?
| 模块 | 技术选型 | 理由 |
|---|---|---|
| 前端 | Next.js 14 + Vercel AI SDK | 完美的流式对话体验,App Router 维护极简。 |
| 后端 | FastAPI + LlamaIndex | uv 驱动,异步处理 Ingestion 管道,逻辑清晰。 |
| 存储 | Supabase (Auth/DB/Storage) | RLS 行级安全策略,天然支持个人多租户隔离。 |
| 模型 | DeepSeek + 硅基流动 (BGE-M3) | 追求性价比与中文理解的最优解。 |
🚀 立即体验 SwiftMind
我把项目完全开源并上线了,你可以直接访问下方的地址,上传一份 PDF 或 Markdown 感受一下:
- 在线体验地址 : [swift-mind-flame.vercel.app]
- GitHub 仓库 : [github.com/FelixBitSou...]
结语
SwiftMind 现在的定位很明确:它不追求全能,但追求在个人知识管理这一件事上做到极致。 它足够轻,够安全,且完全属于你。
如果你也想在 2026 年快速上线自己的全栈 AI 产品,这套"精益全栈"方案或许能给你一些灵感。
欢迎在评论区试用反馈,顺便求个 Star ⭐!