modelscope·@oraios/serena
一个功能齐全的编码代理,它使用符号操作(由语言服务器启用),即使在大型代码库中也能很好地工作。本质上是 Cursor 和 Windsurf Agents、Cline、Roo Code 等的免费替代品。
这里是一个使用 Claude Desktop 的 Serena 实现一个小功能(更好的日志 GUI)的演示。请注意 Serena 的工具如何使 Claude 能够找到并编辑正确的符号。
https://github.com/user-attachments/assets/6eaa9aa1-610d-4723-a2d6-bf1e487ba753
Serena 为编码工作流程提供了必要的 工具,但需要 LLM 来实际执行任务,并协调工具的使用。
Serena 可以通过以下几种方式与 LLM 集成:
Serena 的语义代码分析能力基于广泛实现的 语言服务器 和语言服务器协议 (LSP)。LSP 提供了一组基于对代码的符号理解的多功能代码查询和编辑功能。 配备了这些功能后,Serena 发现和编辑代码就像一位经验丰富的开发人员利用 IDE 的能力一样。 即使在非常大且复杂的项目中,Serena 也能高效地找到正确的上下文并做出正确的操作!因此,它不仅免费且开源,还经常比现有的收费解决方案取得更好的结果。
语言服务器支持广泛的编程语言。借助 Serena,我们提供
直接开箱即用的支持:
间接支持(可能需要一些代码更改/手动安装):
这些语言由语言服务器库 multilspy 支持,Serena 在幕后使用该库。但我们没有明确测试这些语言的支持是否实际有效。
原则上,通过为新的语言服务器实现提供一个浅层适配器,可以轻松支持更多语言。
你可以使用 Serena 完成任何编码任务——无论是专注于分析、规划、设计新组件还是重构现有组件。 由于 Serena 的工具允许大语言模型(LLM)闭合认知感知-行动循环,基于 Serena 的代理可以从头到尾自主地执行编码任务——从最初的分析到实现、测试,最后到版本控制系统提交。
Serena 可以读取、编写和执行代码,阅读日志和终端输出。 虽然我们不一定鼓励这样做,“随性编程”当然是可能的,如果你想几乎感觉“代码不再存在”, 你可能会发现 Serena 比 IDE 内部的代理更适合随性编程(因为你将有一个独立的图形用户界面,真的可以让你忘记这一切)。
即使是 Anthropic 的 Claude 的免费层级也支持 MCP 服务器,因此你可以免费使用 Claude 与 Serena。
预计一旦添加了对 MCP 服务器的支持,很快也可以通过 ChatGPT Desktop 实现相同功能。
通过 Agno,你还有选项可以使用一个免费/开放权重模型来使用 Serena。
Serena 是 Oraios AI 对开发者社区的贡献。
我们自己也经常使用它。
我们厌倦了不得不支付多个基于 IDE 的订阅费用(如 Windsurf 或 Cursor),这些费用迫使我们在已经存在的聊天订阅成本之外还要购买更多的令牌。 像 Claude Code、Cline、Aider 等基于 API 的工具所产生的高额 API 费用同样不吸引人。 因此,我们构建了 Serena,希望能够取消大部分其他订阅。
Serena 可以以多种方式使用,下面是一些选定集成的说明。
uv(安装说明在这里)/path/to/serena。serena_config.template.yml 复制为 serena_config.yml 并调整设置。myproject.template.yml 复制为 myproject.yml 并根据你的项目调整特定设置。
(对于每个希望 Serena 工作的项目,都添加这样一个文件。)serena_config.yml 中的 projects 列表里添加上一步创建的所有项目文件列表。⚠️ 注意: Serena 正在积极开发中。我们持续添加功能、改进稳定性和用户体验。 因此,配置可能会以破坏性的方式更改。如果你的配置无效, MCP 服务器或基于 Serena 的代理可能无法启动(在这种情况下,请检查 MCP 日志)。 在更新 Serena 时,请查看 变更日志 并根据需要调整你的配置。
完成初始设置后,根据你想要如何使用 Serena,继续以下部分之一。
为你的项目创建一个配置文件,例如 myproject.yml,基于 myproject.template.yml 模板。
在客户端中配置 MCP 服务器。
对于 Claude 桌面版(适用于 Windows 和 macOS),请转到 文件 / 设置 / 开发者 / MCP 服务器 / 编辑配置,
这将允许你打开 JSON 文件 claude_desktop_config.json。添加以下内容(并调整路径)以启用 Serena:
{
"mcpServers": {
"serena": {
"command": "/abs/path/to/uv",
"args": ["run", "--directory", "/abs/path/to/serena", "serena-mcp-server", "--project-file", "/abs/path/to/myproject.yml"]
}
}
}
:info: 如果你在配置中设置了 enable_project_activation,则传递项目文件是可选的,
因为这样你可以简单地指示 Claude 激活你想要工作的项目。
如果你在 Windows 上使用包含反斜杠的路径
(请注意,你也可以只使用正斜杠),请确保正确转义它们(\\)。
就这样!保存配置,然后重新启动 Claude 桌面版。
注意:在 Windows 和 macOS 上有 Anthropic 提供的官方 Claude 桌面应用程序,对于 Linux 有一个 开源社区版本。
⚠️ 确保完全退出 Claude 桌面应用程序,因为关闭 Claude 只会将其最小化到系统托盘——至少在 Windows 上是这样。
重新启动后,你应该会在聊天界面中看到 Serena 的工具(注意小锤子图标)。
⚠️ 工具名称:Claude 桌面版(以及大多数 MCP 客户端)不会解析服务器的名称。因此你不应该说“使用 Serena 的工具”之类的话。相反,你可以指示 LLM 使用符号工具或通过引用其名称来使用特定工具。此外,如果你使用多个 MCP 服务器,可能会出现工具名称冲突,导致未定义的行为。例如,由于工具名称冲突,Serena 目前与 文件系统 MCP 服务器 不兼容。
ℹ️ 请注…
一个为大型语言模型(LLM)设计的、高可用的12306余票查询工具服务,现已搭载智能会话管理引擎。 12306-MCP-Server 将复杂的12306余票查询接口封装为符合 Model Context Protocol (MCP) 规范的工具集,允许AI Agent通过自然语言无缝查询实时火车票、中转换乘和经停站信息。 从 v1.0.0 版本开始,项目引入了全新的智能会话管理系统,通过会话池、动态User-Agent轮换和自动错误恢复机制,将服务的稳定性与反屏蔽能力提升至全新高度。
阿里云可观测 MCP服务,提供了一系列访问阿里云可观测各产品的工具能力,覆盖产品包含阿里云日志服务SLS、阿里云应用实时监控服务ARMS、阿里云云监控等,任意支持 MCP 协议的智能体助手都可快速接入。
自动从文本中识别并提取法律条文,例如在合同、案件描述或法律文书中,精准定位涉及的具体法律条文(如“《民法典》第585条”),并将文本中的法律问题与对应法条内容关联,提取法规名称的服务。
用于哔哩哔哩API的MCP服务器,支持视频搜索、用户内容获取等多种操作,适用于哔哩哔哩内容管理和数据分析场景。
看起来您想要翻译一份英文技术文档,但您提供的内容中只有"asd"这个字符串,并没有实际的文档内容。请提供需要翻译的具体英文技术文档文本,这样我才能帮助您进行准确的翻译。如果有特定部分或格式要求,请一并告知。
一座通过串行通信将物理硬件设备与人工智能大语言模型连接起来的桥梁,允许用户使用自然语言命令控制硬件。