serena
Serena 是一款专为编程智能体(Coding Agent)打造的强大工具包,被誉为“智能体的集成开发环境(IDE)”。它通过模型上下文协议(MCP)与各类大语言模型及客户端无缝集成,旨在解决传统 AI 在复杂代码库中因依赖行号或简单文本搜索而导致的效率低下和准确性不足的问题。
与传统方法不同,Serena 采用“智能体优先”的设计理念,提供基于语义的代码检索、编辑和重构能力。它能像资深开发者使用 IDE 一样,深入理解代码的符号层级和关联结构,从而让智能体在大型项目中运行得更快、更稳、更可靠。无论是终端用户(如 Claude Code)、IDE 插件(VSCode、Cursor)还是桌面应用,都能轻松接入 Serena 以扩展功能。
Serena 特别适合需要处理大规模代码项目的开发者、研究人员以及希望提升 AI 编码能力的技术团队。其核心技术亮点在于灵活的后端支持:既默认集成了基于语言服务器协议(LSP)的开源方案,支持超过 40 种编程语言;也可选配强大的 JetBrains 插件,利用专业 IDE 的深度分析能力。这让 Serena 成为连接人工智能与复杂软件工程的高效桥梁。
使用场景
某后端团队正在维护一个包含数十万行代码的遗留微服务项目,急需将其中分散的旧式错误处理逻辑统一重构为新的标准异常机制。
没有 serena 时
- 开发者只能依赖关键词搜索或逐行阅读,难以精准定位跨文件的函数定义与所有调用点,极易遗漏隐蔽的引用。
- 在修改代码时,因缺乏符号级的语义理解,常需手动计算行号或反复确认上下文,导致操作缓慢且容易破坏原有结构。
- AI 助手因无法获取完整的代码关系图谱,经常产生“幻觉”,给出基于过时上下文或错误位置的修改建议,需要人工反复纠错。
- 面对复杂的继承链和接口实现,人工梳理耗时极长,重构工作往往陷入“改一处坏三处”的困境,测试成本高昂。
使用 serena 后
- serena 利用语义检索直接锁定目标符号及其所有关联引用,无论代码藏得多深,都能瞬间构建出完整的调用关系网。
- 借助符号级编辑能力,serena 能自动理解代码结构并执行安全重构,无需关心具体行号,大幅提升了修改的准确率与速度。
- 通过 MCP 协议,serena 为 AI 提供了精准的 IDE 级上下文,使生成的代码方案立即可用,彻底消除了因上下文缺失导致的无效输出。
- 即使在超大型项目中,serena 也能像资深工程师一样理清复杂依赖,让大规模逻辑迁移变得流畅可靠,显著降低了回归测试压力。
serena 将 AI 编码代理从“盲目猜测”升级为“语义感知”,让复杂代码库的重构工作变得高效且零风险。
运行环境要求
- 未说明
不需要 GPU
未说明

