莱克斯AI
从任何URL中抓取文档,并通过MCP服务器在Cursor或Claude Code中搜索。内容被抓取(使用JS渲染)、分块、嵌入OpenAI,并使用pgvector存储在PostgreSQL中。
先决条件
- Python 3.11+
- Docker&Docker编写
- OpenAI API密钥
设置
macOS/Linux(或Windows上的Git Bash/WSL):
./setup.shWindows(PowerShell):
.\setup.ps1任何平台(直接用Python运行):
python setup.py这将启动PostgreSQL,安装Python依赖项和Playwright浏览器(Crawl4AI),创建 .env 从 .env.example 如果需要,并运行MCP配置向导。编辑 .env 添加您的OpenAI API密钥(如果您刚刚创建的话)。
非交互式设置: 集 LEX_AI_MCP_CLIENT=cursor 或 LEX_AI_MCP_CLIENT=claude 跳过客户端提示。
用法
报废文件
选项A--CLI: 使用参数或交互方式运行scraper:
python -m src.scrape https://docs.example.com --max-pages 100
python -m src.scrape --dry-run https://docs.example.com
python -m src.scrape # prompts for URL选项B-MCP: 使用 scrape_docs 从Cursor或Claude Code中抓取和索引URL的工具;不需要CLI。
配置MCP客户端
python -m src.init --cursor # For Cursor (~/.cursor/mcp.json)
python -m src.init --claude # For Claude Code (.mcp.json)安装后,重新启动Cursor或Claude Code。集 OPENAI_API_KEY 和 DATABASE_URL 使用Claude Code时。
配置
通过环境变量覆盖默认值: LEX_AI_EMBEDDING_BATCH_SIZE, LEX_AI_CHUNK_TARGET_TOKENS, LEX_AI_DEFAULT_MAX_DEPTH, LEX_AI_DEFAULT_MAX_PAGES等等。看 src/config.py 对于所有选项。
MCP工具
| 工具 | 说明 |
|---|---|
list_sources | 列出索引文档源和块计数。搜索前使用以获取 source_url 价值观。 |
search_docs | 对索引文档进行语义搜索。Args: query,可选 source_url, limit (默认值5,最大值20)。 |
get_page | 按URL返回页面的完整内容(例如,从 search_docs 结果)。 |
scrape_docs | 抓取并索引文档URL。参数: url,可选 max_depth (默认值3), max_pages (默认值为50)。 |
health_check | 验证PostgreSQL和OpenAI的连接。刮擦前使用以确认设置。 |
测试
pip install pytest pytest-asyncio
pytest tests/ -v建筑
Scrape: URL → Crawl4AI (JS) → Markdown → Chunks (~500 tokens) → OpenAI embeddings → PostgreSQL + pgvector
Query: Cursor/Claude → MCP → embed query → similarity search → doc chunks