代码代理工具包

Serena是一个强大的代码代理工具包,能够将LLM转化为功能齐全的代理,直接在代码库上工作,提供语义代码检索和编辑工具,增强现有编码代理的能力。

  • by Raheem-19
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 raheem-19/serena

使用说明

  • 火箭:塞雷娜是一个强大的 编码代理工具包 能够将LLM变成一个功能齐全的代理 直接在你的代码库上. 与大多数其他工具不同,它不依赖于LLM、框架或接口,因此易于以各种方式使用。
  • :扳手:Serena提供必需品 语义代码检索和编辑工具 它们类似于IDE的功能,在符号级别提取代码实体并利用关系结构。当与现有的编码代理结合时,这些工具大大提高了(令牌)效率。
  • :免费:Serena是 免费&开源,增强您已经可以免费访问的LLM的功能。

你可以把Serena看作是为你的LLM/编码代理提供类似IDE的工具。有了它,代理不再需要读取整个 文件,执行类似grep的搜索或字符串替换,以查找和编辑正确的代码。相反,它可以使用以代码为中心的工具,如 find_symbol, find_referencing_symbols 和 insert_after_symbol.

Serena is under active development! See the latest updates, upcoming features, and lessons learned to stay up to date.

LLM集成

Serena提供了必要的 工具 但需要LLM来完成实际工作, 编排工具的使用。

例如, 提升Claude Code的性能 带着一个 一行shell命令.

一般来说,Serena可以通过多种方式与LLM相结合:

  • 通过使用 模型上下文协议. Serena提供了一个MCP服务器,该服务器与
    • 克劳德代码和克劳德桌面,
    • 基于终端的客户端,如Codex、Gemini CLI、Qwen3 Coder、rovodev、OpenHands CLI等,
    • 诸如VSCode、Cursor或IntelliJ的IDE,
    • 像Cline或Roo Code这样的扩展
    • 本地客户喜欢 OpenWeb用户界面, 一月, 阿格诺 等
  • 通过使用 mcpo将其连接到ChatGPT 或其他不支持MCP但支持通过OpenAPI调用工具的客户端。
  • 通过将Serena的工具整合到您选择的代理框架中,如图所示 这里. Serena的工具实现与特定于框架的代码解耦,因此可以很容易地适应任何代理框架。

安装

Serena可以根据您的需求和偏好以多种方式安装和使用。

快速开始

pip install serena-ai

开发安装

git clone https://github.com/Raheem-19/serena.git
cd serena
pip install -e .

特性

  • 语义代码分析:使用语言服务器协议(LSP)进行高级代码理解
  • 多语言支持:Python、TypeScript、JavaScript、Go、Rust、C/C++、Java等
  • MCP集成:用于无缝LLM集成的模型上下文协议服务器
  • 仪表板界面:用于监控和管理的基于Web的仪表板
  • 企业功能:先进的可扩展性、安全性和可观察性功能
  • 可扩展架构:用于自定义工具和集成的插件系统

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

贡献

我们欢迎捐款!请查看我们的 贡献指南 了解详情。

支持

如需支持,请查看我们的 文档 或者在GitHub上发布一个问题。