产品介绍
Molore是一套本地优先的开源个人 AI 知识库:FastAPI 后端 + React 19 前端 + Electron 桌面端(内嵌 PyInstaller sidecar)+ 浏览器剪藏扩展,数据默认只存在你自己的机器上。项目在 AGPL 下开源(精简版,GitHub motuo520/grzhishiku),同时提供带桌面端打包、支付与云端能力的商业版,双轨并行。它要解决的问题很直接:把笔记、网页剪藏、文档喂进去之后,不用自己整理,就能检索得到、问得出来、看得清知识之间的关联——而这一切可以不依赖任何云服务完成。
适用场景
| 需求 | 功能 |
|---|---|
| 数据隐私,内容不出机器 | 本地优先架构:SQLite 本地库 + Ollama 本地模型,全程离线可用;云端只在主动备份或按量消费时涉及 |
| 零运维,一键安装 | 桌面端安装包内嵌完整后端(sidecar),双击即用,不需要命令行 |
| 文档格式繁杂(PDF 扫描件 / 图片 / Excel / Word) | 文档解析管线:pymupdf 文字层 + RapidOCR 扫描件兜底,XLSX/DOCX 表格转 Markdown 管道表入库 |
| 检索召回不稳,问不到库里的东西 | 混合检索:sqlite-vec 向量 KNN + FTS5 BM25 融合 + 表格行结构化索引 + SQL 保底召回,叠 GraphRAG 图谱扩展 |
| 不想被单一模型厂商绑定 | 三条模型通道硬分流:🏠 本地模型(免费)、🔑 BYOK 自带 Key(23 家预设)、☁️ 平台按量(有余额即可用) |
| 个人知识自进化,越用越有价值 | LLM Wiki 条目编译、知识图谱自动构建、每日复盘/每周回顾,全部可走本地模型零成本 |
核心概念
| 概念 | 说明 |
|---|---|
| 笔记(note) | 手写或导入的文本内容,四类入库内容之一 |
| 剪藏(clip) | 浏览器扩展一键保存的网页正文,自动抽取入库 |
| 知识单元(knowledge unit) | 认知生产管线的产物(概念卡、碰撞卡等),带 title 列,参与检索与建图 |
| 标签(tag) | 内容上的自动/手动标签,content_tags.source 区分来源(auto/manual) |
| 目录树(folder) | 手动归档结构,必属一脑、限三层,四类内容均可归档 |
| 知识图谱(graph) | 由 graphifyy 从语料抽取的实体-关系网络,13 谓词收敛,支持版本快照回滚 |
| wiki 条目(wiki entry) | LLM 编译的百科式条目,带版本史与回滚,可进融合检索与图谱 |
| 会话(chat session) | AI 对话上下文,RAG 问答的载体,始终创建者私有 |
| 空间(space) | 个人空间 / 团队空间(企业版),全模块按空间口径隔离 |
功能清单
- 内容采集:批量导入、浏览器书签 HTML 导入、剪藏扩展、笔记/便签墙手写,入库自动打标签、自动向量化
- 文档解析:PDF 文字层优先 + 扫描件 OCR(
app/services/document_ocr.py),XLSX/DOCX 表格结构化入库(app/services/document_service.py) - 融合检索:向量(sqlite-vec,bge-m3 1024d)+ FTS5 BM25 加权融合 + 表格行索引 + 编号/稀有数字 SQL 保底召回,实现在
app/api/v1/endpoints/llm/retrieval/子包 - AI 对话(RAG 问答):流式回答带 [n] 引用可点回原文;数字 grounding 校验、零命中拒答声明、推测标注(
RAG_SPECULATION_CHECK)保证证据边界 - 知识图谱:增量建图、置信度隔离区、版本快照回滚、实体消歧审计(
app/services/graphify_service.py) - LLM Wiki:条目编译、版本史与回滚、规则 lint 定时闭环、条目进图谱与融合检索(
app/services/wiki_service/包) - 知识自进化:每日复盘 / 每周回顾定时产出(本地模型零成本),知识单元三轨状态(verification_status / evolution_stage / pipeline_stage)
- 模型通道硬分流:分类与默认策略单点在
app/services/llm_service/channel_policy.py,BYOK 无 key 即不通、绝不跨通道兜底 - 云同步:E2EE 增量同步 + 快照保险箱(
app/services/sync_agent.py/sync_capture.py) - 桌面端:托盘常驻、全局热键(Ctrl+Shift+N 快记 / Ctrl+Shift+J 唤起对话)、自动更新、本地加密保险柜
- 插件系统:manifest 驱动 + 用户级启停(
app/plugins/manager.py)
系统组件
| 组件 | 技术栈 | 默认端口 | 职责 |
|---|---|---|---|
| backend | FastAPI + SQLAlchemy | 8080(云端)/ 8000(自托管开发) | API 服务、检索与 RAG、任务调度,入口 app/main.py |
| frontend | React 19 + Vite | 3000(开发) | Web 界面,桌面端由后端同源托管 |
| desktop | Electron | 53948(内嵌后端) | 桌面壳,内嵌 PyInstaller sidecar(693MB,含 OCR 全家桶) |
| browser-extension | Chrome/Edge 扩展 | — | 网页一键剪藏 |
| 存储 | SQLite + sqlite-vec + FTS5 | — | 关系数据、向量 KNN、全文索引,单文件库 |
| 本地模型 | Ollama | 11434 | 聊天模型 qwen3.5:0.8b 与嵌入模型 bge-m3(1024 维向量) |