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实验分支,但不推荐用于生产环境。

工作原理

  1. 索引 – 使用pdfplumber、python-docx、openpyxl、ebooklib等库从支持的文件中提取文本和元数据,并存储在带有全文搜索表的SQLite数据库中。
  2. 嵌入 – 通过Ollama运行nomic-embed-text:latest模型,为每个文档创建向量嵌入。
  3. 搜索 – 关键词查询命中FTS5索引;语义查询计算查询的嵌入,并与存储的向量进行余弦相似度查找。混合模式合并两种得分。
  4. 结果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
  • 项目
  • 项目
  • 项目
  • 项目