PDF语义搜索扩展

Zed的文档搜索扩展,允许用户通过语义搜索PDF文档并在Zed的AI助手中使用搜索结果。

  • by freespirit
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 freespirit/pdfsearch-zed

使用说明

Zed的PDF搜索

Zed的文档搜索扩展,允许您在语义上搜索 PDF文档,并在Zed的AI助手中使用结果。

先决条件

此扩展目前需要:

  1. 一 OpenAI API密钥(用于生成嵌入)
  2. uv 安装在您的系统上

注: 虽然当前的设置需要一个OpenAI API密钥来生成嵌入,但我们计划在未来的版本中实现一个自包含的替代方案。社区反馈将有助于优先考虑这些改进。

快速开始

  1. 克隆存储库
git clone https://github.com/freespirit/pdfsearch-zed.git
  1. 为MCP服务器设置Python环境:
cd pdfsearch-zed/pdf_rag
uv venv
uv sync
  1. 安装开发扩展 在 Zed

  2. 构建搜索数据库

cd /path/to/pdfsearch-zed/pdf_rag

echo "OPENAI_API_KEY=sk-..." > src/pdf_rag/.env

# This may take a couple of minutes, depending on the documents' size
# You can provide multiple files and directories as arguments.
#  - files would be chunked.
#  - a directory would be considered as if its files contains chunks.
#    E.g. they won't be further split.
uv run src/pdf_rag/rag.py build "file1.pdf" "dir1" "file2.md" ...
  1. 配置Zed
"context_servers": {
    "pdfsearch-context-server": {
        "settings": {
            "extension_path": "/path/to/pdfsearch-zed"
        }
    }
}

用法

  1. 打开Zed的AI助手面板
  2. 类型 /pdfsearch 然后是您的搜索查询
  3. 扩展程序将搜索PDF并将相关部分添加到AI中 助理的背景

未来改进

  • [x] 自包含矢量存储
  • []自包含嵌入
  • []首次运行时自动构建索引
  • []可配置的结果大小
  • [x] 支持多个PDF
  • [x] 可选:PDF以外的其他文件格式

项目结构

  • pdf_rag/:基于Python的MCP服务器实现
  • src/:Zed扩展代码
  • extension.toml 和 Cargo.toml:Zed扩展配置文件

已知限制

  • 首次使用前需要手动建立索引
  • 需要外部服务(OpenAI)