项目简介
Context Lens是一个强大的本地AI知识库服务器,它将您的文档、代码库、合同等任何文本内容转化为可语义搜索的知识库。通过与您的AI助手(如大型语言模型LLM)集成,Context Lens让AI能够深入理解内容含义,实现更智能、更精准的问题回答和信息检索。它完全本地运行,不依赖任何云服务或API密钥,确保数据隐私。
主要功能点
- 语义搜索: 您的AI可以根据概念和含义进行搜索,即使文档中没有出现确切的关键词也能找到相关信息。例如,询问“认证系统”可能会找到关于“登录”、“凭证”、“OAuth”的代码。
- 多种内容来源: 支持索引本地文件和文件夹、公共GitHub仓库、以及直接的URL文件,例如您的项目代码、开发文档或法律合同。
- 智能解析与分块: 针对不同文件类型(如Python、JavaScript、Markdown、YAML、Rust、JSON等)进行智能解析,将内容分割成有意义的、结构完整的代码单元或段落,避免代码在重要结构(如函数、类)中间被截断,从而提高搜索准确性。
- 内置向量存储: 使用LanceDB作为本地、无服务器的向量数据库,无需额外配置,所有数据以单个文件形式存储在本地,易于备份和管理。
- 100% 本地与隐私: 所有数据处理和AI模型运行都在您的机器上进行,不上传任何数据到外部服务,保障您的数据安全和隐私。
- AI工具集: 提供一系列AI可调用的工具,包括:
- 'add_document': 添加文件、文件夹或GitHub URL到知识库。
- 'search_documents': 对知识库中的所有内容进行语义搜索。
- 'list_documents': 浏览已索引的文档列表。
- 'get_document_info': 获取特定文档的元数据。
- 'remove_document': 从知识库中移除指定文档。
- 'clear_knowledge_base': 清空整个知识库。
安装步骤
Context Lens作为一个独立的Python包发布,可以通过'uvx'工具轻松运行。请确保您的系统已安装Python 3.11+ 和 'uvx' (一个轻量级Python包安装器和运行器)。
-
安装 'uvx' (如果尚未安装): 在您的终端中运行以下命令:
pip install uv -
验证 Context Lens 可用性: 安装 'uvx' 后,您不需要单独安装 'context-lens' 包。'uvx' 会在运行时自动下载并管理 'context-lens' 及其依赖。 尝试运行以下命令,如果能看到帮助信息,则表示成功:
uvx context-lens --help
MCP服务器配置
Context Lens作为MCP服务器,可以通过 'uvx context-lens' 命令启动。您的MCP客户端需要配置此命令才能连接并使用Context Lens提供的功能。
-
针对Kiro IDE: 在您的项目根目录下的 '.kiro/settings/mcp.json' 文件中添加以下配置:
{ "mcpServers": { "context-lens": { "command": "uvx", "args": ["context-lens"], "autoApprove": ["list_documents", "search_documents"] } } }上述配置指示Kiro IDE使用 'uvx context-lens' 命令启动Context Lens服务器。'autoApprove' 参数允许客户端在调用 'list_documents' 和 'search_documents' 这两个常用工具时自动批准,无需用户手动确认。
-
针对Cursor 或 其他MCP兼容客户端 (如Claude Desktop, Continue.dev): 在您的项目根目录下的 '.cursor/mcp.json' 文件(或相应MCP客户端的配置文件,通常是JSON格式)中添加以下配置:
{ "mcpServers": { "context-lens": { "command": "uvx", "args": ["context-lens"] } } }此配置与Kiro IDE类似,指示客户端使用 'uvx context-lens' 命令启动服务器。请根据您的MCP客户端的具体指示,在添加或修改配置后,重新加载服务器以使更改生效。
基本使用方法
配置完成后,您的AI助手将获得与Context Lens交互的能力。您可以通过自然语言向AI提问或发出指令,AI会通过调用Context Lens提供的工具来执行这些操作并返回结果。
以下是一些示例:
-
添加内容到知识库:
- “Add all Python files from ./src to the knowledge base” (将您本地 'src' 目录下的所有Python文件添加到知识库中。)
- “Add https://github.com/fastapi/fastapi to the knowledge base” (将FastAPI的GitHub仓库内容添加到知识库中。)
- “Add https://raw.githubusercontent.com/fastapi/fastapi/master/README.md” (将指定URL处的 'README.md' 文件添加到知识库中。)
-
语义搜索信息:
- “How does the authentication system work?” (询问“认证系统”是如何工作的,AI会根据含义检索相关代码和文档。)
- “Show me all the database models” (显示知识库中定义的所有数据库模型。)
- “Compare FastAPI's routing to Flask” (比较FastAPI与Flask框架在路由机制上的异同。)
-
管理知识库:
- “List all indexed documents” (列出所有已添加到知识库中的文档。)
- “Clear the knowledge base” (清空整个知识库中的所有内容。)
信息
分类
开发者工具