【开源推荐】受够了 AI 聊天时的“记忆污染”?我写了一个支持“对话分叉”的非线性 AI 平台
·
💡 为什么要做这个项目?
平时我们在使用各种大模型 API 套壳工具或者官方对话框时,往往会遇到一个非常头疼的问题:单线对话的“记忆污染”与“上下文冗余”。
在学习或探讨一个复杂问题时,我们常常需要针对某个细节衍生出新的问题。在传统的单线聊天中,这些衍生的追问会和主线问题混杂在一起。当你想回到主线继续提问时,AI 的记忆已经被刚才的旁支问题“污染”了,回答开始跑偏;而且长时间的对话会导致上下文急剧膨胀,不仅浪费 Token,还容易触发模型的注意力衰减。
为了解决这个问题,我开发了 循迹 (XunJi) —— 一个基于 FastAPI + Vue3 + LangChain 的前后端分离 RAG 对话平台。它最大的特色就是引入了非线性的“聊天树 (Conversation Tree)” 机制。
🌟 核心亮点:不仅是 API 套壳,更是思维导图
1. 非线性对话管理:让每次追问都有独立的“平行宇宙”
这是循迹最核心的功能。我们将每一次对话建模为树的一个节点:
- 无感分叉与回溯:当你对 AI 的某次历史回答产生新的疑问时,无需在当前对话末尾追加,而是可以直接点击该历史节点发起新对话。系统会自动为你创建一个新的分支。
- 记忆物理隔离:在新的分支里,AI 的上下文仅包含该节点及其父节点的路径,彻底杜绝了多问题混杂导致的记忆污染。
- 可视化树图:内置基于 ECharts 的聊天树可视化视图。你的整个思考路径一目了然,还可以对关键节点进行星标(橙色高亮),轻松理清主线与分支。
在这里插入图片描述

2. 为扩展而生的底层架构 (LangChain + FastAPI)
相比于简单透传 API 的套壳项目,循迹在后端重度依赖了 LangChain 框架。
这样设计是为了给未来的深度 AI 开发留足空间:
- RAG 知识库增强:原生支持 PDF、TXT、MD 等文档上传,结合 ChromaDB 向量数据库实现精准语义检索,让 AI 回答基于你的专属知识库。
- Agent 扩展准备:底层的抽象使得后续接入各种外部工具(如联网搜索、代码执行)变得非常顺滑。目前已经集成了 OpenClaw 服务,提供了更深度的自动化能力。
3. 在线体验与全量模型私有化部署
作为一个扩展性极强的对话平台,循迹在基础体验上同样拉满,并且把数据隐私的控制权全部交还给你:
- 在线 Demo (快速体验):为了让大家直观感受“聊天树”无感分叉与回溯的魅力,我搭建了一个在线体验站点。考虑到个人开发者的 API 成本,在线体验版本目前仅开放了 DeepSeek 模型供大家尝鲜试玩。
- 私有化部署 (解锁完全体与绝对安全):如果你想将循迹作为主力学习工具,或者对数据隐私有严苛要求,强烈建议克隆代码自行部署。自行部署后,你将解锁全部潜能:
- 自带 Key (BYOK) 与多模型自由切换:后端全面兼容 OpenAI 格式接口。只需填入你个人的 API 凭证,无论是长文本利器 Kimi、还是通义千问 (Qwen) 等都能无缝接入。数据只留在你自己的机器或私有服务器上,彻底告别隐私焦虑。
- 完美支持本地模型:如果有极高的保密需求,循迹完美支持接入本地部署的 Ollama。彻底实现零成本、纯离线可用的私人 AI 助手。
- 精细化 Prompt 控制:支持全局提示词与单会话提示词的叠加,让你更精准地调教每个对话分支的 AI 人设。
4. 极致顺滑的流式渲染体验
针对长对话场景,前端进行了深度性能优化:
- 节流渲染:采用
requestAnimationFrame与节流技术,大幅降低高频流式输出时的 CPU 占用。 - 智能视口锁定:采用
overflow-anchor结合智能自动滚动逻辑,彻底告别流式输出时页面乱跳、滚动卡顿的问题。 - 智能输入交互:动态 Enter 逻辑,单行模式下 Enter 直接发送;一旦通过 Shift+Enter 或粘贴进入多行模式,Enter 自动转为换行,防止误发。
🛠️ 技术栈速览
- 前端:Vue 3 (Composition API) + Vite + Pinia + Element Plus + ECharts
- 后端:FastAPI + Uvicorn + SQLAlchemy
- AI 底层:LangChain + ChromaDB (向量库)
🚀 快速体验与开源地址
循迹目前已经开源,无论你是想找一个好用的日常学习 AI 工具,还是想学习 FastAPI + LangChain 的实战项目源码,都欢迎来体验!
- Gitee 仓库地址:https://gitee.com/ha-big-brother/xunji
- GitHub 仓库地址:https://github.com/tangdeyx2333-beep/xunji
- 在线体验地址:http://hadage.fun/xunji/
部署教程和详细说明都在仓库的 README 中。如果你在部署或使用过程中有任何建议,欢迎在评论区交流,或者直接去仓库提 Issue。如果觉得这个“聊天树”的思路对你有帮助,求一个免费的 Star ⭐️!
更多推荐
所有评论(0)