LocalMind 是一款以 Windows 为主要目标的本地知识库 MVP,支持导入 PDF、DOCX、PPTX、TXT、Markdown 和常见图片。它会在本机保存受管文件副本、提取文字、建立 ChromaDB 向量索引,并结合 BM25 与 RRF 做混合检索。DOCX 和 PPTX 当前提供的是文本预览,不是完整 Office 排版渲染;理解这个边界,才能正确验收导入质量。
项目 README 明确说明 LocalMind 仍是面向学习、个人研究和本地知识库实验的 MVP,不适合企业或高安全生产环境。仓库当前提交和发布流程都很早期,也没有可直接依赖的成熟正式发行版。
开发运行需要 Windows 10 或更高版本、Python 3.10、Node.js 和 npm。桌面端使用 Electron 与 React,本地后端使用 FastAPI;Windows 打包由 PyInstaller 和 Electron Builder 完成。
开发模式的数据位于后端目录下的 uploads、extracted_text、chunks、chroma_db 和 data 等文件夹;打包版则保存在当前 Windows 用户的 LocalMind 应用数据目录。
克隆仓库后,为后端创建独立虚拟环境并安装依赖:
cd backend
python -m venv .venv
..venvScriptsActivate.ps1
pip install -r requirements.txt
uvicorn app.main:app --reload --host 127.0.0.1 --port 8000
另开终端安装并启动前端:
cd frontend
npm.cmd install
npm.cmd run dev
首次安装依赖会执行外部下载。正式使用前应审查依赖、锁定版本,并确认本地后端仅回环地址。
可以建立多个知识库,一个文档也可以属于多个知识库;单次会话可选择一个或多个知识库作为检索范围。建议先按项目、权限或资料生命周期划分,不要把所有文件放进一个大库。
首次测试只导入四份小文件:
使用这些文件可以快速看清解析器保留了什么、丢失了什么,而无需先处理整个资料目录。
| 类型 | 当前预览 | 主要检查 |
|---|---|---|
| 基础 PDF 预览 | 页面、文本和来源页信息 | |
| DOCX | 提取后的文本 | 标题、段落、列表、表格顺序 |
| PPTX | 逐幻灯片文本 | 页序、文本框顺序、备注是否保留 |
| TXT | 纯文本 | 编码和换行 |
| Markdown | 文本预览 | 标题、代码块和链接文字 |
| 图片 | 原图和 OCR 文本 | 文字识别、语言和版面顺序 |
DOCX 与 PPTX 的“支持预览”不能理解为还原 Word 或 PowerPoint 的字体、形状、图表和版式。若答案依赖视觉布局,应回到 Office 原文件核查。
LocalMind 会把导入文件复制到自己的 uploads 目录。从应用打开文档时,打开的是这份受管副本,因此移动、重命名或删除外部原文件不会立即破坏知识库。
这也意味着删除原件不等于删除全部数据。清理敏感资料时,要同时处理受管副本、提取文本、分块、向量索引、聊天历史和备份。当前路线图才列出备份恢复功能,不能假设应用已有完整的数据生命周期工具。
PNG、JPG、JPEG、BMP 和 WEBP 会保留原图,并通过本地 OCR 提取文字。OCR 结果被纳入索引,回答引用可以显示图片来源。
验证 OCR 时使用不同字号、旋转角度和中英文混排样本,并检查:
LocalMind 使用 ChromaDB 做向量检索,同时运行 BM25 关键词检索,再通过 Reciprocal Rank Fusion 合并排名。精确编号、专有名词和原句更依赖关键词检索;同义表达和概念问题更受益于向量检索。
回答来源卡包含文件名、PDF 页或 PPTX 幻灯片、分块序号、分数与预览文字。相关度分数只说明检索匹配,不证明结论正确。必须打开来源并检查上下文、数字和例外条件。
若预览正确但检索失败,检查分块与索引;若检索片段正确但回答错误,检查提示词和模型;若预览已经缺失内容,应先修复解析,不要反复调模型。
设置中可以选择 DeepSeek API 或 Ollama 本地模型,并测试连接。DeepSeek 需要 API 密钥、服务地址和模型名;密钥只保存在本机配置中,但检索出的上下文会发送到云端服务。
需要本地生成时,可安装 Ollama,下载 qwen2.5、llama3.1 或其他适合设备的模型,在设置中选择 Ollama 并填写本机服务地址。模型文件由 Ollama 管理,无需复制进 LocalMind 项目目录。
只有解析、索引、检索和生成模型都在本机时,问答链路才可视为离线。选择 DeepSeek 后,不能再声称回答过程完全本地。
更稳健的预览、Excel、网页导入、备份恢复、流式回答和更好的来源跳转均属于路线图,不应写进当前能力清单。
Electron 配置采用关闭 nodeIntegration、启用 contextIsolation 和 sandbox 等基础隔离设置,但项目明确不是高安全产品。使用真实资料前还应检查:
| 环节 | 通过标准 |
|---|---|
| 导入 | 每类文件均有受管副本与提取结果 |
| 预览 | 关键文字、页序或幻灯片序可核对 |
| 检索 | 精确词和语义改写都能命中 |
| 引用 | 来源卡能定位文件与页或幻灯片 |
| 无答案 | 模型不在证据缺失时编造结论 |
| 隐私 | 明确选择本地 Ollama 或云端 DeepSeek |
| 清理 | 受管文件、索引和聊天均纳入删除流程 |
LocalMind 当前更适合作为可研究、可修改的个人实验工具。把导入、预览、检索和回答拆开验收,尊重 Office 文本预览与完整渲染的差异,并根据敏感度选择模型提供方,才能在 MVP 阶段得到可信的本地知识库体验。