项目简介
Julie是一款用Rust构建的跨平台代码智能服务器,通过Model Context Protocol (MCP) 为LLM客户端提供丰富的上下文信息和功能。它能够分析多达25种编程语言的代码,提供快速符号搜索、代码导航、智能编辑和跨语言调用路径追踪等高级功能,旨在提升大型语言模型在代码理解和交互方面的能力。
主要功能点
- 高速代码搜索: 支持文本和语义两种模式,查找符号、文件内容或代码片段,响应时间极快(文本模式<10ms,语义模式<100ms)。
- 跨语言代码导航: 实现定义跳转、查找引用、跨语言调用路径追踪等功能,帮助理解复杂代码库的执行流和依赖关系。
- 智能代码编辑与重构: 提供AST感知的语义重构(如符号重命名、函数体替换)、模糊匹配替换和精准行级编辑,确保代码修改的准确性和安全性。
- 多工作区支持: 可以在多个相关代码库之间进行搜索和管理。
- 高效上下文提取: 智能文件读取功能可以只提取特定符号的完整代码体,大大节省LLM上下文令牌。
- 轻量级与高性能: 单一二进制文件部署,无外部依赖,内存占用低(<100MB),启动速度快(<2s),索引构建在后台进行。
安装步骤
- 确保您的系统已安装Rust编程环境(Rustup)。
- 从GitHub克隆Julie仓库:'git clone https://github.com/anortham/julie.git'
- 进入仓库目录:'cd julie'
- 构建发布版本:'cargo build --release' 构建完成后,可执行文件通常位于 'target/release/julie-server' (macOS/Linux) 或 'target\release\julie-server.exe' (Windows)。
服务器配置
MCP客户端需要配置Julie服务器的启动命令。以下是标准的JSON配置结构,您需要将 'command' 字段替换为 'julie-server' 可执行文件的实际路径。
{ "mcpServers": { "julie": { "command": "/path/to/julie/target/release/julie-server", "args": [] } } }
- 'server name': 'julie',这是您的MCP客户端中识别此服务器的名称。
- 'command': '/path/to/julie/target/release/julie-server',请务必将其替换为您系统中 'julie-server' 可执行文件的完整路径。
- 'args': '[]',目前Julie服务器启动时无需额外命令行参数。
服务器首次运行时会自动索引您的工作区。文本搜索功能会立即启用,语义搜索索引会在后台构建。
基本使用方法
一旦Julie服务器配置并启动,您的MCP客户端就可以通过调用其提供的工具与服务器交互。例如:
- 索引工作区: 'manage_workspace operation="index"'
- 快速搜索: 'fast_search query="your_search_term" search_method="hybrid"'
- 跳转到定义: 'fast_goto symbol="YourSymbolName"'
- 查找引用: 'fast_refs symbol="YourSymbolName"'
- 获取文件符号概览: 'get_symbols file_path="src/main.rs" max_depth=1'
- 追踪调用路径: 'trace_call_path symbol="processData" direction="downstream" cross_language=true'
信息
分类
开发者工具