基于 RAG 的聊天记录智能分析工具,导入微信/QQ 等聊天记录后,通过 AI 进行语义搜索、数据统计和智能问答。
- 📥 聊天记录导入 — 支持导入 JSON 格式的聊天记录(微信/QQ 导出)
- 🧠 RAG 智能问答 — 基于向量检索增强生成,精准回答关于聊天内容的问题
- 🔍 语义搜索 — 通过 Embedding 向量化,支持按语义相似度搜索历史消息
- 📊 数据统计 — 按发送者、日期等维度统计消息分布,Chart.js 可视化
- 📂 项目管理 — 多项目支持,独立保存向量索引和对话状态(SQLite 持久化)
- 🌙 深色模式 — 支持亮色/深色主题切换
┌─────────────────────────────────┐
│ Vue 3 Frontend │
│ (Vite + TypeScript + Chart.js)│
├─────────────────────────────────┤
│ Tauri v2 Bridge │
├─────────────────────────────────┤
│ Rust Backend │
│ ┌───────────┬────────────────┐ │
│ │VectorStore│ ProjectManager │ │
│ │(Cosine │ (SQLite CRUD) │ │
│ │ Similarity│ │ │
│ └───────────┴────────────────┘ │
│ ↕ HTTP │
│ Ollama (LLM + Embedding) │
└─────────────────────────────────┘
前端: Vue 3 + TypeScript + Vite + Chart.js + Lucide Icons 后端: Rust + Tauri v2 + reqwest + rusqlite AI: Ollama 本地模型(对话生成 + 文本 Embedding)
# 安装前端依赖
npm install
# 开发模式
npm run tauri dev
# 构建桌面应用
npm run tauri build确保 Ollama 已启动并拉取所需模型:
# 对话模型
ollama pull qwen2.5:7b
# Embedding 模型
ollama pull nomic-embed-textchat-ai-analyzer/
├── src/ # Vue 前端
│ ├── App.vue # 主应用(导入/搜索/问答/统计)
│ ├── ProjectSelector.vue # 项目选择器
│ └── composables/ # 组合式函数
├── src-tauri/src/ # Rust 后端
│ ├── lib.rs # 核心逻辑(VectorStore + RAG pipeline)
│ └── project_manager.rs # 项目持久化(SQLite)
└── package.json
- 向量检索: Rust 实现的 VectorStore,支持余弦相似度搜索
- RAG Pipeline: 查询 → Embedding → 向量检索 Top-K → 构建 Prompt → LLM 生成回答
- 项目持久化: SQLite 存储向量索引、对话历史和项目配置,支持跨会话恢复
MIT