Serena 的智能体优先的工具设计包含稳健的高级抽象,使其有别于依赖行号或原始搜索模式等低级概念的方法。
实际上,这意味着您的智能体运行更快、更高效且更可靠,尤其是在更大、更复杂的代码库中。
[!IMPORTANT] 不要通过 MCP 或插件市场安装 Serena!它们包含过时且非最优的安装命令。请改为遵循我们的快速入门说明。
:tv: 更长视频:Serena 5 分钟介绍(***)
虽然是人类下载和设置 Serena,但我们的最终用户本质上是 AI 智能体。作为实际使用 Serena 工具的主体,它们最有资格评估 Serena。
我们精心设计了一个无偏见的评估提示,引导智能体执行约 20 项日常编码任务(代表日常开发工作),以评估 Serena 工具与智能体自身内置功能配合使用时的附加价值。
以下是智能体反馈的一句话总结:
Claude Code 中的 Opus 4.6(高级)在大型 Python 代码库上:
"Serena 的 IDE 支持的语义工具是我工具集中最具影响力的补充——跨文件重命名、移动和引用查找原本需要 8–12 个仔细且易错的步骤,现在只需一个原子调用即可完成,我绝对会要求与我合作的任何开发人员都设置这些工具。"
Codex CLI 中的 GPT 5.4(高级)在 Java 代码库上:
"作为编码 AI 智能体,我会要求我的所有者添加 Serena,因为它为我提供了缺失的 IDE 级符号、引用和重构理解能力,将脆弱的文本修改转变为更从容、更快、更自信的代码变更,尤其是在语义至关重要的场景中。"
Copilot CLI 中的 GPT 5.4(中级)在大型多语言单体仓库上:
"作为编码智能体,我绝对会要求我的所有者添加 Serena,因为它让我在实际代码上明显更敏锐、更从容——尤其是符号感知导航、跨文件重构和单体仓库依赖跳转——同时我仍会依赖内置功能进行微小文本编辑和非代码工作。"
不同环境中的不同智能体独立得出了相同的结论。
为您的智能体提供它一直需要的工具,将 Serena MCP 添加到您的客户端中!
有关完整方法和更详细的评估结果,请参见我们的https://oraios.github.io/serena/04-evaluation/000_evaluation-intro.html%EF%BC%8C%E6%88%96%E5%9C%A8%E6%82%A8%E9%80%89%E6%8B%A9%E7%9A%84%E9%A1%B9%E7%9B%AE%E4%B8%8A%E8%BF%90%E8%A1%8C%E8%87%AA%E5%B7%B1%E7%9A%84%E8%AF%84%E4%BC%B0%E3%80%82
Serena 为编码工作流提供必要的https://oraios.github.io/serena/01-about/035_tools.html%EF%BC%8C%E4%BD%86%E9%9C%80%E8%A6%81 LLM 来完成实际工作,协调工具的使用。
Serena 可以通过模型上下文协议(MCP) 扩展您现有 AI 客户端的功能。大多数现代 AI 聊天客户端直接支持 MCP,包括
:tv: 另见:Serena 5 分钟介绍(***)
要将 Serena MCP 服务器连接到您的客户端,您可以
有关如何开始的信息,请参见下面的快速入门部分。
Serena 基于代码的符号理解提供一系列通用的代码查询和编辑功能。借助这些功能,您的智能体可以像经验丰富的开发人员使用 IDE 功能一样发现和编辑代码。Serena 即使在非常大型和复杂的项目中也能高效找到正确的上下文并执行正确的操作!
有两种替代技术为这些功能提供支持:
您可以根据自己的偏好和需求选择任一后端。
Serena 集成了一个强大的抽象层,用于集成实现语言服务器协议(LSP)的语言服务器。底层语言服务器通常是开源项目或至少可免费使用。
使用 Serena 的语言服务器后端时,我们支持超过 40 种编程语言,包括 Ada / SPARK、AL、Angular、Ansible、Bash、BSL、C#、C/C++、Clojure、Crystal、CUE、Dart、Elixir、Elm、Erlang、Fortran、F#、GDScript、GLSL、Go、Groovy、Haskell、Haxe、HLSL、HTML、Java、JavaScript、JSON、Julia、Kotlin、Lean 4、Lua、Luau、Markdown、MATLAB、mSL、Nix、OCaml、Perl、PHP、PowerShell、Python、R、Ruby、Rust、Scala、SCSS / Sass / CSS、Solidity、Svelte、Swift、TOML、TypeScript、WGSL、YAML 和 Zig。
付费的 Serena JetBrains 插件(提供免费试用)利用 JetBrains IDE 强大的代码分析能力。该插件自然支持 JetBrains IDE 支持的所有编程语言和框架,包括 IntelliJ IDEA、PyCharm、Android Studio、WebStorm、PhpStorm、RubyMine、GoLand,可能还包括其他 IDE(但 Rider 和 CLion 不支持)。
有关插件的更多详细信息和使用说明,请参见我们的https://oraios.github.io/serena/02-usage/025_jetbrains_plugin.html%E3%80%82
Serena 提供广泛的工具,用于高效的代码检索、编辑和重构,以及用于长期智能体工作流的内存系统。
鉴于其广泛的功能范围,Serena 通过提供多层配置系统来适应您的需求。
详细信息
Serena 的检索工具允许智能体在符号级别探索代码库,理解结构和关系,而无需阅读整个文件。
| 功能 | 语言服务器 | JetBrains 插件 |
|---|---|---|
| 查找符号 | 支持 | 支持 |
| 符号概览(文件大纲) | 支持 | 支持 |
| 查找引用符号 | 支持 | 支持 |
| 搜索项目依赖 | -- | 支持 |
| 类型层级 | -- | 支持 |
| 查找声明 | 支持* | 支持 |
| 查找实现 | 支持** | 支持 |
| 查询外部项目 | 支持 | 支持 |
| 诊断/检查 | 支持 | 支持 |
*: 通常不适用于外部依赖中的声明。 **: 仅部分语言可用,受语言服务器功能限制。
如果没有精确的重构工具,智能体将被迫使用不可靠且低效的搜索替换操作。
| 功能 | 语言服务器 | JetBrains 插件 |
|---|---|---|
| 重命名 | 支持(仅符号) | 支持(符号、文件、目录) |
| 移动(符号、文件、目录) | -- | 支持 |
| 内联 | -- | 支持 |
| 传播删除(移除未使用代码) | -- | 支持 |
Serena 的符号编辑工具比传统替代方案更不易出错,且令牌效率更高。
| 功能 | 语言服务器 | JetBrains 插件 |
|---|---|---|
| 替换符号体 | 支持 | 支持 |
| 在符号后插入 | 支持 | 支持 |
| 在符号前插入 | 支持 | 支持 |
| 安全删除 | 支持 | 支持 |
JetBrains 插件独有的功能,Serena 支持高度通用的调试工具,允许智能体通过持久的 REPL 风格界面设置断点、检查变量、计算表达式和控制执行流程。
除语义功能外,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 提供多个(可组合的)配置级别:
前提条件。Serena 由 uv 管理,安装 uv 是唯一必需的前提条件。
[!NOTE] 使用语言服务器后端时,可能需要安装额外依赖以支持特定语言;详情参见 https://oraios.github.io/serena/01-about/020_programming-languages.html 页面。
安装 Serena。通过 uv 安装 Serena 的命令如下:
uv tool install -p 3.13 serena-agent@latest --prerelease=allow
安装成功后,serena 命令应可在您的 shell 中使用。
初始化 Serena。要初始化 Serena 并验证设置是否正确,只需运行:
serena init
默认情况下,这会将 Serena 配置为使用语言服务器后端。若要改用 JetBrains 后端,添加参数 -b JetBrains(更多使用细节参见 https://oraios.github.io/serena/02-usage/025_jetbrains_plugin.html%EF%BC%89%E3%80%82%E6%97%A0%E8%AE%BA%E4%BD%BF%E7%94%A8%E5%93%AA%E7%A7%8D%E5%90%8E%E7%AB%AF%EF%BC%8C%E6%82%A8%E9%83%BD%E5%BA%94%E6%94%B6%E5%88%B0 Serena 初始化成功的提示消息。
配置客户端。要将 Serena 连接到您偏好的 MCP 客户端,通常需要 https://oraios.github.io/serena/02-usage/030_clients.html%E3%80%82%E8%AF%B7%E7%82%B9%E5%87%BB%E9%93%BE%E6%8E%A5%E8%8E%B7%E5%8F%96%E9%92%88%E5%AF%B9 Claude Code、Codex、Claude Desktop、支持 MCP 的 IDE 及其他客户端(如本地和基于 Web 的 GUI)的具体设置说明。
[!TIP] 虽然快速入门很简单,但 Serena 是一个功能强大的工具包,具有许多配置选项。我们强烈建议阅读 https://oraios.github.io/serena/02-usage/000_intro.html 以充分利用 Serena。
具体而言,建议阅读以下内容:
- https://oraios.github.io/serena/02-usage/040_workflow.html 和
- https://oraios.github.io/serena/02-usage/050_configuration.html%E3%80%82
有关如何有效使用 Serena 的详细说明,请参阅 https://oraios.github.io/serena/02-usage/000_intro.html%E3%80%82
Serena 的很大一部分,尤其是对多种语言的支持,由开源社区贡献。我们非常感谢众多贡献者,是他们让这一切成为可能,并在塑造 Serena 成为今天的样子方面发挥了重要作用。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务