项目简介

Julie是一款用Rust构建的跨平台代码智能服务器,通过Model Context Protocol (MCP) 为LLM客户端提供丰富的上下文信息和功能。它能够分析多达25种编程语言的代码,提供快速符号搜索、代码导航、智能编辑和跨语言调用路径追踪等高级功能,旨在提升大型语言模型在代码理解和交互方面的能力。

主要功能点

  • 高速代码搜索: 支持文本和语义两种模式,查找符号、文件内容或代码片段,响应时间极快(文本模式<10ms,语义模式<100ms)。
  • 跨语言代码导航: 实现定义跳转、查找引用、跨语言调用路径追踪等功能,帮助理解复杂代码库的执行流和依赖关系。
  • 智能代码编辑与重构: 提供AST感知的语义重构(如符号重命名、函数体替换)、模糊匹配替换和精准行级编辑,确保代码修改的准确性和安全性。
  • 多工作区支持: 可以在多个相关代码库之间进行搜索和管理。
  • 高效上下文提取: 智能文件读取功能可以只提取特定符号的完整代码体,大大节省LLM上下文令牌。
  • 轻量级与高性能: 单一二进制文件部署,无外部依赖,内存占用低(<100MB),启动速度快(<2s),索引构建在后台进行。

安装步骤

  1. 确保您的系统已安装Rust编程环境(Rustup)。
  2. 从GitHub克隆Julie仓库:'git clone https://github.com/anortham/julie.git'
  3. 进入仓库目录:'cd julie'
  4. 构建发布版本:'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'

信息

分类

开发者工具