linuxrebel/DocuBrowser
A local AI powered Document search engine. That turns that pile of documents on your system into a manageable searchable info store.
DocuBrowse – 本地AI驱动的文档搜索
是什么
- 一个桌面/网页应用,可索引多种文件类型(PDF、Word、电子书、代码等),并使用本地运行的AI模型(Ollama)通过关键词和语义含义进行搜索。
- 所有处理均在您的设备上完成——无需云服务、无需API密钥,也无每查询成本。
核心功能
- 双模式搜索 – 快速的SQLite FTS5关键词搜索、AI生成的嵌入向量用于语义搜索,以及结合两者的混合模式。
- 深度链接 – 找到结果后,可直接跳转到文档中的精确位置(页面/行/节),无需重新索引。
- AI摘要 – 按需生成AI撰写的文档摘要(首次生成后缓存)。
- 广泛格式支持 – PDF、DOCX、PPTX、XLSX、ODT/ODS/ODP、Visio、draw.io、PlantUML、Mermaid、HTML/Markdown、电子书(EPUB、MOBI、AZW3)、DjVu、邮件、RTF、CSV/TSV、配置文件,以及多种标记语言。
- PII保护 – 扫描新索引文件中的常见个人信息模式,并移除匹配的文档。
- 跨平台 – 提供Linux(RPM/DEB/tar)、Windows(zip)和macOS(dmg)版本。存在Docker实验分支,但不推荐用于生产环境。
工作原理
- 索引 – 使用
pdfplumber、python-docx、openpyxl、ebooklib等库从支持的文件中提取文本和元数据,并存储在带有全文搜索表的SQLite数据库中。 - 嵌入 – 通过Ollama运行
nomic-embed-text:latest模型,为每个文档创建向量嵌入。 - 搜索 – 关键词查询命中FTS5索引;语义查询计算查询的嵌入,并与存储的向量进行余弦相似度查找。混合模式合并两种得分。
- 结果UI – 显示相关性得分、深度链接按钮和“AI摘要”按钮。点击结果将在系统默认查看器中打开文件。
典型工作流程
# 安装(Ubuntu示例)
sudo apt install python3-pip calibre libvisio-tools djvulibre
pip install -r requirements.txt # 包括pdfplumber、python-docx等
# 启动服务器(默认端口8000)
python -m docubrowse
# 在浏览器中打开 http://localhost:8000,添加要索引的目录并开始搜索。
限制与已知问题
- 至少需要8GB内存;GPU加速为可选,但可加快摘要生成速度。
- 不支持32位CPU,因为Ollama不提供32位构建版本。
- 某些旧格式(如旧版Visio的
.vsd或仅图像的PDF/DjVu)在未安装可选外部工具时,仅索引元数据。 - 实验性Docker构建无法从容器沙盒浏览器中打开文件。
路线图亮点
- 带桌面集成的完整Docker支持。
- 更快的增量索引和后台重新嵌入。
- 支持多语言摘要的额外语言模型。
许可证
- 开源,详情请参见仓库中的LICENSE文件。
DocuBrowse 是一款真正的本地运行AI应用,为个人文档集合带来语义搜索和AI生成摘要功能,精准定位在AI/LLM工具领域。
相关
- Dispatch
- 项目
- 项目
- 项目
- 项目