快速开始
Serena 是您编码代理的 IDE。
- Serena 提供关键的 语义代码检索、编辑和重构工具,这些工具的功能与 IDE 类似, 它们在符号级别上操作,并利用代码中的关系结构。
- Serena 可以通过模型上下文协议(MCP)与任何客户端或 LLM 集成。
Serena 的 以代理为中心的工具设计 包含强大的高层抽象,这使其区别于那些依赖行号或原始搜索模式等低层概念的方法。
实际上,这意味着您的代理在运行时会 更快、更高效且更可靠,尤其是在大型和复杂的代码库中。
Serena 的工作原理
Serena 为编码工作流提供了必要的 工具,但实际的工作仍需由 LLM 来完成,它负责协调工具的使用。
Serena 可以通过 模型上下文协议 (MCP) 扩展您现有 AI 客户端的功能。大多数现代 AI 聊天客户端都直接支持 MCP,包括:
- 基于终端的客户端,如 Claude Code、Codex、OpenCode 或 Gemini-CLI;
- VSCode、Cursor 和 JetBrains IDE 中的 IDE 及其助手插件;
- 桌面和 Web 客户端,如 Claude Desktop 或 OpenWebUI。
要将 Serena 的 MCP 服务器连接到您的客户端,您可以:
- 向客户端提供一个启动命令,使其能够自动启动 MCP 服务器;或者
- 您自己以 HTTP 模式启动 Serena 的 MCP 服务器,并将 URL 提供给客户端。
有关如何开始使用的详细信息,请参阅下方的 快速入门 部分。
编程语言支持与语义分析能力
Serena 基于对代码的符号级理解,提供了一套多功能的代码查询和编辑功能。借助这些能力,您的代理可以像经验丰富的开发者一样,利用 IDE 的功能来发现和编辑代码。即使在非常庞大和复杂的项目中,Serena 也能高效地找到合适的上下文并做出正确的决策!
实现这些功能有两种可选的技术:
- 语言服务器:实现语言服务器协议 (LSP) 的免费/开源方案,默认使用此方案。
- Serena JetBrains 插件:利用您 JetBrains IDE 强大的代码分析和编辑能力(付费插件;提供免费试用)。
您可以根据自己的偏好和需求选择其中一种后端。
语言服务器
Serena 内置了一个强大的抽象层,用于集成实现语言服务器协议 (LSP) 的语言服务器。这些底层语言服务器通常是开源项目,至少也是可以免费使用的。
使用 Serena 的语言服务器后端时,我们 支持超过 40 种编程语言,包括 AL、Ansible、Bash、C#、C/C++、Clojure、Dart、Elixir、Elm、Erlang、Fortran、F#、GLSL、Go、Groovy、Haskell、HLSL、Java、JavaScript、Julia、Kotlin、Lean 4、Lua、Luau、Markdown、MATLAB、Nix、OCaml、Perl、PHP、PowerShell、Python、R、Ruby、Rust、Scala、Solidity、Swift、TOML、TypeScript、WGSL、YAML 和 Zig。
Serena JetBrains 插件
付费的 Serena JetBrains 插件(提供免费试用)利用了您 JetBrains IDE 强大的代码分析能力。该插件自然支持所有 JetBrains IDE 支持的编程语言和框架,包括 IntelliJ IDEA、PyCharm、Android Studio、WebStorm、PhpStorm、RubyMine、GoLand 等(Rider 和 CLion 则不支持)。
更多详细信息及插件安装说明,请参阅我们的 文档页面。
功能
Serena 提供了广泛的工具,用于高效的代码检索、编辑和重构,同时还配备了一个用于长期运行代理工作流的记忆系统。
由于其功能范围广泛,Serena 采用多层配置系统,以适应您的需求。
详情
检索
Serena 的检索工具使代理能够在符号级别上探索代码库,理解代码的结构和关系,而无需读取整个文件。
| 功能 | 语言服务器 | JetBrains 插件 |
|---|---|---|
| 查找符号 | 是 | 是 |
| 符号概览(文件大纲) | 是 | 是 |
| 查找引用符号 | 是 | 是 |
| 在项目依赖项中搜索 | -- | 是 |
| 类型层次结构 | -- | 是 |
| 查找声明 | -- | 是 |
| 查找实现 | -- | 是 |
| 查询外部项目 | 是 | 是 |
重构
如果没有精确的重构工具,代理将不得不依赖不可靠且效率低下的查找和替换操作。
| 功能 | 语言服务器 | JetBrains 插件 |
|---|---|---|
| 重命名 | 是(仅限符号) | 是(符号、文件、目录) |
| 移动(符号、文件、目录) | -- | 是 |
| 内联 | -- | 是 |
| 传播删除(移除未使用的代码) | -- | 是 |
符号级编辑
Serena 的符号级编辑工具比常见的替代方案更不易出错,且在 token 使用效率上也更高。
| 功能 | 语言服务器 | JetBrains 插件 |
|---|---|---|
| 替换符号主体 | 是 | 是 |
| 在符号后插入 | 是 | 是 |
| 在符号前插入 | 是 | 是 |
| 安全删除 | 是 | 是 |
基本功能
除了语义能力之外,Serena还包含一组基础工具以确保功能完整性。 当Serena被用在类似Claude Code或Codex这样的智能体框架中时,这些工具通常会默认禁用, 因为周围的框架已经提供了重叠的文件、搜索和Shell功能。
search_for_pattern– 在代码库中进行灵活的正则表达式搜索replace_content– 针对代理优化的基于正则表达式和字面文本的替换list_dir/find_file– 目录列表和文件搜索read_file– 读取文件或文件片段execute_shell_command– 执行Shell命令(例如构建、测试、代码检查工具)
内存管理
内存系统对于长期运行的智能体工作流至关重要,尤其是在需要跨会话、用户和项目共享知识的情况下。
尽管实现简单,我们仍收到了许多用户的积极反馈,他们倾向于将Serena的内存管理系统与其智能体内部系统(如AGENTS.md文件)结合使用。
如果你更喜欢使用其他方案,也可以轻松禁用此功能。
可配置性
Serena的活跃工具、工具描述、提示、语言后端细节以及许多其他方面, 都可以通过简单地调整几行YAML配置来实现按需灵活配置。 为此,Serena提供了多层级的(可组合)配置:
- 全局配置
- MCP启动命令(CLI)配置
- 每个项目配置(支持本地覆盖)
- 执行上下文特定配置(例如针对特定客户)
- 动态可组合的配置片段(模式)
Serena实战
演示
演示1:在Claude Code中的高效操作
展示Serena如何在Claude Code中高效地检索和编辑代码,从而节省Token并提高效率。高效的操作不仅有助于降低成本,还能整体提升生成代码的质量。这种效果在小型项目中可能不那么明显,但在大型项目中往往变得至关重要。
https://github.com/user-attachments/assets/ab78ebe0-f77d-43cc-879a-cc399efefd87
演示2:Serena在Claude Desktop中的应用
展示Serena如何利用Claude Desktop为自己实现一个小功能(更好的日志GUI)。 请注意,Serena的工具使Claude能够找到并编辑正确的符号。
https://github.com/user-attachments/assets/6eaa9aa1-610d-4723-a2d6-bf1e487ba753
快速入门
先决条件。Serena由uv管理。如果你尚未安装,请先安装uv再继续。
[!注意] 使用语言服务器后端时,某些语言需要额外安装依赖;详情请参阅语言支持页面。
启动MCP服务器。启动Serena MCP服务器最简单的方式是使用uvx从GitHub拉取最新版本并运行:
uvx -p 3.13 --from git+https://github.com/oraios/serena serena start-mcp-server
如果你是首次启动Serena,必要的配置文件将会被创建,并且你应该能看到Serena仪表盘出现。你可以通过按下Ctrl+C(必要时可多次按下)来终止服务器。
配置客户端。要将Serena连接到你偏好的MCP客户端,通常需要在你的客户端中配置启动命令。 请参考链接,获取关于如何为Claude Code、Codex、Claude Desktop、支持MCP的IDE以及其他客户端(如本地和基于Web的GUI)设置Serena的具体说明。
切换至JetBrains后端。Serena默认的代码智能后端是免费的LSP后端。 若要使用功能更强大的JetBrains后端,请按照JetBrains插件页面上的说明操作。
[!提示] 虽然快速上手很容易,但Serena是一个功能强大的工具集,拥有丰富的配置选项。 我们强烈建议阅读用户指南,以便充分利用Serena。
特别推荐阅读:
用户指南
请参阅用户指南,以获取有关如何有效使用Serena的详细说明。
致谢
Serena的重要部分,尤其是对多种语言的支持,主要由开源社区贡献而成。 我们非常感谢众多贡献者,正是他们的努力使这一切成为可能,并让Serena发展成今天的样子。
版本历史
v1.0.02026/04/03v0.1.42025/08/15v0.1.32025/07/212025-05-192025/05/19常见问题
相似工具推荐
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。
