# FindWise **Repository Path**: ywhhs/find-wise ## Basic Information - **Project Name**: FindWise - **Description**: 让用户用自然语言搜索电脑里的 PDF、Word、Markdown、Excel 和代码,并能定位原文、比较文档、提取待办事项。 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-24 - **Last Updated**: 2026-11-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FindWise 本地文件混合检索桌面应用(Windows 11):关键词(SQLite FTS5)+ 向量(sentence-transformers + FAISS) 双路召回、RRF 融合排序、可插拔 LLM 问答。架构详见 [ARCHITECTURE.md](ARCHITECTURE.md)。 所有内容(代码、虚拟环境、运行数据、测试临时文件)都留在 `D:\XIAOLAJI\FindWise`,不写 C 盘。 ## 快速开始 ```bash # 1) 虚拟环境 + 基础依赖(关键词检索全功能) python -m venv D:/XIAOLAJI/FindWise/.venv D:/XIAOLAJI/FindWise/.venv/Scripts/python.exe -m pip install -r D:/XIAOLAJI/FindWise/requirements.txt pytest pytest-qt # 2) 依赖兼容性验证(含 SQLite FTS5 检查) D:/XIAOLAJI/FindWise/.venv/Scripts/python.exe D:/XIAOLAJI/FindWise/scripts/verify_env.py # 3)(可选)向量检索依赖 + 验证;faiss 装不上会自动回退 NumPy 检索 D:/XIAOLAJI/FindWise/.venv/Scripts/python.exe -m pip install -r D:/XIAOLAJI/FindWise/requirements-ai.txt D:/XIAOLAJI/FindWise/.venv/Scripts/python.exe D:/XIAOLAJI/FindWise/scripts/verify_env.py --ai # 4) 测试 + 启动 D:/XIAOLAJI/FindWise/.venv/Scripts/python.exe -m pytest D:/XIAOLAJI/FindWise/tests -q --rootdir=D:/XIAOLAJI/FindWise D:/XIAOLAJI/FindWise/.venv/Scripts/python.exe -m findwise ``` > 嵌入模型运行环境已内置:程序默认走 hf-mirror 镜像、模型缓存在 `data/models/`(D 盘)、 > 缓存命中时**完全离线加载**(已实测 14 秒加载、零联网),无需手动设置任何环境变量。 > 首次使用向量检索且本地无缓存时会经镜像自动下载(约 100-500MB,一次性)。 ## 使用 1. 点「添加文件夹」选择要索引的目录(支持 .pdf/.docx/.xlsx/.txt/.md); 2. 自动增量索引(只处理新增/修改的文件),进度见状态栏; 3. 输入关键词即时搜索;点结果行查看文本片段; 4. 输入问题点「AI 问答」,默认 Dummy 适配器离线跑通链路—— 接真实模型:编辑 `data/settings.json`,把 `llm.provider` 改为 `openai_compat`, 配置 `base_url`(如 Ollama `http://127.0.0.1:11434/v1`)与 `model`。 ## 目录说明 - 运行数据在 `data/`(数据库、向量、日志、settings.json),删除即恢复出厂; - `scripts/verify_env.py`:依赖与 FTS5/faiss 兼容性自检; - `scripts/smoke_ui.py`:无头 UI 冒烟(`QT_QPA_PLATFORM=offscreen`); - pip 缓存建议也留在 D 盘:`set PIP_CACHE_DIR=D:\XIAOLAJI\.pipcache`。 ## 验证记录(2026-10-24,本机 Windows 11 + Python 3.13.2) - `verify_env.py`:9/9 必选项通过(PySide6 6.12.0、PyMuPDF 2.0、python-docx 1.2.0、 openpyxl 3.1.5、jieba 0.42.1、requests 2.34.2、numpy 2.5.4、SQLite 3.45.3 含 FTS5); - **faiss-cpu 1.15.1 在 Windows + Python 3.13 有官方轮子,直接 pip 安装成功**,冒烟通过; - `pytest`:40 个用例全部通过(解析/分词/FTS/向量库/RRF/Worker/端到端链路); - 无头 UI 冒烟通过;真实 PDF/DOCX/GBK-TXT 端到端索引与中英文检索、RAG 链路验证通过; - 尚未安装:sentence-transformers/torch(可选,见上)与 PyInstaller(第 4 周打包时安装)。