Serena
Serena 是一个 MIT 协议的开源 MCP 工具箱,让编码智能体获得对代码库的 IDE 级理解。智能体不再逐行读取整个文件,而是通过符号级工具完成语义检索、编辑、重构与调试。项目自称“编码智能体的 IDE”,可接入 Claude Code、Codex、Cursor、Copilot CLI 以及支持 MCP 的 IDE 等任意 MCP 客户端。
核心功能
- 符号级语义检索:智能体通过语言服务器解析符号、引用与定义,而不是做原始文本搜索。
- 原子化重构:跨文件重命名、移动与引用更新一次完成,避免脆弱的多次文本编辑。
- 语言服务器后端:借助语言服务器准确理解多种编程语言。
- JetBrains 后端:可选的 JetBrains 插件模式,适配 JetBrains IDE 工作流。
- 灵活配置:支持全局、项目级、客户端级以及可动态组合的配置片段。
- 客户端无关:基于 Model Context Protocol,任何兼容客户端都能复用同一套工具。
适用场景
- 大型代码库:整文件读取消耗过多 token、智能体难以掌握跨文件关系的团队。
- Monorepo 开发:需要在多个包之间跳转依赖、查询引用并安全重构的开发者。
- 重度智能体工作流:运行 Claude Code、Codex 或 Copilot CLI,希望在陌生代码上获得更可靠编辑的用户。
- 成本优化:用符号级检索替代整文件上下文,降低输入 token 消耗的组织。
定价方案
Serena 在 MIT 协议下免费开源。唯一的外部成本是本地依赖,主要是 uv 以及每种语言可选的语言服务器。
快速开始
- 安装唯一必装依赖
uv。 - 运行
uv tool install -p 3.13 serena-agent。 - 运行
serena init并确认成功提示。 - 按官方客户端配置指南,为你的 MCP 客户端配置启动命令。
常见问题
支持哪些客户端?
任意支持 MCP 的客户端,官方为 Claude Code、Codex、Claude Desktop、MCP IDE 以及本地/Web GUI 提供配置指南。
主要限制是什么?
语言服务器后端需要为每种语言准备可用的语言服务器,配置成本真实存在;在小型仓库上,其开销可能超过收益。
运行成本高吗?
工具在本地运行,大型代码库上符号级检索可显著降低 token 消耗,但实际节省取决于仓库规模与客户端配置。
替代方案
使用技巧
- 先在大仓库上验证:整文件读取成本高时,收益最明显。
- 使用官方安装方式:项目警告市场渠道会提供过期安装命令。
- 阅读工作流指南:基于项目的工作流设置会显著影响智能体的编辑方式。
总结
Serena 把编码智能体的脆弱文本手术升级为符号感知的 IDE 级操作,MCP 设计让一套配置即可用于 Claude Code、Codex 等客户端。在大型或多语言代码库上工作的团队值得一试,同时要接受语言服务器配置的额外成本。
评论
还没有评论。成为第一个评论的人!
相关工具
T3 Code
t3.codes
开源智能体 Harness 控制面板:通过桌面、Web 与移动应用统一控制 Claude Code、Codex、Cursor、Grok Build 与 OpenCode。
CC Switch
ccswitch.io
CC Switch 是一款免费开源的 Rust/Tauri 桌面应用,在一个界面中统一管理 Claude Code、Codex、Gemini CLI 等 AI 编程工具的供应商、MCP 服务器与 Skills。
Goose
block.github.io/goose
Goose 是 Block 开源的可扩展 AI 智能体,可使用任意 LLM 安装、执行、编辑和测试,提供桌面应用、CLI 和 API,支持 1,700+ MCP 扩展。
相关洞察
7 款 AI 编程 CLI 用了半年,我悟出一个道理:模型再强,干活也要有监督
Claude Code、Codex、opencode、pi、omp、DeepSeek Harness 各有性格。半年深度使用后我总结出一套分工矩阵:pi 做最省事的 CR、omp 审复杂 PR、DeepSeek Harness 配 V4 Flash 高频低成本审查、Claude Code 与 Qoder 写代码。模型再强,干活也要有监督,而且最好是独立第三方。
Claudesidian:让 Obsidian 变成 AI 驱动的第二大脑
通过 Claudesidian 这个开源项目,将 Obsidian 笔记系统与 Claude Code 完美结合。内置 PARA 方法、自定义命令、自动化工作流,从想法到实现的完整解决方案。
别再把 AI 助手塞进聊天框了:Clawdbot 选错了战场
Clawdbot 很方便,但将它放在 Slack 或 Discord 里操控,是从一开始就错的设计选择。聊天工具不是用来操作任务的,AI 也不是用来聊天的。