oraios/serena

A powerful MCP toolkit for coding, providing semantic retrieval and editing capabilities - the IDE for your agent

Serena – 为 AI 编码代理设计的 IDE 风格工具包

它是什么 – Serena 是一个服务器端的“工具箱”,为大型语言模型代理提供 IDE 级别的能力,例如符号感知的代码搜索、跨文件重构、安全编辑,以及(通过 JetBrains 插件)交互式调试。它不包含自己的 LLM;相反,它与任何支持 Model Context Protocol (MCP) 的客户端通信 – 例如 Claude Code、Codex CLI、VS Code AI 助手等。

为何重要 – 目前的代理通常操作原始文本,这使得大规模变更容易出错。Serena 将代理提升到符号级别,让它理解声明、引用、层次结构,并像人类开发者一样执行原子重构。README 报告指出,使用 Serena 的代理将典型任务的步骤数减少了 8-12 步,并感觉“更敏锐、更冷静”。


核心功能

类别 功能说明
检索 查找符号、获取符号大纲、定位引用、查询外部项目、诊断 – 全部在符号级别。
重构 仅符号重命名(LSP)、使用 JetBrains 插件进行完整重命名/移动/内联/删除。
符号编辑 替换符号主体、在符号前后插入、安全删除 – 无需正则表达式技巧。
调试 (仅 JetBrains) REPL 风格的断点设置、变量检查、表达式评估。
基本工具 正则表达式搜索、替换、目录/文件列表、文件读取、shell 命令执行。
记忆系统 简单的持久化存储,让代理能跨会话记住信息。
可配置 基于 YAML 的配置层(全局、每个项目、每个客户端、动态片段)。
后端 • 语言服务器模式 – 使用任何 LSP 服务器(涵盖超过 40 种语言)。
• JetBrains 插件 – 利用 JetBrains IDE 的完整分析引擎(付费,提供免费试用)。

运作方式

  1. 安装 serena-agent 工具,使用以 Python 为中心的包管理器 uv(uv tool install -p 3.13 serena-agent)。
  2. 运行 serena init 启动 MCP 服务器(默认 LSP 后端),或运行 serena init -b JetBrains 使用 JetBrains 插件。
  3. 配置你的 AI 客户端(Claude Code、Codex、VS Code AI 扩展等)以启动或指向 MCP 服务器。客户端接着发送工具使用请求给 Serena,Serena 执行语义操作并返回结果。
  4. 代理可以串联这些工具(例如,查找符号 → 重命名 → 提交)来完成复杂的开发工作流程。

谁应该使用

  • 正在构建代理式编码助手的开发者,需要可靠、符号感知的操作。
  • 评估基于 LLM 的代码生成管线的研究人员 – Serena 为实验提供了可重现的“IDE 层”。
  • 拥有大型 monorepo 的团队,其中跨文件重构和依赖导航很常见。

快速开始(来自 README)

# 1. 安装 uv(如果你还没有)
# 2. 安装 Serena
uv tool install -p 3.13 serena-agent

# 3. 初始化服务器(默认 LSP 后端)
serena init

# 4. 按照用户指南将你的 MCP 启用客户端指向服务器

使用 LSP 后端时可能需要额外的语言特定依赖。


文档与社区


许可

  • 核心 SolidLSP 组件 – MIT。
  • Serena 应用程序的其余部分 – GPL-3.0-or-later(合并发布时使用 GPL)。
  • 贡献需要签署 CLA。

总结 – Serena 是一个真正的开源项目,为 AI 编码代理提供 IDE 级别、符号级别的工具,使大规模自动化代码操作变得实用且可靠。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目