使用说明
项目简介
Serena 是一个开源的编码助手,旨在直接在您的代码库上工作。它通过 Model Context Protocol (MCP) 服务器和 Agno 框架与大型语言模型 (LLM) 集成,无需 API 密钥或订阅即可使用,为开发者提供免费且强大的代码分析和编辑能力。
主要功能点
- 语义代码分析: 基于 Language Server Protocol (LSP) 的代码理解,实现精确的代码检索和编辑。
- 工具执行: 提供代码读取、代码编辑、Shell 命令执行等多种工具,支持 LLM 与代码库进行深度交互。
- MCP 服务器: 通过 Model Context Protocol 与支持 MCP 协议的 LLM 客户端(如 Claude Desktop)进行标准化通信。
- Agno 集成: 通过 Agno 框架,Serena 可以与各种 LLM 模型(包括开源模型和商业 API 模型)结合使用。
- Prompt 模板: 内置 Prompt 模板支持,允许 Serena 根据不同的任务和场景生成合适的指令。
安装步骤
- 安装 'uv': 按照 uv 安装指南 安装 'uv' 包管理器。
- 克隆仓库: 使用 git 命令克隆 Serena 仓库到本地:
请将 '/path/to/serena' 替换为您希望安装 Serena 的目录的绝对路径。git clone https://github.com/oraios/serena /path/to/serena - 创建项目配置文件: 复制仓库中的 'myproject.demo.yml' 文件,并重命名为 'myproject.yml',然后根据您的项目需求编辑 'myproject.yml' 文件,例如修改项目根目录路径等。
- 安装 Serena: 在 Serena 仓库根目录下,使用 'uv pip' 命令安装 Serena 及其依赖:
uv pip install -e .
服务器配置
要将 Serena 配置为 Claude Desktop 的 MCP 服务器,您需要编辑 Claude Desktop 的 MCP 服务器配置文件 'claude_desktop_config.json'。在 'mcpServers' 字段下添加 Serena 的配置信息。以下是一个配置示例,请根据您的实际安装路径进行修改:
{ "mcpServers": { "serena": { "command": "/abs/path/to/uv", // 【请替换为 uv 的绝对路径】 "args": [ "run", "--directory", "/abs/path/to/serena", // 【请替换为 serena 仓库的绝对路径】 "serena-mcp-server", "/abs/path/to/myproject.yml" // 【请替换为 myproject.yml 的绝对路径】 ] } } }
配置参数说明:
- 'command': 'uv' 包管理器的绝对路径。
- 'args': 启动 Serena MCP 服务器的参数列表。
- '"run"': 'uv run' 命令用于运行 Python 脚本。
- '"--directory"': 指定工作目录为 Serena 仓库根目录。
- '"/abs/path/to/serena"': Serena 仓库的绝对路径。
- '"serena-mcp-server"': 运行 'scripts/mcp_server.py' 脚本,启动 MCP 服务器。
- '"/abs/path/to/myproject.yml"': 您的项目配置文件的绝对路径。
请务必将上述配置示例中的 '/abs/path/to/uv'、'/abs/path/to/serena' 和 '/abs/path/to/myproject.yml' 替换为您的实际路径。
基本使用方法
- 配置 MCP 服务器: 按照上述 “服务器配置” 步骤配置 Serena MCP 服务器。
- 重启 Claude Desktop: 完整退出 Claude Desktop 应用程序并重新启动,确保配置生效。
- 开始对话: 在 Claude Desktop 中,您应该可以在聊天界面中看到 Serena 提供的工具(通常以小锤子图标表示)。
- 与 Claude 互动: 像正常聊天一样与 Claude 互动,Serena 会根据您的对话内容,利用其工具分析代码库、执行编辑操作或运行 Shell 命令来辅助 Claude 完成编码任务。
注意: 在 Claude Desktop 中执行工具时,通常会弹出权限请求,请仔细检查工具执行参数,确认安全后再允许执行。
信息
分类
开发者工具