项目简介
BLZ是一个高性能的本地优先搜索工具,旨在通过索引'llms.txt'格式的文档,为AI编码助手提供即时、行级准确的文档检索。它能显著加速AI获取上下文信息的速度,支持离线使用,并可作为Model Context Protocol (MCP) 服务器深度集成到各种AI助手中。
主要功能点
- 极速文档搜索: 在本地索引的文档中实现毫秒级的搜索响应速度,提供精确的行级引用。
- 离线优先: 初次下载和索引文档后,可在无网络环境下继续使用。
- 智能更新: 通过HTTP缓存机制,仅在文档内容变更时进行更新,节省带宽和时间。
- MCP服务器集成: 通过标准的Model Context Protocol (MCP) 接口,将本地文档搜索和管理能力暴露给LLM客户端(AI助手),实现深度集成。
- 丰富MCP能力: 作为MCP服务器,它暴露了'find'(搜索和检索文档)、'list-sources'(发现已安装和注册的文档源)、'source-add'(添加新的文档源)等工具 (Tools),并支持通过'blz://sources/{alias}'格式的URI访问**资源 (Resources)以获取文档元数据,同时提供'discover-docs'等Prompt模板 (Prompts)**支持引导式工作流。
- 多语言过滤: 自动过滤非英文内容,以优化存储空间和搜索效率。
安装步骤 (适用于macOS/Linux)
通过单行命令即可快速安装BLZ:
curl -fsSL https://blz.run/install.sh | sh
安装完成后,'blz'命令会被添加到您的用户本地可执行路径(通常是'~/.local/bin')。
示例:添加文档源
运行以下命令来下载并索引Bun框架的文档:
blz add bun https://bun.sh/llms.txt
这将把Bun文档添加到您的本地BLZ索引中,以便您通过CLI或MCP服务器进行搜索。
服务器配置 (供MCP客户端使用)
要将BLZ作为MCP服务器集成到您的AI编码助手中,您需要配置您的MCP客户端以启动BLZ的MCP服务器模式。以下是一个示例配置,您的AI助手可能需要以JSON格式提供这些信息:
{ "server_name": "BLZ Document Search", "command": "blz", "args": ["mcp-server"], "description": "BLZ提供本地文档搜索、管理和上下文检索,通过MCP协议与AI助手深度集成。" }
配置信息说明:
- 'server_name': MCP服务器在您的MCP客户端界面中显示的名称,例如“BLZ文档搜索”。
- 'command': 用于启动BLZ MCP服务器的可执行文件路径。如果'blz'已在系统环境变量'PATH'中,可以直接指定为'"blz"'。
- 'args': 传递给'command'的命令行参数。'["mcp-server"]'是启动BLZ作为MCP服务器的关键参数。
- 'description': 对MCP服务器功能的简要描述,帮助用户了解其提供哪些能力。
基本使用方法 (在AI助手中)
MCP服务器启动并由您的AI助手成功连接后,您的AI助手将能够通过调用BLZ暴露的工具和访问其资源来检索和管理文档。具体交互方式取决于您的AI助手实现,但大致流程如下:
- 搜索文档: 当您在AI助手中提出类似“查找关于‘test runner’的Bun文档”这样的问题时,AI助手会调用BLZ的'find'工具来执行搜索,并获取相关的代码片段和文档引用。
- 获取特定行内容: 如果您需要Bun文档中特定范围(例如“bun:304-324”)的精确内容,AI助手可以调用'find'工具并指定'snippets'参数来检索这些文本,通常会附带上下文。
- 列出可用文档源: 您可以询问AI助手“列出我已索引的所有文档源”,AI助手会调用BLZ的'list-sources'工具,展示您在BLZ中配置的所有文档库。
- 添加新文档源: 如果您想让AI助手索引新的'llms.txt'文档,AI助手可以调用'source-add'工具,并提供URL来自动添加和索引该文档源。
信息
分类
开发者工具